Hur man sparar presentationer i .NET
Aspose.Slides FOSS för .NET sparar presentationer uteslutande i .pptx‑format med hjälp av prs.Save(path, SaveFormat.Pptx). Denna guide täcker det korrekta sparmönstret, sparande till en annan sökväg, sparande till en ström och vanliga fel relaterade till sparning.
Steg-för-steg-guide
Steg 1: Installera paketet
dotnet add package Aspose.Slides.FossSteg 2: Öppna eller skapa en presentation
Använd alltid ett using‑uttalande. Spara‑anropet måste ske innan objektet avyttras.
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);Steg 3: Spara efter alla ändringar
Placera Save()‑anropet efter att alla ändringar är slutförda, innan using‑omfånget avslutas.
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);Steg 4: Spara till en annan sökväg
Ange en annan utdataväg för att skapa en ny fil utan att ändra originalet:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);Filen template.pptx ändras inte; customized.pptx skapas (eller skrivs över om den redan finns).
Steg 5: Spara till en ström
Metoden Presentation.Save accepterar också 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");Steg 6: Verifiera resultatet
Efter att du har sparat till en fil, kontrollera att den finns:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Stödda sparformat
| Format | Enumvärde | Stöds |
|---|---|---|
| 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 |
Endast PPTX stöds. Formatparametern ignoreras för närvarande; alla presentationer sparas som PPTX oavsett vilket SaveFormat som anges.
Vanliga problem och lösningar
IOException: The process cannot access the file
Utdatafilen är öppen i ett annat program (t.ex. PowerPoint har filen öppen). Stäng filen i andra program innan du sparar.
Filen skapas men verkar tom eller korrupt
Se till att prs.Save() anropas innan objektet tas bort. Efter att Dispose() körs kommer efterföljande anrop att misslyckas eller producera korrupt output.
Oväntat utdataformat vid sparande
Att skicka något SaveFormat‑värde annat än SaveFormat.Pptx kastar inte ett undantag — formatparametern ignoreras tyst och filen sparas alltid som PPTX. Det finns ingen NotSupportedException för ett okänt formatvärde.
Vanliga frågor
Kan jag spara till samma fil som jag öppnade?
Ja. Att spara till samma sökväg skriver över den ursprungliga filen:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalBevarar sparandet innehållet jag inte har ändrat?
Ja. Okända XML‑delar från den ursprungliga filen bevaras ordagrant. Biblioteket serialiserar endast de delar av dokumentmodellen som det förstår och låter igenom all XML som det inte känner igen.