Problem mit der Objektvorschau beim Hinzufügen von OleObjectFrame

Einführung

Verwenden Sie Aspose.Slides für Java, wird beim Hinzufügen von OleObjectFrame zu einer Folie eine „EMBEDDED OLE OBJECT“-Nachricht auf der Ausgabefolie angezeigt. Diese Nachricht 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 Nachricht „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 object message

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

OLE object > Edit

PowerPoint öffnet dann das eingebettete OLE‑Objekt.

OLE object data

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

OLE object preview

Jetzt möchten Sie Ihre Präsentation speichern, um sicherzustellen, dass das Bild für das OLE‑Objekt korrekt aktualisiert wird. Auf diese Weise sehen Sie nach dem Speichern der Präsentation und erneutem Öffnen die Nachricht „EMBEDDED OLE OBJECT“ NICHT mehr.

Andere Lösung

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

import com.aspose.slides.*;

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-Objektvorschau 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 das OleObjectFrame enthält, ändert sich dann zu:

New OLE object image