プレゼンテーションを開く
ゼロからPowerPointプレゼンテーションを作成することに加えて、Aspose.Slidesを使用すると、既存のプレゼンテーションを開くことができます。プレゼンテーションを読み込むと、その情報を取得したり、プレゼンテーションを編集したり(スライドの内容)、新しいスライドを追加したり、既存のスライドを削除したりすることができます。
プレゼンテーションを開く
既存のプレゼンテーションを開くには、単にPresentationクラスをインスタンス化し、(開きたいプレゼンテーションの)ファイルパスをコンストラクタに渡します。
このPythonコードは、プレゼンテーションを開き、含まれているスライドの数を取得する方法を示しています:
import aspose.slides as slides
# Presentationクラスをインスタンス化し、ファイルパスをコンストラクタに渡す
with slides.Presentation("pres.pptx") as pres:
# プレゼンテーションに存在する総スライド数を出力
print(pres.slides.length)
パスワード保護されたプレゼンテーションを開く
パスワード保護されたプレゼンテーションを開く必要がある場合は、password
プロパティ(LoadOptionsクラスから)を介してパスワードを渡し、プレゼンテーションを復号化して読み込むことができます。このPythonコードは、その操作を示しています:
import aspose.slides as slides
load_options = slides.LoadOptions()
load_options.password = "PASSWORD"
with slides.Presentation("pres.pptx", load_options) as pres:
...
大きなプレゼンテーションを開く
Aspose.Slidesは、LoadOptionsクラスの下で、大きなプレゼンテーションを読み込むためのオプション(特にblob_management_options
プロパティ)を提供します。
このPythonコードは、大きなプレゼンテーション(例えば2GBのサイズ)を読み込む操作を示します:
import aspose.slides as slides
import os
loadOptions = slides.LoadOptions()
loadOptions.blob_management_options = slides.BlobManagementOptions()
loadOptions.blob_management_options.presentation_locking_behavior = slides.PresentationLockingBehavior.KEEP_LOCKED
with slides.Presentation("pres.pptx", loadOptions) as pres:
# 大きなプレゼンテーションが読み込まれ、使用可能ですが、メモリ消費は依然として低いです。
# プレゼンテーションに変更を加える。
pres.slides[0].name = "非常に大きなプレゼンテーション"
# プレゼンテーションは別のファイルに保存されます。操作中のメモリ消費は低いままです。
pres.save("veryLargePresentation-copy.pptx", slides.export.SaveFormat.PPTX)
# それはできません!ファイルがロックされているためIO例外が発生します。
os.remove("pres.pptx")
# ここでそれをするのは問題ありません。ソースファイルはpresオブジェクトによってロックされていません。
os.remove("pres.pptx")
情報
ストリームとやり取りするときに特定の制限を回避するために、Aspose.Slidesはストリームの内容をコピーする場合があります。ストリームを介して大きなプレゼンテーションを読み込むと、プレゼンテーションの内容がコピーされ、読み込みが遅くなります。したがって、大きなプレゼンテーションを読み込む場合は、プレゼンテーションファイルのパスを使用し、ストリームは使用しないことを強くお勧めします。
大きなオブジェクト(ビデオ、オーディオ、大きな画像など)を含むプレゼンテーションを作成する場合、Blob機能を使用してメモリ消費を削減できます。
プレゼンテーションを読み込む
Aspose.Slidesは、外部リソースを管理できる単一のメソッドを持つIResourceLoadingCallbackを提供します。このPythonコードは、IResourceLoadingCallback
インターフェースを使用する方法を示しています:
# [TODO[not_supported_yet]: .netインターフェースのpython実装]
プレゼンテーションを開いて保存する
- Presentationクラスのインスタンスを作成し、開きたいファイルを渡します。
- プレゼンテーションを保存します。
import aspose.slides as slides
# PPTファイルを表すPresentationオブジェクトをインスタンス化
with slides.Presentation() as presentation:
#...ここでいくつかの作業を行います...
# プレゼンテーションをファイルに保存
presentation.save("Saved_out.pptx", slides.export.SaveFormat.PPTX)