Problem z podglądem obiektu podczas dodawania OleObjectFrame
Wprowadzenie
Korzystając z Aspose.Slides for Java, gdy dodasz OleObjectFrame do slajdu, na wyjściowym slajdzie wyświetlany jest komunikat „EMBEDDED OLE OBJECT”. Ten komunikat jest zamierzony i NIE jest błędem.
Aby uzyskać więcej informacji na temat pracy z obiektami OLE, zobacz Manage OLE.
Wyjaśnienie i rozwiązanie
Aspose.Slides wyświetla komunikat „EMBEDDED OLE OBJECT”, aby powiadomić, że obiekt OLE został zmieniony i obraz podglądu musi zostać zaktualizowany.
Na przykład, jeśli dodasz wykres Microsoft Excel jako OleObjectFrame do slajdu (szczegóły w artykule „Manage OLE”) i potem otworzysz prezentację w Microsoft PowerPoint, zobaczysz ten obraz na slajdzie:

Jeśli chcesz sprawdzić i potwierdzić, że obiekt OLE został dodany do slajdu, musisz dwukrotnie kliknąć komunikat „EMBEDDED OLE OBJECT”, lub możesz kliknąć prawym przyciskiem i wybrać opcję Object > Edit.

PowerPoint otwiera następnie osadzony obiekt OLE.

Slajd może nadal wyświetlać komunikat „EMBEDDED OLE OBJECT”. Po kliknięciu obiektu OLE podgląd slajdu zostaje zaktualizowany, a komunikat „EMBEDDED OLE OBJECT” zostaje zastąpiony rzeczywistym obrazem obiektu OLE.

Teraz możesz chcieć zapisać prezentację, aby zapewnić prawidłową aktualizację obrazu obiektu OLE. W ten sposób, po zapisaniu prezentacji, po ponownym otwarciu nie zobaczysz komunikatu „EMBEDDED OLE OBJECT”.
Inne rozwiązania
Rozwiązanie 1: Zastąp komunikat „Embedded OLE Object” obrazem
Jeśli nie chcesz usuwać komunikatu „EMBEDDED OLE OBJECT” otwierając prezentację w PowerPoint i zapisując ją, możesz zastąpić go wybranym obrazem podglądu. Poniższe fragmenty kodu demonstrują ten proces:
Presentation presentation = new Presentation("embeddedOLE.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
IOleObjectFrame oleFrame = (IOleObjectFrame) slide.getShapes().get_Item(0);
// Dodaj obraz do zasobów prezentacji.
IImage image = Images.fromFile("myImage.png");
IPPImage oleImage = presentation.getImages().addImage(image);
// Ustaw tytuł i obraz podglądu obiektu OLE.
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();
}
Slajd zawierający OleObjectFrame zmieni się wtedy na następujący:

Rozwiązanie 2: Stwórz dodatek do PowerPoint
Możesz także stworzyć dodatek do Microsoft PowerPoint, który aktualizuje wszystkie obiekty OLE podczas otwierania prezentacji w programie.