OLE オブジェクト
Contents
[
Hide
]
この記事では、Aspose.Slides for Python via Java を使用してファイルを OLE オブジェクトとして埋め込み、そのデータを更新する方法を示します。
パッケージは 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()