Back to skills
extension
Category: Development & EngineeringNo API key required

pptx-analyzer

A tool that analyzes the structure of PowerPoint files (.pptx) and outputs slide, shape, placeholder, and text information in JSON/text format. It is used when template analysis, preprocessing for automatic slide generation, or understanding of PPTX structure is needed. Triggered by requests such as 'analyze PPTX', 'check template structure', 'investigate slide elements', etc.

personAuthor: jakexiaohubgithub

PPTX Analyzer

PowerPointファイルの構造を解析するスキル。

機能

  1. 構造抽出: スライド、図形、プレースホルダー、テキストを抽出
  2. 画像生成: スライドをPNG画像に変換(オプション)
  3. 意味解析: Geminiによるスライド役割・要素用途の判定(オプション)

使用方法

# 基本解析(JSON + TXT出力)
python scripts/analyze_pptx.py template.pptx

# 画像付き解析
python scripts/analyze_pptx.py template.pptx --with-images

# Gemini意味解析付き
python scripts/analyze_pptx.py template.pptx --with-gemini

# 出力先指定
python scripts/analyze_pptx.py template.pptx --output-dir ./output

出力形式

JSON({filename}_structure.json

{
  "source_file": "template",
  "total_slides": 5,
  "slides": [
    {
      "slide_index": 0,
      "layout_name": "タイトル スライド",
      "shapes": [
        {
          "shape_id": 2,
          "name": "Title 1",
          "shape_type": "Shape",
          "left": 838200,
          "top": 2130425,
          "width": 10515600,
          "height": 1325563,
          "text": "プレゼン資料のタイトル",
          "has_text_frame": true,
          "is_placeholder": true,
          "placeholder_type": "TITLE (1)"
        }
      ]
    }
  ]
}

テキスト({filename}_structure.txt

=== Slide 1 (Layout: タイトル スライド) ===
  [2] Title 1
      Type: Shape, Pos: (0.9", 2.3"), Size: 11.5" x 1.5"
      Placeholder: TITLE (1)
      Text: "プレゼン資料のタイトル"

依存関係

  • python-pptx: 必須
  • Pillow: 画像処理(--with-images使用時)
  • pdf2image + LibreOffice: PDF経由画像変換
  • google-generativeai: Gemini解析(--with-gemini使用時)

ユースケース

  1. テンプレート分析: 自動スライド生成前にテンプレート構造を把握
  2. プレースホルダー特定: 置換対象のテキストボックスやチャート位置を特定
  3. レイアウト確認: 各スライドのレイアウト種類と配置を確認