Kaip išsaugoti pristatymus .NET

Kaip išsaugoti pristatymus .NET

Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx formatas naudojant prs.Save(path, SaveFormat.Pptx). Ši vadovas apima teisingą išsaugojimo modelį, išsaugojimą į kitą kelią, išsaugojimą į srautą ir dažnas su išsaugojimu susijusias klaidas.

Žingsnis po žingsnio vadovas

Žingsnis 1: Įdiekite paketą

dotnet add package Aspose.Slides.Foss

Žingsnis 2: Atidaryti arba sukurti pristatymą

Visada naudokite using teiginį. Išsaugojimo kvietimas turi įvykti prieš objektas išlaisvinamas.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

// Create new
using var prs = new Presentation();
prs.Save("new.pptx", SaveFormat.Pptx);
// Open existing
using var prs = new Presentation("input.pptx");
prs.Save("output.pptx", SaveFormat.Pptx);

Žingsnis 3: Išsaugoti po visų modifikacijų

Įdėkite Save() kvietimą po to, kai visi pakeitimai baigti, prieš using apimties pabaigą.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 100);
shape.AddTextFrame("Hello, World!");
prs.Save("output.pptx", SaveFormat.Pptx);

Žingsnis 4: Išsaugoti į kitą kelią

Pateikite kitą išvesties kelią, kad sukurtumėte naują failą nekeičiant originalo:

using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);

Šis template.pptx failas nėra modifikuojamas; customized.pptx yra sukurtas (arba perrašytas, jei jau egzistuoja).


Žingsnis 5: Išsaugoti į srautą

Šis Presentation.Save metodas taip pat priima Stream:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
using var stream = new MemoryStream();
prs.Save(stream, SaveFormat.Pptx);
byte[] pptxBytes = stream.ToArray();
Console.WriteLine($"Size: {pptxBytes.Length} bytes");

Žingsnis 6: Patikrinkite išvestį

Išsaugojus į failą, patikrinkite, ar jis egzistuoja:

var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");

Palaikomas išsaugojimo formatas

FormatasEnum reikšmėPalaikoma
PPTX (Office Open XML)SaveFormat.PptxTaip
PDFN/ANe
HTMLN/ANe
SVGN/ANe
PNG / JPEGN/ANe
ODP (OpenDocument)N/ANe

Palaikomas tik PPTX. Formato parametras šiuo metu ignoruojamas; visi pristatymai išsaugomi kaip PPTX, nepaisant nurodyto SaveFormat.


Dažnos problemos ir sprendimai

IOException: The process cannot access the file

Išvesties failas atvertas kitoje programoje (pvz., PowerPoint turi atvertą failą). Prieš išsaugojant uždarykite failą kitose programose.

Failas sukurtas, bet atrodo tuščias arba sugadintas

Užtikrinkite prs.Save() kviečiamas prieš objektas išvalomas. Po Dispose() veikia, vėlesni kvietimai nepavyks arba sukels sugadintą išvestį.

Netikėtas išvesties formatas išsaugant

Perduodant bet ką SaveFormat kita vertė, nei SaveFormat.Pptx nesugeneruoja išimties — formatas parametras tyliai ignoruojamas ir failas visada išsaugomas kaip PPTX. Nėra NotSupportedException neatpažintam formato vertei.


Dažnai užduodami klausimai

Ar galiu išsaugoti į tą patį failą, kurį atidariau?

Taip. Išsaugant į tą patį kelią originalus failas perrašomas:

using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx);  // overwrites original

Ar išsaugojimas išsaugo turinį, kurio nekeitiau?

Taip. Nežinomos XML dalys iš originalaus failo išsaugomos nepakitusiomis. Biblioteka serializuoja tik tas dokumento modelio dalis, kurias supranta, o visas nežinomą XML perduoda nepakitusią.


Žr. taip pat

 Lietuvių