OLE 物件
Contents
[
Hide
]
本文示範如何將檔案嵌入為 OLE 物件,並使用 Aspose.Slides for Python via Java 更新其資料。
請依照Installation 中的說明安裝套件。每個範例皆在啟動 JVM 之前匯入 asposeslides,然後在 JVM 運作後匯入 API。
新增 OLE 物件
將 PDF 檔案嵌入簡報中。
from pathlib import Path
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import OleEmbeddedDataInfo, Presentation
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
pdf_data = Path("doc.pdf").read_bytes()
java_pdf_data = jpype.JArray(jpype.JByte)(pdf_data)
data_info = OleEmbeddedDataInfo(java_pdf_data, "pdf")
ole_frame = slide.getShapes().addOleObjectFrame(20, 20, 50, 50, data_info)
finally:
presentation.dispose()
存取 OLE 物件
取得投影片上第一個 OLE 物件框架。
from pathlib import Path
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import OleEmbeddedDataInfo, OleObjectFrame, Presentation
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
pdf_data = Path("doc.pdf").read_bytes()
java_pdf_data = jpype.JArray(jpype.JByte)(pdf_data)
data_info = OleEmbeddedDataInfo(java_pdf_data, "pdf")
slide.getShapes().addOleObjectFrame(20, 20, 50, 50, data_info)
first_ole_frame = None
for shape in slide.getShapes():
if isinstance(shape, OleObjectFrame):
first_ole_frame = shape
break
if first_ole_frame is None:
print("The slide contains no OLE object frames.")
finally:
presentation.dispose()
移除 OLE 物件
從投影片中刪除已嵌入的 OLE 物件。
from pathlib import Path
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import OleEmbeddedDataInfo, Presentation
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
pdf_data = Path("doc.pdf").read_bytes()
java_pdf_data = jpype.JArray(jpype.JByte)(pdf_data)
data_info = OleEmbeddedDataInfo(java_pdf_data, "pdf")
ole_frame = slide.getShapes().addOleObjectFrame(20, 20, 50, 50, data_info)
slide.getShapes().remove(ole_frame)
finally:
presentation.dispose()
更新 OLE 物件資料
取代已存在 OLE 物件中嵌入的資料。
from pathlib import Path
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import OleEmbeddedDataInfo, Presentation
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
pdf_data = Path("doc.pdf").read_bytes()
java_pdf_data = jpype.JArray(jpype.JByte)(pdf_data)
data_info = OleEmbeddedDataInfo(java_pdf_data, "pdf")
ole_frame = slide.getShapes().addOleObjectFrame(20, 20, 50, 50, data_info)
new_data = Path("Picture.png").read_bytes()
java_new_data = jpype.JArray(jpype.JByte)(new_data)
new_data_info = OleEmbeddedDataInfo(java_new_data, "png")
ole_frame.setEmbeddedData(new_data_info)
finally:
presentation.dispose()