Hoe presentaties opslaan in .NET

Hoe presentaties opslaan in .NET

Aspose.Slides FOSS for .NET slaat presentaties uitsluitend op in .pptx‑formaat met behulp van prs.Save(path, SaveFormat.Pptx). Deze gids behandelt het correcte opslaan‑patroon, opslaan naar een ander pad, opslaan naar een stream en veelvoorkomende fouten gerelateerd aan opslaan.

Stapsgewijze handleiding

Stap 1: Installeer het pakket

dotnet add package Aspose.Slides.Foss

Stap 2: Open of maak een presentatie

Gebruik altijd een using statement. De save‑call moet plaatsvinden voordat het object wordt 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);

Stap 3: Opslaan na alle wijzigingen

Plaats de Save()‑aanroep nadat alle wijzigingen zijn voltooid, voordat de using‑scope eindigt.

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);

Stap 4: Opslaan naar een ander pad

Geef een ander uitvoerpad op om een nieuw bestand te maken zonder het origineel te wijzigen:

using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);

Het template.pptx‑bestand wordt niet gewijzigd; customized.pptx wordt aangemaakt (of overschreven als het al bestaat).


Stap 5: Opslaan naar een stream

De Presentation.Save methode accepteert ook een 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");

Stap 6: Verifieer de uitvoer

Na het opslaan naar een bestand, controleer of het bestaat:

var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");

Ondersteunde opslagindeling

FormaatEnum-waardeOndersteund
PPTX (Office Open XML)SaveFormat.PptxJa
PDFN/ANee
HTMLN/ANee
SVGN/ANee
PNG / JPEGN/ANee
ODP (OpenDocument)N/ANee

Alleen PPTX wordt ondersteund. De format-parameter wordt momenteel genegeerd; alle presentaties worden opgeslagen als PPTX, ongeacht het opgegeven SaveFormat.


Veelvoorkomende problemen en oplossingen

IOException: The process cannot access the file

Het uitvoerbestand is geopend in een andere toepassing (bijv. PowerPoint heeft het bestand geopend). Sluit het bestand in andere toepassingen voordat u opslaat.

Bestand is aangemaakt maar lijkt leeg of beschadigd

Zorg ervoor dat prs.Save() wordt aangeroepen voordat het object wordt vrijgegeven. Nadat Dispose() wordt uitgevoerd, zullen latere aanroepen mislukken of corrupte output produceren.

Onverwacht uitvoerformaat bij opslaan

Het doorgeven van een SaveFormat-waarde anders dan SaveFormat.Pptx veroorzaakt geen uitzondering — de formatparameter wordt stilzwijgend genegeerd en het bestand wordt altijd opgeslagen als PPTX. Er is geen NotSupportedException voor een niet‑herkende formatwaarde.


Veelgestelde vragen

Kan ik opslaan naar hetzelfde bestand dat ik heb geopend?

Ja. Opslaan naar hetzelfde pad overschrijft het originele bestand:

using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx);  // overwrites original

Behoudt opslaan de inhoud die ik niet heb gewijzigd?

Ja. Onbekende XML‑gedeelten uit het oorspronkelijke bestand worden letterlijk bewaard. De bibliotheek serialiseert alleen de delen van het documentmodel die het begrijpt, en laat elke XML die het niet herkent onveranderd door.


Zie ook

 Nederlands