加入 OleObjectFrame 時的物件預覽問題
Contents
[
Hide
]
簡介
使用 Aspose.Slides for Java 時,當您將 OleObjectFrame 新增至投影片上,輸出投影片上會顯示「EMBEDDED OLE OBJECT」訊息。此訊息是有意為之,且不是錯誤。
欲了解更多有關 OLE 物件的操作資訊,請參閱 Manage OLE。
說明與解決方案
Aspose.Slides 會顯示「EMBEDDED OLE OBJECT」訊息,以通知您 OLE 物件已變更,必須更新預覽圖像。
例如,若您將 Microsoft Excel 圖表以 OleObjectFrame 新增至投影片(欲取得更多細節,請參閱「Manage OLE」文章),然後在 Microsoft PowerPoint 中開啟簡報,您將會在投影片上看到此圖像:

如果您想檢查並確認 OLE 物件已新增至投影片,必須對「EMBEDDED OLE OBJECT」訊息進行雙擊,或右鍵點擊該訊息,然後選擇 Object > Edit 選項。

PowerPoint 隨即開啟嵌入的 OLE 物件。

投影片可能仍保留「EMBEDDED OLE OBJECT」訊息。當您點擊 OLE 物件後,投影片預覽會更新,且「EMBEDDED OLE OBJECT」訊息會被 OLE 物件的實際影像取代。

現在,您可能想儲存簡報,以確保 OLE 物件的影像正確更新。如此一來,儲存簡報後再次開啟時,您將不會看到「EMBEDDED OLE OBJECT」訊息。
其他解決方案
如果您不想透過在 PowerPoint 中開啟簡報後再儲存的方式移除「EMBEDDED OLE OBJECT」訊息,您可以改以您偏好的預覽影像取代該訊息。以下程式碼行示範了此過程:
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);
// 將影像加入簡報資源。
IImage image = Images.fromFile("myImage.png");
IPPImage oleImage = presentation.getImages().addImage(image);
// 設定 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();
}
包含 OleObjectFrame 的投影片接著會變更為以下內容:
