Problema di anteprima dell'oggetto durante l'aggiunta di OleObjectFrame

Introduzione

Quando usi Aspose.Slides per Python tramite Java per aggiungere un OleObjectFrame a una diapositiva, viene mostrato il messaggio “EMBEDDED OLE OBJECT” sulla diapositiva di output. Questo messaggio è voluto e non è un bug.

Per ulteriori informazioni su come lavorare con gli oggetti OLE, consulta Gestisci OLE.

Spiegazione e soluzione

Aspose.Slides visualizza il messaggio “EMBEDDED OLE OBJECT” per informarti che l’oggetto OLE è stato modificato e l’immagine di anteprima deve essere aggiornata.

Ad esempio, se aggiungi un grafico di Microsoft Excel come OleObjectFrame a una diapositiva (per maggiori dettagli, vedi l’articolo “Gestisci OLE”) e poi apri la presentazione in Microsoft PowerPoint, vedrai questa immagine sulla diapositiva:

Messaggio oggetto OLE

Per confermare che il tuo oggetto OLE sia stato aggiunto alla diapositiva, fai doppio clic sul messaggio “EMBEDDED OLE OBJECT”, oppure fai clic con il tasto destro e seleziona Object > Edit.

OLE object > Edit

PowerPoint quindi apre l’oggetto OLE incorporato.

Dati oggetto OLE

La diapositiva potrebbe mantenere il messaggio “EMBEDDED OLE OBJECT”. Una volta fatto clic sull’oggetto OLE, l’anteprima della diapositiva viene aggiornata e il messaggio “EMBEDDED OLE OBJECT” viene sostituito dall’immagine reale dell’oggetto OLE.

Anteprima oggetto OLE

Salva la presentazione per conservare l’immagine di anteprima aggiornata dell’oggetto OLE. Quando riapri la presentazione, non vedrai più il messaggio “EMBEDDED OLE OBJECT”.

Altra soluzione

Se non desideri rimuovere il messaggio “EMBEDDED OLE OBJECT” aprendo la presentazione in PowerPoint e poi salvandola, puoi sostituire il messaggio con l’immagine di anteprima che preferisci. Il seguente codice dimostra il processo:

import jpype
import asposeslides

if not jpide.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)

    # Aggiungi un'immagine alle risorse della presentazione.
    image = Images.fromFile("myImage.png")
    try:
        ole_image = presentation.getImages().addImage(image)
    finally:
        image.dispose()

    # Imposta un titolo e l'immagine per l'anteprima dell'oggetto OLE.
    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()

La diapositiva contenente il OleObjectFrame cambia quindi in questo:

Nuova immagine oggetto OLE

FAQ

Perché appare il messaggio “EMBEDDED OLE OBJECT”?

Il messaggio indica che l’oggetto OLE è cambiato e la sua immagine di anteprima deve essere aggiornata. Questo comportamento è intenzionale.

Come posso aggiornare l’anteprima in PowerPoint?

Fai doppio clic sul messaggio o seleziona Object > Edit per aprire l’oggetto OLE incorporato. Fai clic sull’oggetto OLE per aggiornare l’anteprima, quindi salva la presentazione.

Posso sostituire il messaggio senza aprire la presentazione in PowerPoint?

Sì. Puoi assegnare un’immagine di anteprima preferita all’oggetto OLE, come mostrato nell’esempio di codice sopra.