python-pptx(PythonでPPTX生成)
Python から PowerPoint ファイル(.pptx)を直接生成・編集できるサードパーティライブラリ。Office がインストールされていない環境(Linux サーバー・CI/CD パイプライン等)でも動作するため、業務自動化・レポート生成・AI 連携プレゼン生成に広く使われる。
pip install python-pptx主な機能
| カテゴリ | 機能 |
|---|---|
| スライド操作 | スライドの追加・削除・並び替え |
| テキスト | テキストボックスの配置・フォント・色・サイズ制御 |
| 図形・画像 | 図形(矩形・円等)・画像の配置 |
| グラフ | 棒グラフ・円グラフ・折れ線グラフの生成 |
| テーブル | 行列サイズ・セルスタイル指定のテーブル作成 |
| レイアウト | スライドマスター・レイアウト参照 |
1ファイル完結設計パターン(まつにぃ式)
まつにぃ が提唱する設計思想。デザイン・仕様・コンテンツをすべて1つの .py ファイルに収めることで:
- AI 連携が容易 — ChatGPT Code Interpreter / Claude Artifacts にそのまま添付して実行・編集できる
- 共有が簡単 — モジュール分割不要で1ファイルを渡すだけ
- テンプレート編集が直感的 — 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 との連携ワークフロー
- スクリプトを ChatGPT(Code Interpreter)または Claude(Artifacts)に添付
- 「
SLIDES_TO_USEとSLIDE_CONTENTを〇〇の内容に修正して」と指示 - 「このスクリプトを実行して PPTX を作成して」と指示
- 生成された
.pptxファイルをダウンロード
Note
Gemini の Canvas では 2025年11月時点で動作しない。ChatGPT・Claude での動作は確認済み。
テンプレート AI 生成フロー
Claude Opus 4.5 の画像理解能力を使って、スクリーンショットからテンプレートコードを自動生成できる:
- 理想のスライドデザインのスクリーンショットを用意
- Claude Opus 4.5 にスクリプト + 画像を添付
- 「このデザインを再現する python-pptx のコードを書いて」と指示
活用シーン
- 定期レポートの PPTX 自動生成(データ更新のみで再生成可能)
- AI との会話でスライド内容をインタラクティブに編集
- CI/CD パイプラインでのプレゼン資料自動生成
- Office 非インストール環境(Linux サーバー)でのドキュメント生成