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();
}