OLE Object
Contents
[
Hide
]
This article demonstrates embedding a file as an OLE object and updating its data using Aspose.Slides for C++.
Add an OLE Object
Embed a PDF file into the presentation.
static void AddOleObject()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto pdfData = File::ReadAllBytes(u"doc.pdf");
auto dataInfo = MakeObject<OleEmbeddedDataInfo>(pdfData, u"pdf");
auto oleFrame = slide->get_Shapes()->AddOleObjectFrame(20, 20, 50, 50, dataInfo);
presentation->Dispose();
}
Access an OLE Object
Retrieve the first OLE object frame on a slide.
static void AccessOleObject()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto pdfData = File::ReadAllBytes(u"doc.pdf");
auto dataInfo = MakeObject<OleEmbeddedDataInfo>(pdfData, u"pdf");
auto oleFrame = slide->get_Shapes()->AddOleObjectFrame(20, 20, 50, 50, dataInfo);
auto firstOleFrame = SharedPtr<IOleObjectFrame>();
for (auto&& shape : slide->get_Shapes())
{
if (ObjectExt::Is<IOleObjectFrame>(shape))
{
firstOleFrame = ExplicitCast<IOleObjectFrame>(shape);
break;
}
}
presentation->Dispose();
}
Remove an OLE Object
Delete an embedded OLE object from the slide.
static void RemoveOleObject()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto pdfData = File::ReadAllBytes(u"doc.pdf");
auto dataInfo = MakeObject<OleEmbeddedDataInfo>(pdfData, u"pdf");
auto oleFrame = slide->get_Shapes()->AddOleObjectFrame(20, 20, 50, 50, dataInfo);
slide->get_Shapes()->Remove(oleFrame);
presentation->Dispose();
}
Update OLE Object Data
Replace the data embedded in an existing OLE object.
static void UpdateOleObjectData()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto pdfData = File::ReadAllBytes(u"doc.pdf");
auto dataInfo = MakeObject<OleEmbeddedDataInfo>(pdfData, u"pdf");
auto oleFrame = slide->get_Shapes()->AddOleObjectFrame(20, 20, 50, 50, dataInfo);
auto newData = File::ReadAllBytes(u"Picture.png");
auto newDataInfo = MakeObject<OleEmbeddedDataInfo>(newData, u"png");
oleFrame->SetEmbeddedData(newDataInfo);
presentation->Dispose();
}