powerpoint-toolkit

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

PowerPoint Toolkit

PowerPoint 工具包

Setup (First Use)

首次使用设置

bash
python3 scripts/setup_deps.py
Installs: python-pptx, Pillow, pyyaml. Skip if already installed.
bash
python3 scripts/setup_deps.py
安装依赖:python-pptx、Pillow、pyyaml。若已安装可跳过此步骤。

Workflow Decision Tree

工作流决策树

  1. Inspect structure → Run
    scripts/inspect_pptx.py
  2. Extract text → Run
    scripts/extract_text.py
  3. Analyze & get improvement suggestions → Run
    scripts/analyze_pptx.py
  4. Generate visual thumbnails → Run
    scripts/thumbnails.py
  5. Create new presentation → Use python-pptx (see
    references/design-and-creation.md
    )
  6. Edit existing presentation → Use python-pptx or OOXML (see
    references/ooxml-editing.md
    )
  1. 检查结构 → 运行
    scripts/inspect_pptx.py
  2. 提取文本 → 运行
    scripts/extract_text.py
  3. 分析并获取优化建议 → 运行
    scripts/analyze_pptx.py
  4. 生成可视化缩略图 → 运行
    scripts/thumbnails.py
  5. 创建新演示文稿 → 使用 python-pptx(详见
    references/design-and-creation.md
  6. 编辑现有演示文稿 → 使用 python-pptx 或 OOXML(详见
    references/ooxml-editing.md

Quick-Start Scripts

快速启动脚本

Inspect File Structure

检查文件结构

bash
python3 scripts/inspect_pptx.py deck.pptx                    # Overview
python3 scripts/inspect_pptx.py deck.pptx --text              # With all text
python3 scripts/inspect_pptx.py deck.pptx --notes             # With speaker notes
python3 scripts/inspect_pptx.py deck.pptx --layouts           # With layout details
python3 scripts/inspect_pptx.py deck.pptx --slide 0           # Single slide
python3 scripts/inspect_pptx.py deck.pptx --text --notes      # Full content
Returns JSON: slide count, dimensions, shapes, text, images, charts, tables, notes.
bash
python3 scripts/inspect_pptx.py deck.pptx                    # 概览
python3 scripts/inspect_pptx.py deck.pptx --text              # 包含所有文本
python3 scripts/inspect_pptx.py deck.pptx --notes             # 包含演讲备注
python3 scripts/inspect_pptx.py deck.pptx --layouts           # 包含布局详情
python3 scripts/inspect_pptx.py deck.pptx --slide 0           # 单张幻灯片
python3 scripts/inspect_pptx.py deck.pptx --text --notes      # 完整内容
返回JSON格式数据:幻灯片数量、尺寸、形状、文本、图片、图表、表格、备注。

Extract Text

提取文本

bash
python3 scripts/extract_text.py deck.pptx                     # Markdown format
python3 scripts/extract_text.py deck.pptx --format json        # Structured JSON
python3 scripts/extract_text.py deck.pptx --format text        # Plain text
python3 scripts/extract_text.py deck.pptx --notes              # Include speaker notes
bash
python3 scripts/extract_text.py deck.pptx                     # Markdown格式
python3 scripts/extract_text.py deck.pptx --format json        # 结构化JSON
python3 scripts/extract_text.py deck.pptx --format text        # 纯文本
python3 scripts/extract_text.py deck.pptx --notes              # 包含演讲备注

Analyze & Improve

分析与优化

bash
python3 scripts/analyze_pptx.py deck.pptx                     # Full analysis
python3 scripts/analyze_pptx.py deck.pptx --verbose            # Extra detail
Returns JSON with stats (fonts, sizes, layouts, text density) and issues (readability, consistency, missing notes, visual balance).
bash
python3 scripts/analyze_pptx.py deck.pptx                     # 完整分析
python3 scripts/analyze_pptx.py deck.pptx --verbose            # 详细分析
返回JSON格式数据,包含统计信息(字体、字号、布局、文本密度)和问题点(可读性、一致性、缺失备注、视觉平衡)。

Generate Thumbnails

生成缩略图

bash
python3 scripts/thumbnails.py deck.pptx                        # Default 4-col grid
python3 scripts/thumbnails.py deck.pptx preview --cols 3       # Custom layout
Requires LibreOffice + poppler (pdftoppm). Creates a JPEG grid for visual review.
bash
python3 scripts/thumbnails.py deck.pptx                        # 默认4列网格
python3 scripts/thumbnails.py deck.pptx preview --cols 3       # 自定义布局
需要依赖LibreOffice + poppler(pdftoppm)。生成JPEG格式的网格图用于视觉审阅。

Creating Presentations

创建演示文稿

Design Principles

设计原则

Before writing code, always:
  1. Analyze content — What topic, tone, audience?
  2. Choose palette — See
    references/design-and-creation.md
    for 10 curated palettes
  3. Plan layout — Decide slide types: title, content, section, closing
  4. State approach — Explain design choices before implementation
编写代码前,请务必遵循以下步骤:
  1. 分析内容 — 主题、风格、受众分别是什么?
  2. 选择配色方案 — 详见
    references/design-and-creation.md
    中的10种精选配色
  3. 规划布局 — 确定幻灯片类型:标题页、内容页、章节分隔页、结尾页
  4. 说明设计思路 — 在实现前解释设计选择

Key Rules

关键规则

  • Use web-safe fonts only: Arial, Verdana, Georgia, Tahoma, Trebuchet MS, Times New Roman, Courier New
  • Create clear visual hierarchy through size, weight, and color
  • Keep text concise — aim for ≤6 bullet points, ≤6 words per bullet
  • Ensure strong contrast between text and backgrounds
  • Use consistent spacing and alignment across all slides
  • Add speaker notes for presentation delivery
  • 仅使用网页安全字体:Arial、Verdana、Georgia、Tahoma、Trebuchet MS、Times New Roman、Courier New
  • 通过字号、字重和颜色构建清晰的视觉层次
  • 保持文本简洁 — 目标为≤6个项目符号,每个项目符号≤6个单词
  • 确保文本与背景之间对比度足够
  • 所有幻灯片使用一致的间距和对齐方式
  • 添加演讲备注以辅助演示

Quick Creation Template

快速创建模板

python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)

Title slide

标题幻灯片

slide = prs.slides.add_slide(prs.slide_layouts[0]) slide.shapes.title.text = "Title" slide.placeholders[1].text = "Subtitle"
slide = prs.slides.add_slide(prs.slide_layouts[0]) slide.shapes.title.text = "Title" slide.placeholders[1].text = "Subtitle"

Content slide

内容幻灯片

slide = prs.slides.add_slide(prs.slide_layouts[1]) slide.shapes.title.text = "Section" body = slide.placeholders[1].text_frame body.text = "First point" p = body.add_paragraph() p.text = "Second point" p.level = 0
prs.save("output.pptx")

For full creation reference (shapes, formatting, charts, tables, images, notes) → see `references/design-and-creation.md`.
slide = prs.slides.add_slide(prs.slide_layouts[1]) slide.shapes.title.text = "Section" body = slide.placeholders[1].text_frame body.text = "First point" p = body.add_paragraph() p.text = "Second point" p.level = 0
prs.save("output.pptx")

完整创建参考(形状、格式、图表、表格、图片、备注)→ 详见 `references/design-and-creation.md`。

Editing Presentations

编辑演示文稿

Simple Edits (python-pptx)

简单编辑(python-pptx)

python
from pptx import Presentation

prs = Presentation("existing.pptx")
slide = prs.slides[0]

for shape in slide.shapes:
    if shape.has_text_frame:
        for para in shape.text_frame.paragraphs:
            for run in para.runs:
                run.text = run.text.replace("old", "new")

prs.save("modified.pptx")
python
from pptx import Presentation

prs = Presentation("existing.pptx")
slide = prs.slides[0]

for shape in slide.shapes:
    if shape.has_text_frame:
        for para in shape.text_frame.paragraphs:
            for run in para.runs:
                run.text = run.text.replace("old", "new")

prs.save("modified.pptx")

Advanced Edits (OOXML)

高级编辑(OOXML)

For operations beyond python-pptx (animations, complex formatting, raw XML manipulation) → see
references/ooxml-editing.md
.
对于python-pptx无法实现的操作(动画、复杂格式、原始XML操作)→ 详见
references/ooxml-editing.md

Providing Improvement Feedback

提供优化反馈

When asked to review or improve a presentation:
  1. Run
    scripts/inspect_pptx.py deck.pptx --text --notes
  2. Run
    scripts/analyze_pptx.py deck.pptx
  3. Optionally generate thumbnails for visual review
  4. Present findings in this order:
    • Overview: slide count, layout types, visual balance
    • Content Issues: text density, empty slides, missing titles
    • Design Issues: font consistency, size readability, color contrast
    • Structure Issues: flow, pacing, section organization
    • Suggestions: specific actionable improvements with slide references
当需要审阅或优化演示文稿时:
  1. 运行
    scripts/inspect_pptx.py deck.pptx --text --notes
  2. 运行
    scripts/analyze_pptx.py deck.pptx
  3. 可选:生成缩略图用于视觉审阅
  4. 按以下顺序呈现结果:
    • 概览:幻灯片数量、布局类型、视觉平衡
    • 内容问题:文本密度、空白幻灯片、缺失标题
    • 设计问题:字体一致性、字号可读性、颜色对比度
    • 结构问题:流程、节奏、章节组织
    • 建议:带有幻灯片参考的具体可操作改进方案

Common Slide Patterns

常见幻灯片模板

PatternLayoutWhen to Use
Title SlideLayout 0Opening, section dividers
BulletsLayout 1Key points, agenda
Two-ColumnLayout 3Comparison, before/after
Image + TextLayout 5 + textboxVisual storytelling
Chart SlideLayout 5 + chartData presentation
Table SlideLayout 5 + tableStructured data
Quote SlideLayout 6 + textboxAttribution, emphasis
ClosingLayout 0 or 6Thank you, contact info
模板类型布局使用场景
标题幻灯片布局0开场、章节分隔
项目符号布局1要点展示、议程
双栏布局布局3对比展示、前后对比
图片+文本布局5 + 文本框视觉叙事
图表幻灯片布局5 + 图表数据展示
表格幻灯片布局5 + 表格结构化数据展示
引用幻灯片布局6 + 文本框引用、强调
结尾幻灯片布局0或6致谢、联系方式