Wie man Präsentationen in .NET speichert
Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx Format mit prs.Save(path, SaveFormat.Pptx).Dieser Leitfaden behandelt das richtige Speichermuster, die Speicheinrichtung auf einem anderen Weg, den Streamspeichersystem und häufige Fehler im Zusammenhang mit der Speichenstellung.
Schritt für Schritte
Schritt 1: Installieren des Pakets
dotnet add package Aspose.Slides.FossSchritt 2: Öffnen oder Erstellen einer Präsentation
Verwenden Sie immer eine using Der Rettungsaufruf muss erfolgen, bevor das Objekt entsorgt wird.
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);Schritt 3: Speichern nach allen Änderungen
Die Save() Anrufen, nachdem alle Änderungen abgeschlossen sind, vor dem using Umfang endet.
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);Schritt 4: Auf einen anderen Weg gehen
Geben Sie einen anderen Ausgangspfad an, um eine neue Datei zu erstellen , ohne das Original zu ändern:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);Die template.pptx die Datei nicht geändert wird; customized.pptx wird erstellt (oder überschrieben, wenn es bereits existiert).
Schritt 5: Speichern Sie in einem Strom
Die Presentation.Save Die Methode akzeptiert auch eine 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");Schritt 6: Überprüfen Sie die Ausgabe
Nach dem Speichern in eine Datei überprüfen Sie, ob sie existiert:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Unterstütztes Speicherformat
| Format der Datenbank | Wert der Enum-Nummer | Unterstützt |
|---|---|---|
| PPTX (Office Open XML) -Datenbank für die Verwendung von Daten in der Webseite | SaveFormat.Pptx | - Ja , das ist gut . |
| N/A | - Nein . | |
| HTML | N/A | - Nein . |
| SVG | N/A | - Nein . |
| PNG / JPEG | N/A | - Nein . |
| ODP (OpenDocument) - Einheitliche Datenbank für die EU-Kommission | N/A | - Nein . |
Nur PPTX wird unterstützt. Der Formatparameter wird derzeit ignoriert; alle Präsentationen werden unabhängig vom angegebenen SaveFormat als PP T X gespeichert.
Häufige Probleme und Lösungen
IOException: The process cannot access the file
Die Ausgabedatei ist in einer anderen Anwendung geöffnet (z. B. PowerPoint hat die Datei gefahren). Schließen Sie die Datei in anderen Anwendungen, bevor Sie sie speichern.
Datei erstellt, aber leer oder beschädigt erscheint
Sicherstellen prs.Save() Die Abgabe der Daten ist vor dem Entsorgungsverfahren erforderlich. Dispose() Laufen, werden nachfolgende Anrufe fehlschlagen oder eine korrupte Ausgabe erzeugen.
Unerwartetes Ausgabeformat beim Speichern
Überschreiten von SaveFormat Wert, der nicht SaveFormat.Pptx nicht eine Ausnahme wirft der Formatparameter wird stillschweigend ignoriert und die Datei ist immer als PPTX gespeichert. Es gibt keine NotSupportedException für einen nicht erkannten Formatwert.
Häufig gestellte Fragen
Kann ich in die gleiche Datei speichern, die ich geöffnet habe?
Wenn man die Datei auf den gleichen Pfad speichert, wird sie überschrieben.:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalBewahrt das Speichern Inhalte, die ich nicht geändert habe?
Ja. Unbekannte XML-Teile aus der Originaldatei werden wörtlich erhalten. Die Bibliothek serialisiert nur die Teile des Dokumentmodells, das sie versteht, und führt alle nicht erkannten XML durch.