OLE объект
Contents
[
Hide
]
В этой статье демонстрируется встраивание файла в виде OLE-объекта и обновление его данных с помощью Aspose.Slides for C++.
Добавить OLE объект
Вставьте файл PDF в презентацию.
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();
}
Получить OLE объект
Получите первый кадр OLE-объекта на слайде.
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();
}
Удалить OLE объект
Удалите встроенный OLE-объект со слайда.
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();
}
Обновить данные OLE объекта
Замените данные, встроенные в существующий OLE-объект.
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();
}