Präsentationen auf Android speichern

Übersicht

Open Presentations on Android beschrieb, wie die Presentation Klasse verwendet wird, um eine Präsentation zu öffnen. Dieser Artikel erklärt, wie man Präsentationen erstellt und speichert. Die Presentation Klasse enthält den Inhalt einer Präsentation. Egal, ob Sie eine Präsentation von Grund auf neu erstellen oder eine vorhandene ändern, Sie möchten sie am Ende speichern. Mit Aspose.Slides für Android können Sie in einer Datei oder Stream speichern. Dieser Artikel erläutert die verschiedenen Möglichkeiten, eine Präsentation zu speichern.

Präsentationen in Dateien speichern

Speichern Sie eine Präsentation in einer Datei, indem Sie die save‑Methode der Presentation Klasse aufrufen. Übergeben Sie den Dateinamen und das Speicherformat an die Methode. Das folgende Beispiel zeigt, wie man eine Präsentation mit Aspose.Slides speichert.

import com.aspose.slides.*;

// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei repräsentiert.
Presentation presentation = new Presentation();
try {
    // Führen Sie hier einige Arbeiten aus...
    
    // Speichern Sie die Präsentation in einer Datei.
    presentation.save("Output.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Präsentationen in Streams speichern

Sie können eine Präsentation in einen Stream speichern, indem Sie einen Ausgabestream an die save‑Methode der Presentation Klasse übergeben. Eine Präsentation kann in viele Stream‑Typen geschrieben werden. Im folgenden Beispiel erstellen wir eine neue Präsentation und speichern sie in einen Dateistream.

import com.aspose.slides.*;
import java.io.FileOutputStream;
import java.io.OutputStream;

// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei repräsentiert.
Presentation presentation = new Presentation();
try {
    OutputStream fileStream = new FileOutputStream("Output.pptx");
    try {
        // Speichern Sie die Präsentation in den Stream.
        presentation.save(fileStream, SaveFormat.Pptx);
    } finally {
        fileStream.close();
    }
} finally {
    presentation.dispose();
}

Präsentationen mit vordefiniertem Ansichtstyp speichern

Aspose.Slides ermöglicht das Festlegen der anfänglichen Ansicht, die PowerPoint beim Öffnen der erzeugten Präsentation verwendet, über die Klasse ViewProperties. Verwenden Sie die Methode setLastView mit einem Wert aus der Aufzählung ViewType.

import com.aspose.slides.*;

Presentation presentation = new Presentation();
try {
    presentation.getViewProperties().setLastView(ViewType.SlideMasterView);
    presentation.save("SlideMasterView.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Präsentationen im Strict Office Open XML‑Format speichern

Aspose.Slides ermöglicht das Speichern einer Präsentation im Strict Office Open XML‑Format. Verwenden Sie die Klasse PptxOptions und setzen Sie deren conformance‑Eigenschaft beim Speichern. Wenn Sie Conformance.Iso29500_2008_Strict festlegen, wird die Ausgabedatei im Strict Office Open XML‑Format gespeichert.

Das folgende Beispiel erstellt eine Präsentation und speichert sie im Strict Office Open XML‑Format.

import com.aspose.slides.*;

PptxOptions options = new PptxOptions();
options.setConformance(Conformance.Iso29500_2008_Strict);

// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei repräsentiert.
Presentation presentation = new Presentation();
try {
    // Speichern Sie die Präsentation im Strict Office Open XML-Format.
    presentation.save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options);
} finally {
    presentation.dispose();
}

Präsentationen im Office Open XML‑Format im Zip64‑Modus speichern

Eine Office Open XML‑Datei ist ein ZIP‑Archiv, das Grenzen von 4 GB (2^32 Bytes) für die unkomprimierte Größe einer Datei, die komprimierte Größe einer Datei und die Gesamtausgröße des Archivs festlegt und zudem die Anzahl der Dateien auf 65 535 (2^16‑1) beschränkt. ZIP64‑Format-Erweiterungen erhöhen diese Grenzen auf 2^64.

Die Methode IPptxOptions.setZip64Mode ermöglicht die Auswahl, wann ZIP64‑Format-Erweiterungen beim Speichern einer Office Open XML‑Datei verwendet werden.

Diese Methode kann mit den folgenden Modi verwendet werden:

  • IfNecessary verwendet ZIP64‑Format-Erweiterungen nur, wenn die Präsentation die oben genannten Beschränkungen überschreitet. Dies ist der Standardmodus.
  • Never verwendet ZIP64‑Format-Erweiterungen niemals.
  • Always verwendet ZIP64‑Format-Erweiterungen stets.

Der folgende Code zeigt, wie man eine Präsentation als PPTX‑Datei mit aktivierten ZIP64‑Format-Erweiterungen speichert:

import com.aspose.slides.*;

PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setZip64Mode(Zip64Mode.Always);

Presentation presentation = new Presentation("Sample.pptx");
try {
    presentation.save("OutputZip64.pptx", SaveFormat.Pptx, pptxOptions);
} finally {
    presentation.dispose();
}

Präsentationen im Office Open XML‑Format mit Komprimierungsstufen speichern

Bei der Arbeit mit großen Präsentationen können Sie die Komprimierungsstufe anpassen, um Dateigröße und Verarbeitungszeit auszubalancieren. Je nach Ihren Anforderungen bevorzugen Sie möglicherweise schnelleres Verarbeiten oder kleinere Ausgabedateien.

Aspose.Slides stellt die Methode IPptxOptions.setCompressionLevel bereit, mit der Sie die beim Speichern einer Präsentation im Office Open XML‑Format verwendete Komprimierungsstufe festlegen können.

Die folgenden Komprimierungsstufen stehen zur Verfügung:

  • None: Es wird keine Komprimierung angewendet. Dateien werden unverändert gespeichert.
  • Level1: Die schnellste Komprimierung mit dem niedrigsten Komprimierungsverhältnis.
  • Level2: Schnellere Komprimierung mit leicht besserem Komprimierungsverhältnis als Level1.
  • Level3: Bietet bessere Komprimierung als Level2 mit moderatem Einfluss auf die Verarbeitungszeit.
  • Level4: Bietet bessere Komprimierung als Level3.
  • Level5: Bietet verbesserte Komprimierung gegenüber Level4 mit zusätzlicher Verarbeitungszeit.
  • Level6: Standardkomprimierung, die ein gutes Gleichgewicht zwischen Verarbeitungsgeschwindigkeit und Dateigröße bietet. Dies ist die Standard‑Komprimierungsstufe.
  • Level7: Bietet bessere Komprimierung als Level6 bei langsamerer Verarbeitung.
  • Level8: Bietet bessere Komprimierung als Level7.
  • Level9: Maximale Komprimierung. Produziert die kleinste Dateigröße, jedoch mit der längsten Verarbeitungszeit.

Das folgende Beispiel demonstriert, wie man eine Präsentation als PPTX‑Datei ohne Komprimierung speichert:

import com.aspose.slides.*;

PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setCompressionLevel(CompressionLevel.None);

Presentation presentation = new Presentation("Sample.pptx");
try {
    presentation.save("Sample-out.pptx", SaveFormat.Pptx, pptxOptions);
} finally {
    presentation.dispose();
}

Dieses Beispiel zeigt, wie man eine Präsentation als PPTX‑Datei mit maximaler Komprimierung speichert:

import com.aspose.slides.*;

PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setCompressionLevel(CompressionLevel.Level9);

Presentation presentation = new Presentation("Sample.pptx");
try {
    presentation.save("Sample-level9.pptx", SaveFormat.Pptx, pptxOptions);
} finally {
    presentation.dispose();
}

Präsentationen ohne Aktualisierung des Vorschaubildes speichern

Die Methode PptxOptions.setRefreshThumbnail steuert die Generierung des Vorschaubildes beim Speichern einer Präsentation als PPTX:

  • Wenn sie auf true gesetzt ist, wird das Vorschaubild beim Speichern aktualisiert. Dies ist die Standardeinstellung.
  • Wenn sie auf false gesetzt ist, wird das aktuelle Vorschaubild beibehalten. Hat die Präsentation kein Vorschaubild, wird keines erzeugt.

Im nachstehenden Code wird die Präsentation als PPTX gespeichert, ohne ihr Vorschaubild zu aktualisieren.

import com.aspose.slides.*;

PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setRefreshThumbnail(false);

Presentation presentation = new Presentation("Sample.pptx");
try {
    presentation.save("Output.pptx", SaveFormat.Pptx, pptxOptions);
}
finally {
    presentation.dispose();
}

Speicherfortschritt in Prozent aktualisieren

Das Interface IProgressCallback wird über die Methode setProgressCallback verwendet, die von der Schnittstelle ISaveOptions und der abstrakten Klasse SaveOptions bereitgestellt wird. Ordnen Sie eine Implementierung von IProgressCallback mittels setProgressCallback zu, um Speicherfortschritts‑Updates als Prozentsatz zu erhalten.

Die folgenden Code‑Snippets zeigen, wie IProgressCallback verwendet wird.

import com.aspose.slides.*;

ISaveOptions saveOptions = new PdfOptions();
saveOptions.setProgressCallback(new ExportProgressHandler());

Presentation presentation = new Presentation("Sample.pptx");
try {
    presentation.save("Output.pdf", SaveFormat.Pdf, saveOptions);
} finally {
    presentation.dispose();
}
import com.aspose.slides.*;

class ExportProgressHandler implements IProgressCallback {
    public void reporting(double progressValue) {
        // Verwenden Sie hier den Fortschrittswert in Prozent.
        int progress = (int) progressValue;

        System.out.println(progress + "% of the file has been converted.");
    }
}

FAQ

Wird „Fast Save“ (inkrementelles Speichern) unterstützt, sodass nur Änderungen geschrieben werden?

Nein. Beim Speichern wird jedes Mal die vollständige Zieldatei erstellt; inkrementelles „Fast Save“ wird nicht unterstützt.

Ist das Speichern derselben Presentation‑Instanz aus mehreren Threads threadsicher?

Nein. Eine Presentation Instanz ist nicht threadsicher; speichern Sie sie aus einem einzelnen Thread.

Was passiert mit Hyperlinks und extern verlinkten Dateien beim Speichern?

Hyperlinks bleiben erhalten. Extern verlinkte Dateien (z. B. Videos über relative Pfade) werden nicht automatisch kopiert – stellen Sie sicher, dass die referenzierten Pfade weiterhin erreichbar sind.

Kann ich Dokumente‑Metadaten (Autor, Titel, Unternehmen, Datum) festlegen/speichern?

Ja. Standard‑document properties werden unterstützt und beim Speichern in die Datei geschrieben.