Kaip .NET aplinkoje išsaugoti pristatymus

Kaip .NET aplinkoje išsaugoti pristatymus

Aspose.Slides FOSS for .NET išsaugo pristatymus tik į .pptx formatą, naudodamas prs.Save(path, SaveFormat.Pptx). Šiame vadove aptariamas teisingas išsaugojimo šablonas, išsaugojimas į kitą kelią, išsaugojimas į srautą ir dažnos su išsaugojimu susijusios klaidos.

Žingsnis po žingsnio vadovas

Žingsnis 1: įdiekite paketą

dotnet add package Aspose.Slides.Foss

Žingsnis 2: Atidarykite arba sukurkite pristatymą

Visada naudokite using sakinį. Išsaugojimo kvietimas turi įvykti prieš objektas bus išmetamas.

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() iškvietimą po to, kai visi pakeitimai bus baigti, prieš baigiantis using aprėpimui.

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ą

Nurodykite kitą išvesties kelią, kad sukurtumėte naują failą nekeisdami originalo:

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

Failas template.pptx nėra modifikuojamas; customized.pptx sukuriamas (arba perrašomas, jei jis jau egzistuoja).


5 žingsnis: Išsaugoti į srautą

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. Format 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 yra atvertas kitoje programoje (pvz., PowerPoint turi atvertą failą). Prieš išsaugant uždarykite failą kitose programose.

Failas sukurtas, bet atrodo tuščias arba sugadintas

Užtikrinkite, kad prs.Save() būtų iškviestas prieš objektas išmetamas. Po to, kai Dispose() vykdoma, vėlesni kvietimai nepavyks arba sukels sugadintą išvestį.

Netikėtas išvesties formatas išsaugant

Perduodant bet kurią SaveFormat reikšmę, išskyrus SaveFormat.Pptx, išimtis nekeliamas — formatų parametras tyliai ignoruojamas ir failas visada išsaugomas kaip PPTX. Nėra NotSupportedException neatpažintai formato reikšmei.


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, ir perduoda bet kokią XML, kurios nesupranta.


Žr. taip pat

 Lietuvių