Vấn đề xem trước đối tượng khi thêm OleObjectFrame
Giới thiệu
Sử dụng Aspose.Slides for Java, khi bạn thêm OleObjectFrame vào một slide, một thông báo “EMBEDDED OLE OBJECT” sẽ được hiển thị trên slide kết quả. Thông báo này có chủ đích và KHÔNG phải là lỗi.
Để biết thêm thông tin về làm việc với các đối tượng OLE, xem Quản lý OLE.
Giải thích và Giải pháp
Aspose.Slides hiển thị thông báo “EMBEDDED OLE OBJECT” để thông báo rằng đối tượng OLE đã được thay đổi và hình ảnh xem trước cần được cập nhật.
Ví dụ, nếu bạn thêm một biểu đồ Microsoft Excel dưới dạng OleObjectFrame vào một slide (để biết chi tiết, xem bài viết “Quản lý OLE”) và sau đó mở bản trình chiếu trong Microsoft PowerPoint, bạn sẽ thấy hình ảnh này trên slide:

Nếu bạn muốn kiểm tra và xác nhận rằng đối tượng OLE đã được thêm vào slide, bạn phải nhấp đúp vào thông báo “EMBEDDED OLE OBJECT”, hoặc bạn có thể nhấp chuột phải vào nó và chọn Object > Edit.

PowerPoint sẽ mở đối tượng OLE nhúng.

Slide có thể giữ lại thông báo “EMBEDDED OLE OBJECT”. Khi bạn nhấp vào đối tượng OLE, bản xem trước của slide sẽ được cập nhật và thông báo “EMBEDDED OLE OBJECT” sẽ được thay thế bằng hình ảnh thực tế của đối tượng OLE.

Bây giờ, bạn có thể muốn lưu bản trình chiếu để đảm bảo hình ảnh của OLE Object được cập nhật đúng cách. Khi lưu bản trình chiếu, mở lại lần sau, bạn sẽ KHÔNG thấy thông báo “EMBEDDED OLE OBJECT”.
Các giải pháp khác
Giải pháp 1: Thay thế thông báo “Embedded OLE Object” bằng hình ảnh
Nếu bạn không muốn loại bỏ thông báo “EMBEDDED OLE OBJECT” bằng cách mở bản trình chiếu trong PowerPoint và sau đó lưu lại, bạn có thể thay thế thông báo bằng hình ảnh xem trước mà bạn ưa thích. Các dòng mã dưới đây minh họa quy trình:
const presentation = new aspose.slides.Presentation("embeddedOLE.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const oleFrame = slide.getShapes().get_Item(0);
// Thêm một hình ảnh vào tài nguyên bản trình chiếu.
const image = aspose.slides.Images.fromFile("myImage.png");
const oleImage = presentation.getImages().addImage(image);
// Đặt tiêu đề và hình ảnh cho bản xem trước đối tượng 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();
}
Slide chứa OleObjectFrame sẽ thay đổi như sau:

Giải pháp 2: Tạo Add‑On cho PowerPoint
Bạn cũng có thể tạo một add‑on cho Microsoft PowerPoint để cập nhật tất cả các đối tượng OLE khi mở bản trình chiếu trong chương trình.