Präsentation speichern

Übersicht

Die Presentation Klasse enthält den Inhalt einer Präsentation. Ob Sie eine Präsentation von Grund auf erstellen oder eine vorhandene ändern, am Ende möchten Sie die Präsentation speichern. Mit Aspose.Slides für Java kann sie als Datei oder Stream gespeichert werden. In diesem Artikel wird erklärt, wie man eine Präsentation auf verschiedene Arten speichert:

Präsentation in Datei speichern

Speichern Sie eine Präsentation in einer Datei, indem Sie die Presentation Klasse Save Methode aufrufen. Übergeben Sie einfach den Dateinamen und SaveFormat an die Save Methode.

Die folgenden Beispiele zeigen, wie man eine Präsentation mit Aspose.Slides für Java speichert.

// Instanziiere ein Presentation-Objekt, das eine PPT-Datei darstellt
Presentation pres = new Presentation();
try {
    // ...arbeiten Sie hier...
    
    // Speichern Sie Ihre Präsentation in einer Datei
    pres.save("demoPass.pptx", com.aspose.slides.SaveFormat.Pptx);
} finally {
    if(pres != null) pres.dispose();
}

Präsentation in Stream speichern

Es ist möglich, eine Präsentation in einen Stream zu speichern, indem Sie einen Ausgabestream an die Presentation Klasse Save Methode übergeben. Es gibt viele Arten von Streams, in die eine Präsentation gespeichert werden kann. Im folgenden Beispiel haben wir eine neue Präsentationsdatei erstellt, Text in eine Form hinzugefügt und die Präsentation in den Stream gespeichert.

// Instanziiere ein Presentation-Objekt, das eine PPT-Datei darstellt
Presentation pres = new Presentation();
try {
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 200, 200);

    // Füge Text zur Form hinzu
    shape.getTextFrame().setText("Diese Demo zeigt, wie man eine PowerPoint-Datei erstellt und in einen Stream speichert.");

    OutputStream os = new FileOutputStream("Save_As_Stream_out.pptx");

    pres.save(os, com.aspose.slides.SaveFormat.Pptx);

    os.close();
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

Präsentation mit vordefiniertem Ansichtstyp speichern

Aspose.Slides für Java bietet eine Möglichkeit, den Ansichtstyp der generierten Präsentation festzulegen, wenn sie in PowerPoint geöffnet wird, durch die ViewProperties Klasse. Die setLastView Eigenschaft wird verwendet, um den Ansichtstyp mithilfe des ViewType Enumerators festzulegen.

// Öffnen der Präsentationsdatei
Presentation pres = new Presentation();
try {
    // Ansichtstyp festlegen
    pres.getViewProperties().setLastView((byte) ViewType.SlideMasterView);
    
    // Präsentation speichern
    pres.save("newDemo.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Präsentationen im strengen Office Open XML-Format speichern

Aspose.Slides ermöglicht es Ihnen, die Präsentation im strengen Office Open XML-Format zu speichern. Zu diesem Zweck bietet es die PptxOptions Klasse, in der Sie die Conformance-Eigenschaft beim Speichern der Präsentationsdatei festlegen können. Wenn Sie ihren Wert auf Conformance.Iso29500_2008_Strict setzen, wird die Ausgabedatei im strengen Open XML-Format gespeichert.

Der folgende Beispielcode erstellt eine Präsentation und speichert sie im strengen Office Open XML-Format. Beim Aufruf der Save Methode für die Präsentation wird das PptxOptions Objekt mit der Conformance-Eigenschaft, die auf Conformance.Iso29500_2008_Strict gesetzt ist, übergeben.

// Instanziiere ein Presentation-Objekt, das eine PPT-Datei darstellt
Presentation pres = new Presentation();
try {
    // Holen Sie sich die erste Folie
    ISlide slide = pres.getSlides().get_Item(0);
    
    // Fügen Sie eine Autoshape vom Typ Linie hinzu
    slide.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);
    
    // Setzen Sie die Speichereinstellungen für das strenge Office Open XML-Format
    PptxOptions options = new PptxOptions();
    options.setConformance(Conformance.Iso29500_2008_Strict);
    
    // Speichern Sie Ihre Präsentation in einer Datei
    pres.save("demoPass.pptx", SaveFormat.Pptx, options);
} finally {
    if (pres != null) pres.dispose();
}

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

Eine Office Open XML-Datei ist ein ZIP-Archiv, das eine Grenze von 4 GB (2^32 Bytes) für die unkomprimierte Größe einer Datei, die komprimierte Größe einer Datei und die Gesamtgröße des Archivs hat, sowie eine Grenze von 65.535 (2^16-1) Dateien im Archiv. Die ZIP64-Format-Erweiterungen erhöhen die Grenzen auf 2^64.

Die neue IPptxOptions.Zip64Mode Eigenschaft ermöglicht es Ihnen, zu wählen, wann die ZIP64-Format-Erweiterungen für die gespeicherte Office Open XML-Datei zu verwenden sind.

Diese Eigenschaft bietet die folgenden Modi:

  • Zip64Mode.IfNecessary bedeutet, dass die ZIP64-Format-Erweiterungen nur verwendet werden, wenn die Präsentation außerhalb der oben genannten Einschränkungen fällt. Dies ist der Standardmodus.
  • Zip64Mode.Never bedeutet, dass die ZIP64-Format-Erweiterungen nicht verwendet werden.
  • Zip64Mode.Always bedeutet, dass die ZIP64-Format-Erweiterungen immer verwendet werden.

Der folgende Code zeigt, wie man die Präsentation im PPTX-Format mit ZIP64-Format-Erweiterungen speichert:

Presentation pres = new Presentation("Sample.pptx");
try {
    PptxOptions pptxOptions = new PptxOptions();
    pptxOptions.setZip64Mode(Zip64Mode.Always);
    
    pres.save("Sample-zip64.pptx", SaveFormat.Pptx, pptxOptions);
} finally {
    if (pres != null) pres.dispose();
}

Speichern von Fortschrittsaktualisierungen in Prozent

Ein neues IProgressCallback Interface wurde zur ISaveOptions Schnittstelle und zur SaveOptions abstrakten Klasse hinzugefügt. Das IProgressCallback Interface stellt ein Callback-Objekt für das Speichern von Fortschrittsaktualisierungen in Prozent dar.

Die folgenden Codeausschnitte zeigen, wie das IProgressCallback Interface verwendet wird:

// Öffnen der Präsentationsdatei
Presentation pres = new Presentation("ConvertToPDF.pptx");
try {
    ISaveOptions saveOptions = new PdfOptions();
    saveOptions.setProgressCallback((IProgressCallback) new ExportProgressHandler());
    pres.save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions);
} finally {
    pres.dispose();
}
class ExportProgressHandler implements IProgressCallback 
{
    public void reporting(double progressValue) 
	{
        // Verwenden Sie hier den Fortschrittsprozentsatz
        int progress = Double.valueOf(progressValue).intValue();
        System.out.println(progress + "% Datei konvertiert");
    }
}