Python1つでPPTXが作成できる方法
著者: まつにぃ 媒体: note 公開日: 2025-11-27
概要
まつにぃ(エクスプラザ AIリードプロデューサー)による、python-pptx ライブラリを使った PowerPoint ファイル自動生成スクリプトの紹介・解説記事。デザイン・仕様・コンテンツをすべて1ファイルに収めることで、ChatGPT / Claude の Code Interpreter / Artifacts からそのまま実行できる点が最大の特徴。
主要テーマ
python-pptxでコードから PPTX を生成する手法- 1ファイル完結設計の設計思想(AI連携・共有容易性)
- ChatGPT Code Interpreter / Claude Artifacts での実行フロー
- Claude Opus 4.5 を使ったテンプレートデザインの AI 生成
キーポイント
背景・動機
スライド作成ツールが増える中(Nanobanana Pro・Manus・Genspark・Gamma・Canva・ChatGPT・Claude)、著者が感じた3つの不満を解消するために開発:
- テンプレートをもっと気軽にいじれないか — GUIツールでは細かい調整が面倒
- どの環境でも再現できないか — MS / Google 問わず使いたい
- AIと連携しやすいか — ChatGPT や Claude で直接ファイル作成・編集したい
python-pptx の主な機能
- スライドの追加・削除
- テキストボックス・図形・画像の配置
- グラフ(棒グラフ・円グラフ・折れ線グラフ)の作成
- テーブルの作成
- フォント・色・サイズの細かい制御
- Office 未インストール環境でも動作(サーバーサイド自動生成も可能)
3ステップの使い方
| STEP | 内容 |
|---|---|
| 1 | SLIDES_TO_USE で使うテンプレート番号を配列で指定 |
| 2 | SLIDE_CONTENT でテキスト・データを JSON 形式で編集 |
| 3 | python pptx_generator.py で実行 → PPTX 出力 |
用意されているテンプレート(12種)
表紙・目次・棒グラフ・円グラフ・テーブル・折れ線グラフ・カードグリッド・画像付きスライド・3ポイント丸囲み・ポイントリスト・ポイントリスト大・ロードマップ(タイムライン)
可変コンテンツ対応テンプレートは配列サイズに応じてレイアウトが自動伸縮する。
ChatGPT / Claude との連携
- Python スクリプトを ChatGPT(Code Interpreter)または Claude(Artifacts)に添付
- 「
SLIDES_TO_USEとSLIDE_CONTENTを〇〇に修正」と指示 - 「このPythonスクリプトを実行してPPTXを作成」と指示
- 生成された PPTX をダウンロード
Note
Gemini の Canvas では動作しない点が明記されている(2025年11月時点)。
1ファイル構成の利点: AI がコード全体を把握した状態で編集できる。分割モジュール構成では「あのファイルも読んで」というやり取りが必要になるが、1ファイルならその手間がゼロ。
テンプレート自体の AI 生成
- 理想のスライドデザインのスクリーンショットを用意
- Claude Opus 4.5 にスクリプトと画像を渡す
- 「このデザインを再現する python-pptx のコードを書いて」と指示
Claude Opus 4.5 の画像理解力でレイアウト・色・フォントサイズを正確に読み取ってコード化できる。