python-pptx(PythonでPPTX生成)

Python から PowerPoint ファイル(.pptx)を直接生成・編集できるサードパーティライブラリ。Office がインストールされていない環境(Linux サーバー・CI/CD パイプライン等)でも動作するため、業務自動化・レポート生成・AI 連携プレゼン生成に広く使われる。

pip install python-pptx

主な機能

カテゴリ機能
スライド操作スライドの追加・削除・並び替え
テキストテキストボックスの配置・フォント・色・サイズ制御
図形・画像図形(矩形・円等)・画像の配置
グラフ棒グラフ・円グラフ・折れ線グラフの生成
テーブル行列サイズ・セルスタイル指定のテーブル作成
レイアウトスライドマスター・レイアウト参照

1ファイル完結設計パターン(まつにぃ式)

まつにぃ が提唱する設計思想。デザイン・仕様・コンテンツをすべて1つの .py ファイルに収めることで:

  1. AI 連携が容易 — ChatGPT Code Interpreter / Claude Artifacts にそのまま添付して実行・編集できる
  2. 共有が簡単 — モジュール分割不要で1ファイルを渡すだけ
  3. テンプレート編集が直感的 — JSON 形式の SLIDE_CONTENT 辞書を編集するだけ
# スライド構成指定
SLIDES_TO_USE = [1, 2, 3, 4, 5, 1]
 
# コンテンツ指定
SLIDE_CONTENT = {
    1: {"title": "表紙タイトル", "subtitle": "...", "credit": "..."},
    2: {"title": "目次", "items": ["項目1", "項目2"]},
    3: {"title": "売上推移", "categories": [...], "series": [...]},
    ...
}

ChatGPT / Claude との連携ワークフロー

  1. スクリプトを ChatGPT(Code Interpreter)または Claude(Artifacts)に添付
  2. SLIDES_TO_USESLIDE_CONTENT を〇〇の内容に修正して」と指示
  3. 「このスクリプトを実行して PPTX を作成して」と指示
  4. 生成された .pptx ファイルをダウンロード

Note

Gemini の Canvas では 2025年11月時点で動作しない。ChatGPT・Claude での動作は確認済み。

テンプレート AI 生成フロー

Claude Opus 4.5 の画像理解能力を使って、スクリーンショットからテンプレートコードを自動生成できる:

  1. 理想のスライドデザインのスクリーンショットを用意
  2. Claude Opus 4.5 にスクリプト + 画像を添付
  3. 「このデザインを再現する python-pptx のコードを書いて」と指示

活用シーン

  • 定期レポートの PPTX 自動生成(データ更新のみで再生成可能)
  • AI との会話でスライド内容をインタラクティブに編集
  • CI/CD パイプラインでのプレゼン資料自動生成
  • Office 非インストール環境(Linux サーバー)でのドキュメント生成

関連