PythonでPowerPointプレゼンテーションをWord文書に変換

概要

本記事では、開発者向けに Aspose.Slides for Python via .NET と Aspose.Words for Python via .NET を使用して、PowerPoint および OpenDocument プレゼンテーションを Word 文書に変換するソリューションを提供します。ステップバイステップのガイドで、変換プロセスのすべての段階を案内します。

プレゼンテーションを Word 文書に変換する

以下の手順に従って、PowerPoint または OpenDocument プレゼンテーションを Word 文書に変換します。

  1. Presentation クラスのインスタンスを作成し、プレゼンテーション ファイルを読み込みます。
  2. DocumentDocumentBuilder クラスのインスタンスを作成して、Word 文書を生成します。
  3. DocumentBuilder.page_setup プロパティを使用して、Word 文書のページサイズをプレゼンテーションのサイズに合わせます。
  4. DocumentBuilder.page_setup プロパティを使用して、Word 文書の余白を設定します。
  5. Presentation.slides プロパティを使用して、すべてのプレゼンテーション スライドを処理します。
    • Slide クラスの get_image メソッドを使用してスライド画像を生成し、メモリ ストリームに保存します。
    • DocumentBuilder クラスの insert_image メソッドを使用して、スライド画像を Word 文書に追加します。
  6. Word 文書をファイルに保存します。

たとえば、次のようなプレゼンテーション “sample.pptx” があるとします。

PowerPoint プレゼンテーション

以下の Python コード例は、PowerPoint プレゼンテーションを Word 文書に変換する方法を示しています。

import aspose.slides as slides
import aspose.words as words

# プレゼンテーション ファイルを読み込みます。
with slides.Presentation("sample.pptx") as presentation:

    # Document と DocumentBuilder オブジェクトを作成します。
    document = words.Document()
    builder = words.DocumentBuilder(document)

    # Word 文書のページサイズを設定します。
    slide_size = presentation.slide_size.size
    builder.page_setup.page_width = slide_size.width
    builder.page_setup.page_height = slide_size.height

    # Word 文書の余白を設定します。
    builder.page_setup.left_margin = 0
    builder.page_setup.right_margin = 0
    builder.page_setup.top_margin = 0
    builder.page_setup.bottom_margin = 0

    scale_x = 2
    scale_y = 2

    # すべてのプレゼンテーション スライドを処理します。
    for slide in presentation.slides:

        # スライド画像を生成し、メモリ ストリームに保存します。
        with slide.get_image(scale_x, scale_y) as image:
            image_stream = BytesIO()
            image.save(image_stream, slides.ImageFormat.PNG)

        # スライド画像を Word 文書に追加します。
        image_stream.seek(0)
        image_width = builder.page_setup.page_width
        image_height = builder.page_setup.page_height
        builder.insert_image(image_stream.read(), image_width, image_height)

        builder.insert_break(words.BreakType.PAGE_BREAK)

    # Word 文書をファイルに保存します。
    document.save("output.docx")

結果:

Word 文書

よくある質問

PowerPoint および OpenDocument プレゼンテーションを Word 文書に変換するために必要なコンポーネントは何ですか?

Python プロジェクトに Aspose.Slides for Python via .NETAspose.Words for Python .NET の各パッケージを追加するだけで済みます。両パッケージはスタンドアロン API として動作し、Microsoft Office をインストールする必要はありません。

すべての PowerPoint および OpenDocument プレゼンテーション形式がサポートされていますか?

Aspose.Slides for Python .NET は、PPT、PPTX、ODP などの一般的なファイル形式を含む、すべてのプレゼンテーション形式をサポートしています。これにより、さまざまなバージョンの Microsoft PowerPointで作成されたプレゼンテーションを扱うことができます。