PythonでPowerPointプレゼンテーションをアニメーションGIFに変換

概要

Aspose.Slides for Python via Java を使用すると、数行のコードで PowerPoint プレゼンテーションをアニメーション GIF ファイルに変換できます。これは、ウェブページ、メッセンジャー、またはドキュメントでスライドの内容を共有する際に便利です。本記事では、既定の設定でプレゼンテーションをエクスポートする方法と、GifOptions を使用してフレームサイズ、スライド遅延、トランジションのフレームレートをカスタマイズする方法を説明します。

既定設定でプレゼンテーションをアニメーション GIF に変換する

以下の Python サンプルは pres.pptx を読み込み、標準設定でアニメーション GIF として保存します:

import jpype
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation("pres.pptx")
try:
    presentation.save("pres.gif", SaveFormat.Gif)
finally:
    presentation.dispose()

カスタム設定でプレゼンテーションをアニメーション GIF に変換する

setFrameSize を使用して出力サイズ(ピクセル)を指定し、setDefaultDelay でデフォルトのスライド遅延(ミリ秒)を設定し、setTransitionFps でトランジションのフレームレートを制御します。

以下の例は、960×720 の GIF をエクスポートし、デフォルトのスライド遅延を 2 秒、トランジションは 1 秒あたり 35 フレームに設定します。スライドの「自動再生」時間が設定されていない場合、デフォルト遅延が適用されます。

import jpype
import asposeslides

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

from asposeslides.api import GifOptions, Presentation, SaveFormat

Dimension = jpype.JClass("java.awt.Dimension")

presentation = Presentation("pres.pptx")
try:
    gif_options = GifOptions()
    frame_size = Dimension(960, 720)
    gif_options.setFrameSize(frame_size)
    gif_options.setDefaultDelay(2000)
    gif_options.setTransitionFps(35)

    presentation.save("pres.gif", SaveFormat.Gif, gif_options)
finally:
    presentation.dispose()

FAQ

プレゼンテーションで使用されているフォントがシステムにインストールされていない場合はどうすればよいですか?

不足しているフォントをインストールするか、fallback フォントを構成してください。フォントの置換により、エクスポートされた GIF の見た目が変わることがあります。プレゼンテーションのデザインと一致させるために、元のフォントを利用可能にしておくことが重要です。

GIF フレームに透かしを重ねることはできますか?

はい。エクスポート前に、対象のマスタースライドまたは個別スライドに 半透明のオブジェクトやロゴを追加してください。透かしはレンダリングされたスライド内容の一部として組み込まれます。