Problém s náhledem objektu při přidávání OleObjectFrame
Úvod
Když používáte Aspose.Slides for Python via Java k přidání OleObjectFrame na snímek, zobrazí se na výstupním snímku zpráva „EMBEDDED OLE OBJECT“. Tato zpráva je úmyslná a nejedná se o chybu.
Další informace o práci s OLE objekty najdete v článku Správa OLE.
Vysvětlení a řešení
Aspose.Slides zobrazuje zprávu „EMBEDDED OLE OBJECT“, aby vás upozornil, že OLE objekt byl změněn a náhledový obrázek je třeba aktualizovat.
Například pokud přidáte graf Microsoft Excel jako OleObjectFrame na snímek (pro podrobnosti viz článek „Správa OLE“) a potom otevřete prezentaci v Microsoft PowerPoint, uvidíte na snímku následující obrázek:

Pro ověření, že byl OLE objekt přidán na snímek, dvojklikněte na zprávu „EMBEDDED OLE OBJECT“ nebo na ni klikněte pravým tlačítkem a vyberte Object > Edit.

PowerPoint následně otevře vložený OLE objekt.

Snímek může i nadále obsahovat zprávu „EMBEDDED OLE OBJECT“. Jakmile na OLE objekt kliknete, náhled snímku se aktualizuje a zpráva „EMBEDDED OLE OBJECT“ je nahrazena skutečným obrázkem OLE objektu.

Uložte prezentaci, aby se zachoval aktualizovaný náhledový obrázek OLE objektu. Při dalším otevření prezentace již zprávu „EMBEDDED OLE OBJECT“ neuvidíte.
Další řešení
Pokud nechcete odstranit zprávu „EMBEDDED OLE OBJECT“ otevřením prezentace v PowerPointu a jejím uložením, můžete zprávu nahradit vámi preferovaným náhledovým obrázkem. Následující kód demonstruje postup:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Images, Presentation, SaveFormat
presentation = Presentation("embeddedOLE.pptx")
try:
slide = presentation.getSlides().get_Item(0)
ole_frame = slide.getShapes().get_Item(0)
# Přidejte obrázek do zdrojů prezentace.
image = Images.fromFile("myImage.png")
try:
ole_image = presentation.getImages().addImage(image)
finally:
image.dispose()
# Nastavte název a obrázek pro náhled OLE objektu.
ole_frame.setSubstitutePictureTitle("My title")
ole_frame.getSubstitutePictureFormat().getPicture().setImage(ole_image)
ole_frame.setObjectIcon(False)
presentation.save("embeddedOLE-newImage.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Snímek obsahující OleObjectFrame se pak změní na:

Často kladené otázky
Proč se zobrazuje zpráva „EMBEDDED OLE OBJECT“?
Zpráva uvádí, že OLE objekt byl změněn a jeho náhledový obrázek je potřeba aktualizovat. Toto chování je úmyslné.
Jak mohu aktualizovat náhled v PowerPointu?
Dvojklikněte na zprávu nebo vyberte Object > Edit, čímž otevřete vložený OLE objekt. Klikněte na OLE objekt pro aktualizaci náhledu a poté prezentaci uložte.
Mohu nahradit zprávu bez otevření prezentace v PowerPointu?
Ano. Můžete přiřadit preferovaný náhledový obrázek OLE objektu, jak je ukázáno v příkladu kódu výše.