Problém s náhledem objektu při přidání OleObjectFrame
Úvod
Používáte-li Aspose.Slides pro Java a přidáte na snímek OleObjectFrame, zobrazí se na výstupním snímku zpráva „EMBEDDED OLE OBJECT“. Tato zpráva je úmyslná a NEJDE o chybu.
Další informace o práci s OLE objekty najdete v Manage 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 (další podrobnosti v článku „Manage OLE“) a poté otevřete prezentaci v Microsoft PowerPoint, uvidíte na snímku tento obrázek:

Chcete-li zkontrolovat a potvrdit, že byl váš OLE objekt přidán na snímek, musíte dvojkliknout na zprávu „EMBEDDED OLE OBJECT“ nebo na ni kliknout pravým tlačítkem myši a zvolit Object > Edit.

PowerPoint pak otevře vložený OLE objekt.

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

Nyní možná chcete prezentaci uložit, aby se obrázek OLE objektu správně aktualizoval. Po uložení prezentace se při jejím opětovném otevření zpráva „EMBEDDED OLE OBJECT“ již nezobrazí.
Další řešení
Řešení 1: Nahradit zprávu „Embedded OLE Object“ obrázkem
Pokud nechcete odstraňovat zprávu „EMBEDDED OLE OBJECT“ otevřením prezentace v PowerPointu a jejím uložením, můžete zprávu nahradit preferovaným náhledovým obrázkem. Následující řádky kódu ukazují postup:
const presentation = new aspose.slides.Presentation("embeddedOLE.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const oleFrame = slide.getShapes().get_Item(0);
// Přidejte obrázek do zdrojů prezentace.
const image = aspose.slides.Images.fromFile("myImage.png");
const oleImage = presentation.getImages().addImage(image);
// Nastavte název a obrázek pro náhled OLE objektu.
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();
}
Snímek obsahující OleObjectFrame pak vypadá takto:

Řešení 2: Vytvořit doplněk pro PowerPoint
Můžete také vytvořit doplněk pro Microsoft PowerPoint, který při otevření prezentací v programu aktualizuje všechny OLE objekty.