Sådan gemmer du præsentationer i .NET
Aspose.Slides FOSS for .NET gemmer præsentationer udelukkende i .pptx‑format ved hjælp af prs.Save(path, SaveFormat.Pptx). Denne vejledning dækker det korrekte gemmemønster, gemning til en anden sti, gemning til en strøm og almindelige fejl relateret til gemning.
Trin-for-trin guide
Trin 1: Installer pakken
dotnet add package Aspose.Slides.FossTrin 2: Åbn eller opret en præsentation
Brug altid en using statement. Save‑kaldet skal udføres, før objektet bliver disposed.
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
Placér Save()‑kaldet efter at alle ændringer er fuldført, før using‑omfanget slutter.
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: Gem til en anden sti
Angiv en anden outputsti 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);Filen template.pptx ændres ikke; customized.pptx oprettes (eller overskrives, hvis den allerede findes).
Trin 5: Gem til en strøm
Metoden Presentation.Save 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: Verificer outputtet
Efter at have gemt til en fil, skal du kontrollere, at den findes:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Understøttet gemmeformat
| Format | Enum-værdi | Understøttet |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Ja |
| N/A | Nej | |
| HTML | N/A | Nej |
| SVG | N/A | Nej |
| PNG / JPEG | N/A | Nej |
| ODP (OpenDocument) | N/A | Nej |
Kun PPTX understøttes. Formatparameteren ignoreres i øjeblikket; alle præsentationer gemmes som PPTX uanset den angivne SaveFormat.
Almindelige problemer og rettelser
IOException: The process cannot access the file
Outputfilen er åben i et andet program (f.eks. har PowerPoint filen åben). Luk filen i andre programmer, før du gemmer.
Filen oprettes, men fremstår som tom eller beskadiget
Sørg for, at prs.Save() kaldes, før objektet frigives. Efter at Dispose() er kørt, vil efterfølgende kald fejle eller producere korrupt output.
Uventet outputformat ved lagring
At videregive en hvilken som helst SaveFormat værdi andet end SaveFormat.Pptx kaster ikke en undtagelse — formatparameteren ignoreres stille, og filen gemmes altid som PPTX. Der findes ingen NotSupportedException for en ukendt formatværdi.
Ofte stillede spørgsmål
Kan jeg gemme til den samme fil, jeg åbnede?
Ja. Gemning til den samme sti overskriver den oprindelige fil:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalBevarer gemning indhold, som jeg ikke har ændret?
Ja. Ukendte XML-dele fra den oprindelige fil bevares ordret. Biblioteket serialiserer kun de dele af dokumentmodellen, som det forstår, og sender enhver XML, den ikke genkender, videre.