添加 OleObjectFrame 时的对象预览问题
介绍
使用 Aspose.Slides for .NET,将 OleObjectFrame 添加到幻灯片时,输出幻灯片上会显示 “EMBEDDED OLE OBJECT” 信息。此信息是有意的,且不是错误。
如需了解有关 OLE 对象的更多信息,请参阅 Manage OLE。
解释与解决方案
Aspose.Slides 会显示 “EMBEDDED OLE OBJECT” 信息,以通知您 OLE 对象已更改,需要更新预览图像。
例如,如果您将 Microsoft Excel 图表作为 OleObjectFrame 添加到幻灯片(更多详情请参阅 “Manage OLE” 文章),然后在 Microsoft PowerPoint 中打开演示文稿,您将在幻灯片上看到如下图像:

若要检查并确认 OLE 对象已添加到幻灯片,需双击 “EMBEDDED OLE OBJECT” 信息,或右键单击它并选择 Object > Edit 选项。

PowerPoint 会打开嵌入的 OLE 对象。

幻灯片可能仍保留 “EMBEDDED OLE OBJECT” 信息。单击 OLE 对象后,幻灯片预览会更新,“EMBEDDED OLE OBJECT” 信息将被 OLE 对象的实际图像替代。

现在,您可能需要保存演示文稿,以确保 OLE 对象的图像正确更新。这样,保存后再次打开演示文稿时,将不会再看到 “EMBEDDED OLE OBJECT” 信息。
其它解决方案
解决方案 1:用图像替换 “Embedded OLE Object” 信息
如果您不想通过在 PowerPoint 中打开演示文稿并保存来删除 “EMBEDDED OLE OBJECT” 信息,可以用您喜欢的预览图像替换该信息。以下代码行演示了此过程:
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);
包含 OleObjectFrame 的幻灯片随后会变为如下:

解决方案 2:为 PowerPoint 创建加载项
您还可以为 Microsoft PowerPoint 创建加载项,在程序中打开演示文稿时更新所有 OLE 对象。