Problem mit der Objektvorschau beim Hinzufügen von OleObjectFrame

Einführung

Wenn Sie Aspose.Slides für Java verwenden und ein OleObjectFrame zu einer Folie hinzufügen, wird auf der Ausgabefolie die Meldung „EMBEDDED OLE OBJECT“ angezeigt. Diese Meldung ist beabsichtigt und KEIN Fehler.

Weitere Informationen zur Arbeit mit OLE‑Objekten finden Sie unter Manage OLE.

Erklärung und Lösung

Aspose.Slides zeigt die Meldung „EMBEDDED OLE OBJECT“ an, um Sie darauf hinzuweisen, dass das OLE‑Objekt geändert wurde und das Vorschaubild aktualisiert werden muss.

Beispielsweise, wenn Sie ein Microsoft‑Excel‑Diagramm als OleObjectFrame zu einer Folie hinzufügen (weitere Details finden Sie im Artikel „Manage OLE“) und dann die Präsentation in Microsoft PowerPoint öffnen, sehen Sie dieses Bild auf der Folie:

OLE‑Objekt‑Meldung

Wenn Sie überprüfen und bestätigen möchten, dass Ihr OLE‑Objekt zur Folie hinzugefügt wurde, doppelklicken Sie auf die Meldung „EMBEDDED OLE OBJECT“ oder klicken Sie mit der rechten Maustaste darauf und wählen Sie Object > Edit.

OLE‑Objekt‑Daten

PowerPoint öffnet dann das eingebettete OLE‑Objekt.

Die Folie kann die Meldung „EMBEDDED OLE OBJECT“ beibehalten. Sobald Sie das OLE‑Objekt anklicken, wird die Folienvorschau aktualisiert und die Meldung „EMBEDDED OLE OBJECT“ durch das tatsächliche Bild des OLE‑Objekts ersetzt.

OLE‑Objekt‑Vorschau

Jetzt möchten Sie möglicherweise die Präsentation speichern, um sicherzustellen, dass das Bild des OLE‑Objekts korrekt aktualisiert wird. Auf diese Weise sehen Sie nach dem erneuten Öffnen der Präsentation die Meldung „EMBEDDED OLE OBJECT“ NICHT mehr.

Weitere Lösungen

Lösung 1: Ersetzen der Meldung „Embedded OLE Object“ durch ein Bild

Wenn Sie die Meldung „EMBEDDED OLE OBJECT“ nicht entfernen möchten, indem Sie die Präsentation in PowerPoint öffnen und dann speichern, können Sie die Meldung durch Ihr bevorzugtes Vorschaubild ersetzen. Diese Codezeilen demonstrieren den Vorgang:

Presentation presentation = new Presentation("embeddedOLE.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IOleObjectFrame oleFrame = (IOleObjectFrame) slide.getShapes().get_Item(0);

    // Bild zu Präsentationsressourcen hinzufügen.
    IImage image = Images.fromFile("myImage.png");
    IPPImage oleImage = presentation.getImages().addImage(image);

    // Titel und Bild für die OLE Objekt Vorschau festlegen.
    oleFrame.setSubstitutePictureTitle("My title");
    oleFrame.getSubstitutePictureFormat().getPicture().setImage(oleImage);
    oleFrame.setObjectIcon(false);

    presentation.save("embeddedOLE-newImage.pptx", SaveFormat.Pptx);
} finally {
    if (presentation != null) presentation.dispose();    
}

Die Folie, die den OleObjectFrame enthält, ändert sich dann zu folgendem:

Neues OLE‑Objekt‑Bild

Lösung 2: Erstellen eines Add‑Ons für PowerPoint

Sie können auch ein Add‑On für Microsoft PowerPoint erstellen, das alle OLE‑Objekte aktualisiert, wenn Sie Präsentationen im Programm öffnen.