Problem z podglądem obiektu przy dodawaniu OleObjectFrame
Wprowadzenie
Używając 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ć Cię, że obiekt OLE został zmieniony i podglądowy obraz musi zostać zaktualizowany.
Na przykład, jeśli dodasz wykres Microsoft Excel jako OleObjectFrame do slajdu (po więcej szczegółów zobacz artykuł „Manage OLE”) i następnie otworzysz prezentację w Microsoft PowerPoint, zobaczysz ten obraz na slajdzie:

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

PowerPoint następnie otwiera osadzony obiekt OLE.

Slajd może zachować 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 upewnić się, że obraz obiektu OLE został poprawnie zaktualizowany. W ten sposób, po zapisaniu prezentacji, po ponownym jej otwarciu nie zobaczysz komunikatu „EMBEDDED OLE OBJECT”.
Inne rozwiązania
Rozwiązanie 1: Zamiana komunikatu „Embedded OLE Object” na obraz
Jeśli nie chcesz usuwać komunikatu „EMBEDDED OLE OBJECT” otwierając prezentację w PowerPoint i zapisując ją, możesz zastąpić komunikat wybranym przez siebie obrazem podglądu. Poniższe fragmenty kodu demonstrują proces:
const presentation = new aspose.slides.Presentation("embeddedOLE.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const oleFrame = slide.getShapes().get_Item(0);
// Dodaj obraz do zasobów prezentacji.
const image = aspose.slides.Images.fromFile("myImage.png");
const 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", aspose.slides.SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Slajd zawierający OleObjectFrame zmienia się wtedy na:

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