Problem z podglądem obiektu przy dodawaniu OleObjectFrame
Wprowadzenie
Korzystając z Aspose.Slides for .NET, gdy dodajesz OleObjectFrame do slajdu, na wyjściowym slajdzie wyświetlany jest komunikat „EMBEDDED OLE OBJECT”. Ten komunikat jest zamierzony i NIE jest błędem.
Aby uzyskać więcej informacji o pracy z obiektami OLE, zobacz Manage OLE.
Wyjaśnienie i rozwiązanie
Aspose.Slides wyświetla komunikat „EMBEDDED OLE OBJECT”, aby powiadomić, że obiekt OLE został zmieniony i podglądowy obraz musi zostać zaktualizowany.
Na przykład, jeśli dodasz wykres Microsoft Excel jako OleObjectFrame do slajdu (więcej szczegółów w artykule „Manage OLE”) i otworzysz prezentację w Microsoft PowerPoint, zobaczysz ten obraz na slajdzie:

Jeśli chcesz sprawdzić i potwierdzić, że twój obiekt OLE został dodany do slajdu, musisz dwukrotnie kliknąć komunikat „EMBEDDED OLE OBJECT” lub możesz kliknąć prawym przyciskiem myszy i wybrać Object > Edit.

PowerPoint otwiera wtedy osadzony obiekt OLE.

Slajd może nadal wyświetlać komunikat „EMBEDDED OLE OBJECT”. Po kliknięciu obiektu OLE podgląd slajdu zostaje zaktualizowany, a komunikat „EMBEDDED OLE OBJECT” zostaje zastąpiony rzeczywistym obrazem obiektu OLE.

Teraz możesz zapisać swoją prezentację, aby upewnić się, że obraz obiektu OLE zostanie prawidłowo zaktualizowany. Dzięki temu po zapisaniu i ponownym otwarciu prezentacji nie zobaczysz komunikatu „EMBEDDED OLE OBJECT”.
Inne rozwiązania
Rozwiązanie 1: Zastąp komunikat „Embedded OLE Object” obrazem
Jeśli nie chcesz usuwać komunikatu „EMBEDDED OLE OBJECT” otwierając prezentację w PowerPoint i zapisując ją, możesz zastąpić ten komunikat wybranym przez siebie obrazem podglądowym. Poniższe wiersze kodu ilustrują proces:
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);
Slajd zawierający OleObjectFrame zmienia się wtedy na:

Rozwiązanie 2: Utwórz dodatek do PowerPoint
Możesz również stworzyć dodatek dla Microsoft PowerPoint, który aktualizuje wszystkie obiekty OLE podczas otwierania prezentacji w programie.