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つの不満を解消するために開発:

  1. テンプレートをもっと気軽にいじれないか — GUIツールでは細かい調整が面倒
  2. どの環境でも再現できないか — MS / Google 問わず使いたい
  3. AIと連携しやすいか — ChatGPT や Claude で直接ファイル作成・編集したい

python-pptx の主な機能

  • スライドの追加・削除
  • テキストボックス・図形・画像の配置
  • グラフ(棒グラフ・円グラフ・折れ線グラフ)の作成
  • テーブルの作成
  • フォント・色・サイズの細かい制御
  • Office 未インストール環境でも動作(サーバーサイド自動生成も可能)

3ステップの使い方

STEP内容
1SLIDES_TO_USE で使うテンプレート番号を配列で指定
2SLIDE_CONTENT でテキスト・データを JSON 形式で編集
3python pptx_generator.py で実行 → PPTX 出力

用意されているテンプレート(12種)

表紙・目次・棒グラフ・円グラフ・テーブル・折れ線グラフ・カードグリッド・画像付きスライド・3ポイント丸囲み・ポイントリスト・ポイントリスト大・ロードマップ(タイムライン)

可変コンテンツ対応テンプレートは配列サイズに応じてレイアウトが自動伸縮する。

ChatGPT / Claude との連携

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

Note

Gemini の Canvas では動作しない点が明記されている(2025年11月時点)。

1ファイル構成の利点: AI がコード全体を把握した状態で編集できる。分割モジュール構成では「あのファイルも読んで」というやり取りが必要になるが、1ファイルならその手間がゼロ。

テンプレート自体の AI 生成

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

Claude Opus 4.5 の画像理解力でレイアウト・色・フォントサイズを正確に読み取ってコード化できる。

関連概念

関連エンティティ