OLE オブジェクト
Contents
[
Hide
]
この記事では、ファイルをOLEオブジェクトとして埋め込み、Aspose.Slides for Android via Java を使用してそのデータを更新する方法を示します。
OLEオブジェクトの追加
プレゼンテーションにPDFファイルを埋め込みます。
static void addOleObject() throws IOException {
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
byte[] pdfData = readAllBytes("doc.pdf");
IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(pdfData, "pdf");
IOleObjectFrame oleFrame = slide.getShapes().addOleObjectFrame(20, 20, 50, 50, dataInfo);
} finally {
presentation.dispose();
}
}
OLEオブジェクトへのアクセス
スライド上の最初のOLEオブジェクトフレームを取得します。
static void accessOleObject() throws IOException {
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
byte[] pdfData = readAllBytes("doc.pdf");
IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(pdfData, "pdf");
IOleObjectFrame oleFrame = slide.getShapes().addOleObjectFrame(20, 20, 50, 50, dataInfo);
IOleObjectFrame firstOleFrame = null;
for (IShape shape : slide.getShapes()) {
if (shape instanceof IOleObjectFrame) {
firstOleFrame = (IOleObjectFrame) shape;
break;
}
}
} finally {
presentation.dispose();
}
}
OLEオブジェクトの削除
スライドから埋め込まれたOLEオブジェクトを削除します。
static void removeOleObject() throws IOException {
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
byte[] pdfData = readAllBytes("doc.pdf");
IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(pdfData, "pdf");
IOleObjectFrame oleFrame = slide.getShapes().addOleObjectFrame(20, 20, 50, 50, dataInfo);
slide.getShapes().remove(oleFrame);
} finally {
presentation.dispose();
}
}
OLEオブジェクト データの更新
既存のOLEオブジェクトに埋め込まれたデータを置き換えます。
static void updateOleObjectData() throws IOException {
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
byte[] pdfData = readAllBytes("doc.pdf");
OleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(pdfData, "pdf");
IOleObjectFrame oleFrame = slide.getShapes().addOleObjectFrame(20, 20, 50, 50, dataInfo);
byte[] newData = Files.readAllBytes(Paths.get("Picture.png"));
OleEmbeddedDataInfo newDataInfo = new OleEmbeddedDataInfo(newData, "png");
oleFrame.setEmbeddedData(newDataInfo);
} finally {
presentation.dispose();
}
}
メソッド readAllBytes
public static byte[] readAllBytes(String file) throws IOException {
FileInputStream fis = new FileInputStream(new File(file));
byte[] data = new byte[(int) file.length()];
fis.read(data);
fis.close();
return data;
}