Hur man sparar presentationer i .NET

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.Foss

Steg 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

FormatEnumvärdeStöds
PPTX (Office Open XML)SaveFormat.PptxJa
PDFN/ANej
HTMLN/ANej
SVGN/ANej
PNG / JPEGN/ANej
ODP (OpenDocument)N/ANej

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 original

Bevarar 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.


Se även

 Svenska