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
| Formatas | Enum reikšmė | Palaikoma |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Taip |
| N/A | Ne | |
| HTML | N/A | Ne |
| SVG | N/A | Ne |
| PNG / JPEG | N/A | Ne |
| ODP (OpenDocument) | N/A | Ne |
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 originalAr 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.