Python via Java で PowerPoint プレゼンテーションを XML に変換

概要

Aspose.Slides for Python via Java は PowerPoint プレゼンテーションを PowerPoint XML プレゼンテーション形式に変換できます。XML 出力は、プレゼンテーション構造をテキストベースで確認したり、生成されたドキュメントのトラブルシューティングを行ったり、自動テストで出力を比較したり、XML を消費するワークフローと統合したりする場合に有用です。

Presentation.save メソッドに、SaveFormat クラスの Xml 値を指定して使用します。結果はファイルに直接書き込むことも、ストリームに書き込むこともできます。

プレゼンテーションを XML ファイルに変換する

Presentation クラスでソース プレゼンテーションをロードし、出力パスと SaveFormat.XmlPresentation.save に渡します。ソースは PPT、PPTX、ODP など、ロードがサポートされている任意のプレゼンテーション形式で構いません。

次の例は PPTX プレゼンテーションを XML ファイルに変換します。

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation("presentation.pptx")
try:
    presentation.save("presentation.xml", SaveFormat.Xml)
finally:
    presentation.dispose()

XML 出力をストリームに書き込む

XML をメモリ内に保持したり、Web サービス、ストレージ プロバイダー、XML 処理パイプラインなどの別コンポーネントに渡したりする必要がある場合は、Presentation.save のストリーム オーバーロードを使用します。次の例は結果を ByteArrayOutputStream に書き込み、Python の bytes オブジェクトとして取得します。

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

ByteArrayOutputStream = jpype.JClass("java.io.ByteArrayOutputStream")

presentation = Presentation("presentation.pptx")
try:
    xml_stream = ByteArrayOutputStream()
    try:
        presentation.save(xml_stream, SaveFormat.Xml)
        java_bytes = xml_stream.toByteArray()
        xml_data = bytes(java_bytes)

        # xml_data をワークフローの次のコンポーネントに渡す。
    finally:
        xml_stream.close()
finally:
    presentation.dispose()

XML とプレゼンテーションおよびエクスポート形式の比較

結果の利用方法に応じて出力形式を選択します。

形式 出力 主な使用例
PowerPoint XML (.xml) PowerPoint XML プレゼンテーション 構造の検査、トラブルシューティング、生成出力の比較、XML ベースの統合
PPT (.ppt) 従来のバイナリ プレゼンテーション ファイル 古い PowerPoint ワークフローとの互換性
PPTX (.pptx) 複数パーツを含む Office Open XML パッケージ 通常の PowerPoint 編集およびプレゼンテーションの交換
PDF または TIFF 固定レイアウト ページまたはマルチページ画像 表示、印刷、アーカイブ
PNG、JPEG、または SVG 個々のスライドのレンダリング表現 サムネイル、プレビュー、画像資産
HTML または HTML5 Web 向けプレゼンテーション出力 ブラウザでの表示とウェブ公開

PPT や PPTX とは異なり、XML 出力は主に検査やデータ指向のワークフロー向けです。PDF、TIFF、HTML、スライド画像形式とは異なり、スライドをページやビジュアル資産としてレンダリングするのではなく、プレゼンテーション データを表現します。サポートされているファイル形式一覧 (/slides/ja/python-java/supported-file-formats/) では PowerPoint XML プレゼンテーションは保存専用形式として示されているため、エクスポートしたファイルを再度 Aspose.Slides に読み込んで編集を続行する必要があるワークフローでは使用しないでください。

FAQ

XML エクスポートは PPTX ファイルの保存と同じですか?

いいえ。PPTX は複数の Office Open XML パーツを含むパッケージですが、SaveFormat.Xml は PowerPoint XML プレゼンテーション ファイルを作成します。

XML 出力をディスクにファイルを作成せずに保存できますか?

はい。Presentation.save に書き込み可能な Java 出力ストリームを渡します。たとえば、インメモリ処理用に ByteArrayOutputStream を使用します。

Aspose.Slides はエクスポートした XML ファイルを再度読み込めますか?

いいえ。PowerPoint XML プレゼンテーションは現在保存のみがサポートされており、読み込みはサポートされていません。往復編集が必要な場合は PPTX などのサポートされているプレゼンテーション形式を使用してください。

XML 変換は各スライドをページまたは画像としてレンダリングしますか?

いいえ。XML 変換は構造化されたプレゼンテーション データを書き出します。ページ指向の出力が必要な場合は PDF や TIFF を、個別スライド画像が必要な場合は PNG、JPEG、SVG を使用してください。