OleObjectFrame Eklerken Nesne Önizleme Sorunu
Giriş
Aspose.Slides for Python via Java’ı kullanarak bir slayta OleObjectFrame eklediğinizde, çıktıda bir “EMBEDDED OLE OBJECT” mesajı görüntülenir. Bu mesaj kasıtlıdır ve bir hata değildir.
Daha fazla bilgi için OLE Yönetimi adresine bakın.
Açıklama ve Çözüm
Aspose.Slides, OLE nesnesinin değiştiğini ve önizleme görüntüsünün güncellenmesi gerektiğini bildirmek için “EMBEDDED OLE OBJECT” mesajını gösterir.
Örneğin, bir Microsoft Excel grafiğini OleObjectFrame olarak bir slayta eklerseniz (daha fazla ayrıntı için “OLE Yönetimi” makalesine bakın) ve ardından sunumu Microsoft PowerPoint’te açarsanız, slaytta şu görüntüyü görürsünüz:

OLE nesnenizin slayta eklendiğini doğrulamak için “EMBEDDED OLE OBJECT” mesajına çift tıklayın veya sağ tıklayıp Object > Edit seçeneğini seçin.

PowerPoint daha sonra gömülü OLE nesnesini açar.

Slayt, “EMBEDDED OLE OBJECT” mesajını koruyabilir. OLE nesnesine tıkladığınızda, slayt önizlemesi güncellenir ve “EMBEDDED OLE OBJECT” mesajı OLE nesnesinin gerçek görüntüsüyle değiştirilir.

Güncellenmiş OLE nesnesi önizleme görüntüsünü korumak için sunumunuzu kaydedin. Sunumu tekrar açtığınızda “EMBEDDED OLE OBJECT” mesajını artık görmeyeceksiniz.
Diğer Çözüm
Sunumu PowerPoint’te açıp kaydederek “EMBEDDED OLE OBJECT” mesajını kaldırmak istemiyorsanız, mesajı tercih ettiğiniz önizleme görüntüsüyle değiştirebilirsiniz. Aşağıdaki kod süreci gösterir:
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)
# Sunuma bir resim ekle.
image = Images.fromFile("myImage.png")
try:
ole_image = presentation.getImages().addImage(image)
finally:
image.dispose()
# OLE nesne önizlemesi için bir başlık ve resmi ayarla.
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()
Bu durumda OleObjectFrame içeren slayt şu şekilde değişir:

SSS
“EMBEDDED OLE OBJECT” mesajı neden ortaya çıkıyor?
Mesaj, OLE nesnesinin değiştiğini ve önizleme görüntüsünün güncellenmesi gerektiğini gösterir. Bu davranış kasıtlıdır.
Önizlemeyi PowerPoint’te nasıl güncellerim?
Mesaja çift tıklayın veya Object > Edit seçeneğini seçerek gömülü OLE nesnesini açın. OLE nesnesine tıklayarak önizlemeyi güncelleyin, ardından sunumu kaydedin.
Sunumu PowerPoint’te açmadan mesajı değiştirebilir miyim?
Evet. Yukarıdaki kod örneğinde gösterildiği gibi OLE nesnesine tercih ettiğiniz bir önizleme görüntüsü atayabilirsiniz.