Hvordan man gemmer præsentationer i .NET
Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx format ved hjælp af prs.Save(path, SaveFormat.Pptx).Denne vejledning dækker det korrekte opslagsmønster, at gemme til en anden vej, gemmer til et strøm og almindelige fejl i forbindelse med lagring.
Trin-for-trin vejledning
Trin 1: Installer pakken
dotnet add package Aspose.Slides.FossTrin 2: Åbn eller oprett en præsentation
Brug altid en using Redningsopkaldet skal ske, før objektet er fjernet.
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);Trin 3: Gem efter alle ændringer
Placering af den Save() efter at alle ændringer er afsluttet, før den første indkaldelse af en ny telefon. using udstrækning.
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);Trin 4: Spar til en anden vej
Pas en anden udgangsvej for at oprette en ny fil uden at ændre den oprindelige:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);Den Europæiske Union template.pptx filen ikke er ændret.; customized.pptx er oprettet (eller overskrevet, hvis den allerede findes).
Trin 5: Lagre til en strøm
Den Europæiske Union Presentation.Save Metoden accepterer også en 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");Trin 6: Kontroller udgangen
Efter at have gemt til en fil, skal du kontrollere, om den findes:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Støttet format til opslag
| Format: | Enumværdi | Støttet |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | - Ja, jeg gør. |
| N/A | - Nej, jeg gør det ikke. | |
| HTML | N/A | - Nej, jeg gør det ikke. |
| SVG | N/A | - Nej, jeg gør det ikke. |
| PNG / JPEG | N/A | - Nej, jeg gør det ikke. |
| ODP (åben dokument) | N/A | - Nej, jeg gør det ikke. |
Kun PPTX understøttes. Formatparameteret ignoreres i øjeblikket; alle præsentationer gemmes som PPtX uanset den angivne SaveFormat.
Almindelige problemer og løsninger
IOException: The process cannot access the file
Udgangsfilen er åben i en anden applikation (f.eks. PowerPoint har filen åben). Luk filens optagelser i andre programmer, før du gemmer den.
Fil er oprettet, men vises tom eller beskadiget
Sikre sig prs.Save() er kaldt, før objektet bliver bortskaffet. Dispose() Hvis en opkald ikke kører, vil efterfølgende oplæg mislykkes eller producere korrupt output.
Uventet udgangsformat ved lagring
Passere nogen SaveFormat anden værdi end SaveFormat.Pptx ikke kaster en undtagelse formatparameteren ignoreres stille og filen gemmes altid som PPTX. Der er ingen NotSupportedException for en ikke-genkendt formatværdi.
Ofte stillede spørgsmål
Kan jeg gemme til den samme fil, som jeg åbnede?
Ja, hvis du gemmer den samme vej overskrives originalen.:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalBevarer lagring indhold, som jeg ikke har ændret?
Ja. Ukendte XML-dele fra den oprindelige fil bevares bogstaveligt. Biblioteket serialiserer kun de dele af dokumentmodellen, det forstår, og passerer gennem enhver XML, som det ikke genkender.