OleObjectFrame Ekleme Sırasında Nesne Önizleme Sorunu

Giriş

Aspose.Slides for Java kullanırken, bir slayta OleObjectFrame eklediğinizde, çıktı slaytında “EMBEDDED OLE OBJECT” mesajı gösterilir. Bu mesaj kasıtlıdır ve HATA değildir.

Daha fazla bilgi için OLE nesneleriyle çalışmak hakkında, Manage OLE sayfasına 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 bir OleObjectFrame olarak slayta eklerseniz (daha fazla ayrıntı için “Manage OLE” makalesine bakın) ve ardından sunumu Microsoft PowerPoint’te açarsanız, slaytta bu görüntüyü görürsünüz:

OLE object message

OLE nesnenizin slayta eklendiğini kontrol etmek ve doğrulamak istiyorsanız, “EMBEDDED OLE OBJECT” mesajına çift tıklamanız gerekir, ya da üzerine sağ tıklayıp Object > Edit seçeneğine gidebilirsiniz.

OLE object > Edit

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

OLE object data

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.

OLE object preview

Şimdi, OLE Nesnesi için görüntünün doğru şekilde güncellenmesini sağlamak amacıyla sunumunuzu kaydetmek isteyebilirsiniz. Böylece, sunumu kaydettikten sonra tekrar açtığınızda “EMBEDDED OLE OBJECT” mesajını GÖRMEYECEKSİNİZ.

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 satırları bu süreci gösterir:

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);

    // Sunum kaynaklarına bir görüntü ekleyin.
    IImage image = Images.fromFile("myImage.png");
    IPPImage oleImage = presentation.getImages().addImage(image);

    // OLE nesnesi önizlemesi için bir başlık ve görüntü ayarlayın.
    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 içeren slayt daha sonra şu şekilde değişir:

New OLE object image