مشکل پیشنمایش شی هنگام افزودن OleObjectFrame
مقدمه
هنگامی که از Aspose.Slides برای Python از طریق Java استفاده میکنید تا یک OleObjectFrame به اسلاید اضافه کنید، پیام «EMBEDDED OLE OBJECT» روی اسلاید خروجی نمایش داده میشود. این پیام عمدی است و نقصی نیست.
برای اطلاعات بیشتر درباره کار با اشیای OLE، به مدیریت OLE مراجعه کنید.
توضیح و راه حل
Aspose.Slides پیام «EMBEDDED OLE OBJECT» را برای اطلاعرسانی اینکه شی OLE تغییر کرده و تصویر پیشنمایش باید بهروزرسانی شود، نمایش میدهد.
به عنوان مثال، اگر یک نمودار Microsoft Excel را به عنوان یک OleObjectFrame به اسلاید اضافه کنید (برای جزئیات بیشتر، مقاله «مدیریت 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 jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Images, Presentation, SaveFormat
presentation = Presentation("embeddedOLE.pptx")
try:
slide = presentation.getSlides().get_Item(0)
ole_frame = slide.getShapes().get_Item(0)
# یک تصویر به منابع ارائه اضافه کنید.
image = Images.fromFile("myImage.png")
try:
ole_image = presentation.getImages().addImage(image)
finally:
image.dispose()
# یک عنوان و تصویر برای پیشنمایش شی OLE تنظیم کنید.
ole_frame.setSubstitutePictureTitle("My title")
ole_frame.getSubstitutePictureFormat().getPicture().setImage(ole_image)
ole_frame.setObjectIcon(False)
presentation.save("embeddedOLE-newImage.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
اسلاید حاوی OleObjectFrame سپس به این شکل تغییر میکند:

سوالات متداول
چرا پیام «EMBEDDED OLE OBJECT» نمایش داده میشود؟
این پیام نشان میدهد که شی OLE تغییر کرده و تصویر پیشنمایش آن نیاز به بهروزرسانی دارد. این رفتار عمدی است.
چگونه میتوان پیشنمایش را در PowerPoint بهروزرسانی کرد؟
روی پیام دو بار کلیک کنید یا Object > Edit را انتخاب کنید تا شی OLE جاسازیشده باز شود. سپس روی شی OLE کلیک کنید تا پیشنمایش بهروز شود و پس از آن ارائه را ذخیره کنید.
آیا میتوان بدون باز کردن ارائه در PowerPoint، پیام را جایگزین کرد؟
بله. میتوانید همانطور که در مثال کد بالا نشان داده شد، یک تصویر پیشنمایش دلخواه را به شی OLE اختصاص دهید.