Problem z podglądem obiektu przy dodawaniu OleObjectFrame

Wprowadzenie

Korzystając z Aspose.Slides for Python via .NET, gdy dodasz OleObjectFrame do slajdu, na wyjściowym slajdzie pojawia się 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 należy zaktualizować obraz podglądu.

Na przykład, jeśli dodasz wykres Microsoft Excel jako OleObjectFrame do slajdu (więcej szczegółów znajdziesz w artykule „Manage OLE”) i następnie otworzysz prezentację w Microsoft PowerPoint, zobaczysz ten obraz na slajdzie:

OLE object message

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

OLE object > Edit

PowerPoint otwiera wtedy osadzony obiekt OLE.

OLE object data

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.

OLE object preview

Teraz możesz chcieć zapisać prezentację, aby upewnić się, że obraz obiektu OLE został zaktualizowany prawidłowo. W ten sposób po zapisaniu prezentacji i ponownym jej 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” przez otwarcie prezentacji w PowerPoint i jej zapisanie, możesz zastąpić ten komunikat wybranym obrazem podglądu. Poniższe linie kodu demonstrują proces:

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

    # Dodaj obraz do zasobów prezentacji.
    with Images.from_file("myImage.png") as image:
        ole_image = presentation.images.add_image(image)

    # Ustaw tytuł i obraz podglądu obiektu OLE.
    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)

Slajd zawierający OleObjectFrame zmieni się wtedy na:

New OLE object image

Rozwiązanie 2: Utwórz dodatek dla PowerPoint

Możesz również stworzyć dodatek dla Microsoft PowerPoint, który aktualizuje wszystkie obiekty OLE przy otwieraniu prezentacji w programie.