| name | pptx-analyzer |
| description | PowerPointファイル(.pptx)の構造を解析し、スライド・図形・テキスト情報を出力するスキル。 「PPTXを解析」「テンプレート構造を確認」「スライドの要素を調べて」等のリクエストで発動。 |
| triggers | ["PPTXを解析して","テンプレート構造を確認","スライドの要素を調べて","pptx-analyzer","PowerPoint解析","パワポの中身を見て"] |
PPTX Analyzer
PowerPointファイルの構造を解析するスキル。
機能
- 構造抽出: スライド、図形、プレースホルダー、テキストを抽出
- 画像生成: スライドをPNG画像に変換(オプション)
- 意味解析: Geminiによるスライド役割・要素用途の判定(オプション)
使用方法
python scripts/analyze_pptx.py template.pptx
python scripts/analyze_pptx.py template.pptx --with-images
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使用時)
ユースケース
- テンプレート分析: 自動スライド生成前にテンプレート構造を把握
- プレースホルダー特定: 置換対象のテキストボックスやチャート位置を特定
- レイアウト確認: 各スライドのレイアウト種類と配置を確認