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
| 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. 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 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, o visas nežinomą XML perduoda nepakitusią.