Pythonを使用してPowerPointプレゼンテーションを画像に変換する

情報の共有と伝達は効率向上の重要な要素です。PowerPointプレゼンテーション（PPT）は成果を示すための一般的なツールとして、内容の柔軟性と視覚的な魅力が評価されています。しかし、異なるプラットフォームの互換性制限、便利な共有のニーズ、または迅速なプレビューのシナリオに直面した場合、PPTを画像形式に変換することで、さまざまなシナリオのニーズに対応できます。この記事では、**Pythonを使用してPowerPointプレゼンテーション（PPT）を画像に変換する方法**を紹介し、異なる展示や共有のニーズに対応しながら、バッチ処理と自動化を実現し、効率を向上させます。

- **[PowerPointプレゼンテーションをJPG、PNG、またはBMP画像に変換する](#powerpointプレゼンテーションをjpgpngまたはbmp画像に変換する)**
- **[PowerPointプレゼンテーションをSVG画像に変換する](#powerpointプレゼンテーションをsvg画像に変換する)**

この記事で使用する方法は、[Spire.Presentation for Python](https://www.e-iceblue.com/Download/Spire-Presentation-Python.html)に基づいています。PyPI：`pip install Spire.Presentation`。

[無料ライセンスの申請](https://www.e-iceblue.com/TemLicense.html)

## PowerPointプレゼンテーションをJPG、PNG、またはBMP画像に変換する
ライブラリの `ISlide.SaveAsImage()` メソッドを使用して、PowerPointプレゼンテーションのスライドをPNG、JPG、またはBMPなどの画像ファイルに変換できます。具体的な手順は以下の通りです：
1. 必要なモジュールをインポートします。
2. `Presentation.LoadFromFile()` メソッドを使用してPowerPointプレゼンテーションを読み込みます。
3. プレゼンテーション内のスライドをループします。
4. `ISlide.SaveAsImage()` メソッドを使用して各スライドを画像ストリームとして保存します。また、`ISlide.SaveAsImageByWH()` メソッドを使用して指定の高さと幅で保存することもできます。
5. `Stream.Save()` メソッドを使用して画像ストリームをJPG、PNG、またはBMPファイルとして保存します。
6. リソースを解放します。

**コード例**
```python
from spire.presentation.common import *
from spire.presentation import *

# Presentationオブジェクトを作成する
presentation = Presentation()

# PowerPointプレゼンテーションをロードする
presentation.LoadFromFile("Sample.pptx")

# プレゼンテーション内のスライドを反復処理する
for i in range(presentation.Slides.Count):
    # スライドを取得する
    slide = presentation.Slides.get_Item(i)
    # 出力ファイル名を指定する
    fileName ="Output/ToImage_" + str(i) + ".png"
    # 各スライドをPNGイメージとして保存する
    image = slide.SaveAsImage()
    # または指定した幅と高さでスライドを画像として保存する
    # image = slide.SaveAsImageByWH(800, 600)
    image.Save(fileName)
    image.Dispose()

presentation.Dispose()
```

**結果**
![Pythonを使用してPowerPointを画像に変換](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/27118240-9184-30be-71af-5ac4b8212dcb.png)

## PowerPointプレゼンテーションをSVG画像に変換する
ライブラリの `ISlide.SaveToSVG()` メソッドを使用して、スライドをSVG形式の画像に変換することもできます。以下は手順です：
1. 必要なモジュールをインポートします。
2. `Presentation.LoadFromFile()` メソッドを使用してPowerPointプレゼンテーションを読み込みます。
3. スライドをSVGファイルに変換する際に注釈を保持するために、`Presentation.IsNoteRetained` プロパティをTrueに設定します。
4. プレゼンテーション内のスライドをループします。
5. `ISlide.SaveToSVG()` メソッドを使用して各スライドをSVGストリームとして保存します。
6. `Stream.Save()` メソッドを使用してSVGストリームをSVGファイルとして保存します。
7. リソースを解放します。

**コード例**
```python
from spire.presentation.common import *
from spire.presentation import *

# Presentationオブジェクトを作成する
presentation = Presentation()

# PowerPointプレゼンテーションをロードする
presentation.LoadFromFile("Sample.pptx")

# 演習ファイルをSVGファイルに変換する際にノート情報を保持するためにIsNoteRetainedプロパティをTrueに設定する
presentation.IsNoteRetained = True

# プレゼンテーション内のスライドを反復処理する
for i, slide in enumerate(presentation.Slides):
    # 出力ファイル名を指定する
    fileName = "SVG/ToSVG_" + str(i) + ".svg"
    # 各スライドをSVGイメージとして保存する
    svgStream = slide.SaveToSVG()
    svgStream.Save(fileName)

presentation.Dispose()
```

この記事では、Pythonを使用してPowerPointプレゼンテーションのスライドをさまざまな形式の画像に変換する方法を紹介しました。

さらに多くのPowerPointプレゼンテーション処理のコツについては、[Spire.Presentation for Pythonのチュートリアル](https://www.e-iceblue.com/Tutorials/Python/Spire.Presentation-for-Python/Program-Guide/Spire.Presentation-for-Python-Program-Guide-Content.html)をご覧ください。