Objektum előnézeti probléma OleObjectFrame hozzáadásakor
Bevezetés
Az Aspose.Slides for .NET használatával, amikor egy OleObjectFrame-t adsz egy diára, a kimeneti dián megjelenik egy „EMBEDDED OLE OBJECT” üzenet. Ez az üzenet szándékos, és NEM hiba.
További információk az OLE objektumokkal való munkavégzésről: OLE kezelése.
Magyarázat és megoldás
Az Aspose.Slides megjeleníti a „EMBEDDED OLE OBJECT” üzenetet, hogy jelezze, az OLE objektum módosult, és a előnézeti képet frissíteni kell.
Például, ha egy Microsoft Excel diagramot adsz egy OleObjectFrame-ként a diára (további részletek a „OLE kezelése” cikkben), majd megnyitod a prezentációt a Microsoft PowerPointban, a dián ezt a képet látod:

Ha ellenőrizni és megerősíteni szeretnéd, hogy az OLE objektum hozzá lett adva a diához, duplán kattints a „EMBEDDED OLE OBJECT” üzenetre, vagy jobb‑kattintással válaszd a Object > Edit lehetőséget.

A PowerPoint ezután megnyitja a beágyazott OLE objektumot.

A dia megtarthatja a „EMBEDDED OLE OBJECT” üzenetet. Amint rákattintasz az OLE objektumra, a dia előnézete frissül, és a „EMBEDDED OLE OBJECT” üzenet helyére az OLE objektum tényleges képe kerül.

Most el szeretnéd menteni a prezentációt, hogy az OLE objektum képe helyesen frissüljön. Így a mentés után, amikor újra megnyitod a prezentációt, már nem lesz látható a „EMBEDDED OLE OBJECT” üzenet.
Egyéb megoldások
Megoldás 1: A „Embedded OLE Object” üzenet cseréje képre
Ha nem akarod eltávolítani a „EMBEDDED OLE OBJECT” üzenetet a PowerPointban történő megnyitás és mentés útján, kicserélheted az üzenetet a kívánt előnézeti képre. Az alábbi kódsorok bemutatják a folyamatot:
using var presentation = new Presentation("embeddedOLE.pptx");
var slide = presentation.Slides[0];
var oleFrame = (IOleObjectFrame)slide.Shapes[0];
// Add an image to presentation resources.
using var imageStream = File.OpenRead("myImage.png");
var oleImage = presentation.Images.AddImage(imageStream);
// Set a title and the image for the OLE object preview.
oleFrame.SubstitutePictureTitle = "My title";
oleFrame.SubstitutePictureFormat.Picture.Image = oleImage;
oleFrame.IsObjectIcon = false;
presentation.Save("embeddedOLE-newImage.pptx", SaveFormat.Pptx);
A OleObjectFrame‑et tartalmazó dia ezután így néz ki:

Megoldás 2: Bővítmény készítése a PowerPointhoz
Készíthetsz egy bővítményt a Microsoft PowerPointhoz, amely a prezentációk megnyitásakor frissíti az összes OLE objektumot.