Wie man Präsentationen in Java speichert

Wie man Präsentationen in Java speichert

Aspose.Slides FOSS for Java saves presentations exclusively to .pptx Format mit prs.save(path, SaveFormat.PPTX).Dieser Leitfaden behandelt das richtige Speichermuster, die Speicheinrichtung und häufige Fehler im Zusammenhang mit der Speichenstellung.

Schritt für Schritte

Schritt 1: Hinzufügen der Maven-Abhängigkeit

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>26.7.0</version>
</dependency>

Schritt 2: Öffnen oder Erstellen einer Präsentation

Der Saver-Call muss innerhalb des Versuchsblocks erfolgen.

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;

// Create new
try (Presentation prs = new Presentation()) {
    prs.save("new.pptx", SaveFormat.PPTX);
}

// Open existing
try (Presentation prs = new Presentation("input.pptx")) {
    prs.save("output.pptx", SaveFormat.PPTX);
}

Schritt 3: Speichern nach allen Änderungen

Die save() Call als letzte Anweisung innerhalb des Try-Blocks, nachdem alle Modifikationen abgeschlossen sind.

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);
    IAutoShape shape = slide.getShapes().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:

try (Presentation 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: Überprüfen Sie die Ausgabe

Nach dem Ausgang des Try-Blocks ist die Datei vollständig und geschlossen. Überprüfen Sie, ob sie existiert:

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

Path output = Paths.get("output.pptx");
System.out.println("Saved: " + Files.exists(output)
    + ", size: " + Files.size(output) + " bytes");

Unterstütztes Speicherformat

Format der DatenbankWert der Enum-NummerUnterstützt
PPTX (Office Open XML) -Datenbank für die Verwendung von Daten in der WebseiteSaveFormat.PPTX- Ja , das ist gut .
PDFN/A- Nein .
HTMLN/A- Nein .
SVGN/A- Nein .
PNG / JPEGN/A- Nein .
ODP (OpenDocument) - eine Liste der Daten, die für das OpenDokument benötigt werden.N/A- Nein .

Nur PPTX wird vollständig unterstützt. SaveFormat Wert auf prs.save(path, format) wird still als PPTX gespeichert keine Ausnahme geworfen und das Format-Argument ignoriert. UnsupportedOperationException wird nur von prs.save(ISaveOptions options), nicht durch die formatbasierten Überlastungen.


Häufige Probleme und Lösungen

java.io.IOException: Permission denied

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() Nach dem Ausgang des Blockes “Try-with-Resources” wird die Presentation Objekt ist entsorgt und nachfolgende Anrufe scheitern.

UnsupportedOperationException bei der Sparung

Dies geschieht bei der Anwendung von prs.save(ISaveOptions options) die ISaveOptions- auf der Basis von Überlastungen nicht umgesetzt. SaveFormat zu . prs.save(path, format) macht nicht . Wir werfen diese Ausnahme weg; sie wird stillschweigend als PPTX gespeichert.


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

try (Presentation prs = new Presentation("deck.pptx")) {
    // modify ...
    prs.save("deck.pptx", SaveFormat.PPTX);  // overwrites original
}

Kann ich in einen OutputStream speichern?

Ja, die… save() Die Methode akzeptiert eine OutputStream:

import java.io.FileOutputStream;

try (Presentation prs = new Presentation();
     FileOutputStream fos = new FileOutputStream("output.pptx")) {
    prs.save(fos, SaveFormat.PPTX);
}

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


Siehe auch:

 Deutsch