OleObjectFrame Ekleme Sırasında Nesne Önizleme Sorunu
Giriş
Java üzerinden PHP için Aspose.Slides’ı kullanarak bir slayta OleObjectFrame eklediğinizde, çıktıda bir “EMBEDDED OLE OBJECT” mesajı görüntülenir. Bu mesaj bilinçli olarak gösterilir ve bir hata DEĞİLDİR.
Daha fazla bilgi için Manage OLE bölümüne 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 “Manage OLE” makalesine bakın) ve ardından sunumu Microsoft PowerPoint’te açarsanız, slaytta aşağıdaki görüntüyü görürsünüz:

OLE nesnenizin slayta eklendiğini kontrol etmek ve onaylamak istiyorsanız, “EMBEDDED OLE OBJECT” mesajına çift tıklamanız gerekir veya üzerine sağ tıklayıp Object > Edit (Nesne > Düzenle) seçeneğini kullanabilirsiniz.

PowerPoint ardından gömülü OLE nesnesini açar.

Slayt, “EMBEDDED OLE OBJECT” mesajını tutabilir. 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.

Şimdi, OLE Nesnesi için görüntünün doğru bir şekilde güncellenmesini sağlamak amacıyla sunumunuzu kaydetmek isteyebilirsiniz. Bu şekilde, sunumu kaydettikten sonra tekrar açtığınızda “EMBEDDED OLE OBJECT” mesajını görmezsiniz.
Diğer Çözümler
Çözüm 1: “Embedded OLE Object” Mesajını Bir Görüntüyle Değiştir
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 satırları bu süreci göstermektedir:
$presentation = new Presentation("embeddedOLE.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$oleFrame = $slide->getShapes()->get_Item(0);
// Sunuma bir görüntü ekle.
$image = Images::fromFile("myImage.png");
$oleImage = $presentation->getImages()->addImage($image);
$image->dispose();
// OLE nesne önizlemesi için bir başlık ve görüntü ayarla.
$oleFrame->setSubstitutePictureTitle("My title");
$oleFrame->getSubstitutePictureFormat()->getPicture()->setImage($oleImage);
$oleFrame->setObjectIcon(false);
$presentation->save("embeddedOLE-newImage.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
OleObjectFrame içeren slayt aşağıdaki şekilde değişir:

Çözüm 2: PowerPoint İçin Bir Eklenti Oluşturun
Ayrıca, sunumları programda açtığınızda tüm OLE nesnelerini güncelleyen bir Microsoft PowerPoint eklentisi oluşturabilirsiniz.