Problema di anteprima dell'oggetto quando si aggiunge OleObjectFrame

Introduzione

Utilizzando Aspose.Slides per Java, quando aggiungi OleObjectFrame a una diapositiva, viene mostrato un messaggio “EMBEDDED OLE OBJECT” sulla diapositiva di output. Questo messaggio è intenzionale 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 Microsoft Excel come OleObjectFrame a una diapositiva (per maggiori dettagli, vedi l’articolo “Manage OLE”) e poi apri la presentazione in Microsoft PowerPoint, vedrai questa immagine sulla diapositiva:

Messaggio oggetto OLE

Se desideri verificare e confermare che il tuo oggetto OLE è stato aggiunto alla diapositiva, devi fare doppio clic sul messaggio “EMBEDDED OLE OBJECT”, oppure puoi fare clic con il pulsante destro su di esso e selezionare l’opzione Object > Edit.

OGGETTO OLE > Modifica

PowerPoint apre quindi 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

Ora potresti voler salvare la tua presentazione per assicurarti che l’immagine dell’oggetto OLE venga aggiornata correttamente. In questo modo, dopo aver salvato la presentazione, quando la apri di nuovo, NON vedrai 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 di tua scelta. Queste righe di codice dimostrano il processo:

import com.aspose.slides.*;

Presentation presentation = new Presentation("embeddedOLE.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IOleObjectFrame oleFrame = (IOleObjectFrame) slide.getShapes().get_Item(0);

    // Aggiungi un'immagine alle risorse della presentazione.
    IImage image = Images.fromFile("myImage.png");
    IPPImage oleImage = presentation.getImages().addImage(image);

    // Imposta un titolo e l'immagine per l'anteprima dell'oggetto OLE.
    oleFrame.setSubstitutePictureTitle("My title");
    oleFrame.getSubstitutePictureFormat().getPicture().setImage(oleImage);
    oleFrame.setObjectIcon(false);

    presentation.save("embeddedOLE-newImage.pptx", SaveFormat.Pptx);
} finally {
    if (presentation != null) presentation.dispose();    
}

La diapositiva contenente OleObjectFrame quindi cambia in questa:

Nuova immagine oggetto OLE