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