Sådan gemmer du præsentationer i .NET

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

Trin 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

FormatEnum-værdiUnderstøttet
PPTX (Office Open XML)SaveFormat.PptxJa
PDFN/ANej
HTMLN/ANej
SVGN/ANej
PNG / JPEGN/ANej
ODP (OpenDocument)N/ANej

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 original

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


Se også

 Dansk