ปัญหาการแสดงตัวอย่างอ็อบเจ็กต์เมื่อเพิ่ม OleObjectFrame
Introduction
โดยใช้ Aspose.Slides for Java เมื่อคุณเพิ่ม OleObjectFrame ไปยังสไลด์ จะมีข้อความ “EMBEDDED OLE OBJECT” แสดงบนสไลด์ผลลัพธ์ ข้อความนี้ตั้งใจไว้และไม่ใช่บัก
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับออบเจ็กต์ OLE ดูที่ Manage OLE.
Explanation and Solution
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 Object ได้รับการอัปเดตอย่างถูกต้อง วิธีนี้หลังจากบันทึกงานนำเสนอแล้ว เมื่อคุณเปิดงานนำเสนออีกครั้ง คุณจะไม่เห็นข้อความ “EMBEDDED OLE OBJECT”
Other Solution
หากคุณไม่ต้องการลบข้อความ “EMBEDDED OLE OBJECT” โดยการเปิดงานนำเสนอใน PowerPoint แล้วบันทึกใหม่ คุณสามารถแทนที่ข้อความด้วยภาพตัวอย่างที่คุณต้องการได้ โค้ดต่อไปนี้แสดงกระบวนการดังกล่าว:
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 จะเปลี่ยนเป็นดังนี้:
