Präsentation in Java öffnen

Neben der Erstellung von PowerPoint-Präsentationen von Grund auf ermöglicht Aspose.Slides das Öffnen vorhandener Präsentationen. Nachdem Sie eine Präsentation geladen haben, können Sie Informationen über die Präsentation abrufen, die Präsentation bearbeiten (Inhalte auf ihren Folien), neue Folien hinzufügen oder vorhandene entfernen usw.

Präsentation öffnen

Um eine vorhandene Präsentation zu öffnen, müssen Sie einfach die Presentation Klasse instanziieren und den Dateipfad (der Präsentation, die Sie öffnen möchten) an den Konstruktor übergeben.

Dieser Java-Code zeigt Ihnen, wie Sie eine Präsentation öffnen und auch die Anzahl der Folien, die sie enthält, herausfinden können:

// Instanziiert die Presentation-Klasse und übergibt den Dateipfad an den Konstruktor
Presentation pres = new Presentation("Presentation.pptx");
try {
    // Gibt die Gesamtzahl der Folien in der Präsentation aus
    System.out.println(pres.getSlides().size());
} finally {
    if (pres != null) pres.dispose();
}

Passwortgeschützte Präsentation öffnen

Wenn Sie eine passwortgeschützte Präsentation öffnen müssen, können Sie das Passwort über die Password Eigenschaft (der LoadOptions Klasse) übergeben, um die Präsentation zu entschlüsseln und zu laden. Dieser Java-Code demonstriert die Operation:

 LoadOptions loadOptions = new LoadOptions();
 loadOptions.setPassword("DEIN_PASSWORT");
 Presentation pres = new Presentation("pres.pptx", loadOptions);
 try {
 // Führen Sie einige Arbeiten mit der entschlüsselten Präsentation durch
 } finally {
     if (pres != null) pres.dispose();
 }

Große Präsentation öffnen

Aspose.Slides bietet Optionen (insbesondere die BlobManagementOptions Eigenschaft) unter der LoadOptions Klasse, um das Laden großer Präsentationen zu ermöglichen.

Dieser Java-Code demonstriert eine Operation, in der eine große Präsentation (sagen wir 2 GB groß) geladen wird:

LoadOptions loadOptions = new LoadOptions();
loadOptions.getBlobManagementOptions().setPresentationLockingBehavior(PresentationLockingBehavior.KeepLocked);
loadOptions.getBlobManagementOptions().setTemporaryFilesAllowed(true);
loadOptions.getBlobManagementOptions().setMaxBlobsBytesInMemory(0L);

Presentation pres = new Presentation("veryLargePresentation.pptx", loadOptions);
try {
    // Die große Präsentation wurde geladen und kann verwendet werden, aber der Speicherverbrauch bleibt niedrig.
    // Änderungen an der Präsentation vornehmen.
    pres.getSlides().get_Item(0).setName("Sehr große Präsentation");

    // Die Präsentation wird in die andere Datei gespeichert. Der Speicherverbrauch bleibt während der Operation niedrig
    pres.save("veryLargePresentation-copy.pptx", SaveFormat.Pptx);
} finally {
    if(pres != null) pres.dispose();
}

Präsentation laden

Aspose.Slides bietet IResourceLoadingCallback mit einer einzelnen Methode, um externe Ressourcen zu verwalten. Dieser Java-Code zeigt Ihnen, wie Sie das IResourceLoadingCallback-Interface verwenden:

LoadOptions opts = new LoadOptions();
opts.setResourceLoadingCallback(new ImageLoadingHandler());

Presentation pres = new Presentation("presentation.pptx", opts);
class ImageLoadingHandler implements IResourceLoadingCallback 
{
    public int resourceLoading(IResourceLoadingArgs args) 
    {
        if (args.getOriginalUri().endsWith(".jpg")) 
        {
            try // lädt das Ersatzbild
            {
                byte[] imageBytes = Files.readAllBytes(new File("aspose-logo.jpg").toPath());
                args.setData(imageBytes);
                return ResourceLoadingAction.UserProvided;
            } catch (RuntimeException ex) {
                return ResourceLoadingAction.Skip;
            }  catch (IOException ex) {
                ex.printStackTrace();
            }
        } else if (args.getOriginalUri().endsWith(".png")) {
            // setzt die Ersatz-URL
            args.setUri("http://www.google.com/images/logos/ps_logo2.png");
            return ResourceLoadingAction.Default;
        }
        // überspringt alle anderen Bilder
        return ResourceLoadingAction.Skip;
    }
}

Präsentation ohne eingebettete Binärobjekte laden

Die PowerPoint-Präsentation kann die folgenden Typen von eingebetteten Binärobjekten enthalten:

Mit der ILoadOptions.DeleteEmbeddedBinaryObjects Eigenschaft können Sie die Präsentation ohne eingebettete Binärobjekte laden.

Diese Eigenschaft kann nützlich sein, um potenziell schädliche Binärinhalte zu entfernen.

Der Code demonstriert, wie man eine Präsentation ohne Malware-Inhalte lädt und speichert:

LoadOptions loadOptions = new LoadOptions();
loadOptions.setDeleteEmbeddedBinaryObjects(true);

Presentation pres = new Presentation("malware.ppt", loadOptions);
try {
    pres.save("clean.ppt", SaveFormat.Ppt);
} finally {
    if (pres != null) pres.dispose();
}

Präsentation öffnen und speichern

Schritte zum Öffnen und Speichern einer Präsentation:

  1. Erstellen Sie eine Instanz der Presentation Klasse und übergeben Sie die Datei, die Sie öffnen möchten.
  2. Speichern Sie die Präsentation.
// Instanziiert ein Presentation-Objekt, das eine PPT-Datei repräsentiert
Presentation pres = new Presentation();
try {
    // ...hier einige Arbeiten ausführen...
    
    // Speichert Ihre Präsentation in einer Datei
    pres.save("demoPass.pptx", com.aspose.slides.SaveFormat.Pptx);
} finally {
    if(pres != null) pres.dispose();
}