Problém s náhledem objektu při přidávání OleObjectFrame

Úvod

Při používání Aspose.Slides pro Python přes .NET, když přidáte OleObjectFrame na snímek, zobrazí se na výstupním snímku zpráva „EMBEDDED OLE OBJECT“. Tato zpráva je úmyslná a NEJDE o chybu.

Pro více informací o práci s OLE objekty, viz 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 (více podrobností najdete v článku „Správa OLE“) a pak otevřete prezentaci v Microsoft PowerPoint, uvidíte na snímku tento obrázek:

Zpráva OLE objektu

Pokud chcete zkontrolovat a potvrdit, že byl váš OLE objekt přidán na snímek, musíte dvakrát kliknout na zprávu „EMBEDDED OLE OBJECT“, nebo na ni můžete kliknout pravým tlačítkem myši a zvolit možnost Objekt > Upravit.

OLE objekt > Upravit

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

Data OLE objektu

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

Náhled OLE objektu

Nyní můžete chtít prezentaci uložit, aby se obrázek OLE objektu správně aktualizoval. Tímto způsobem, po uložení prezentace a jejím opětovném otevření, NEUVIDÍTE zprávu „EMBEDDED OLE OBJECT“.

Další řešení

Řešení 1: Nahradit zprávu „Embedded OLE Object“ obrázkem

Pokud nechcete odstranit zprávu „EMBEDDED OLE OBJECT“ otevřením prezentace v PowerPointu a jejím následným uložením, můžete zprávu nahradit vámi preferovaným náhledovým obrázkem. Následující řádky kódu ukazují postup:

with Presentation("embeddedOLE.pptx") as presentation:
    slide = presentation.slides[0]
    ole_frame = slide.shapes[0]

    # Přidejte obrázek do zdrojů prezentace.
    with Images.from_file("myImage.png") as image:
        ole_image = presentation.images.add_image(image)

    # Nastavte nadpis a obrázek pro náhled OLE objektu.
    ole_frame.substitute_picture_title = "My title"
    ole_frame.substitute_picture_format.picture.image = ole_image
    ole_frame.is_object_icon = False

    presentation.save("embeddedOLE-newImage.pptx", SaveFormat.PPTX)

Snímek obsahující OleObjectFrame se poté změní na následující:

Nový obrázek OLE objektu

Řešení 2: Vytvořit doplněk pro PowerPoint

Můžete také vytvořit doplněk pro Microsoft PowerPoint, který aktualizuje všechny OLE objekty při otevírání prezentací v programu.