مشكلة معاينة الكائن عند إضافة OleObjectFrame
المقدمة
باستخدام 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”.
حل آخر
إذا لم ترغب في إزالة رسالة “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 إلى ما يلي:
