Problema de Visualização de Objeto ao Adicionar OleObjectFrame

Introdução

Usando Aspose.Slides for Java, ao adicionar OleObjectFrame a um slide, uma mensagem “EMBEDDED OLE OBJECT” é exibida no slide de saída. Essa mensagem é intencional e NÃO é um bug.

Para obter mais informações sobre como trabalhar com objetos OLE, consulte Manage OLE.

Explicação e Solução

Aspose.Slides exibe a mensagem “EMBEDDED OLE OBJECT” para notificar que o objeto OLE foi alterado e a imagem de pré‑visualização precisa ser atualizada.

Por exemplo, se você adicionar um gráfico do Microsoft Excel como um OleObjectFrame a um slide (para mais detalhes, veja o artigo “Manage OLE”) e então abrir a apresentação no Microsoft PowerPoint, verá esta imagem no slide:

Mensagem do objeto OLE

Se quiser verificar e confirmar que seu objeto OLE foi adicionado ao slide, você deve dar um duplo clique na mensagem “EMBEDDED OLE OBJECT”, ou pode clicar com o botão direito nela e acessar a opção Object > Edit.

Objeto OLE > Editar

O PowerPoint então abre o objeto OLE incorporado.

Dados do objeto OLE

O slide pode permanecer com a mensagem “EMBEDDED OLE OBJECT”. Quando você clicar no objeto OLE, a pré‑visualização do slide é atualizada e a mensagem “EMBEDDED OLE OBJECT” é substituída pela imagem real do objeto OLE.

Pré‑visualização do objeto OLE

Agora, você pode salvar sua apresentação para garantir que a imagem do Objeto OLE seja atualizada corretamente. Dessa forma, após salvar a apresentação, ao abri‑la novamente, você NÃO verá a mensagem “EMBEDDED OLE OBJECT”.

Outras Soluções

Solução 1: Substituir a mensagem “Embedded OLE Object” por uma Imagem

Se você não quiser remover a mensagem “EMBEDDED OLE OBJECT” abrindo a apresentação no PowerPoint e depois salvando‑a, pode substituir a mensagem pela sua imagem de pré‑visualização preferida. Estas linhas de código demonstram o processo:

const presentation = new aspose.slides.Presentation("embeddedOLE.pptx");
try {
    const slide = presentation.getSlides().get_Item(0);
    const oleFrame = slide.getShapes().get_Item(0);

    // Adicionar uma imagem aos recursos da apresentação.
    const image = aspose.slides.Images.fromFile("myImage.png");
    const oleImage = presentation.getImages().addImage(image);

    // Definir um título e a imagem para a visualização do objeto OLE.
    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();
}

O slide contendo o OleObjectFrame então muda para isto:

Nova imagem do objeto OLE

Solução 2: Criar um Complemento para PowerPoint

Você também pode criar um complemento para Microsoft PowerPoint que atualiza todos os objetos OLE ao abrir apresentações no programa.