PPT 快速搭建
写 JSON 大纲 → 一条命令出成套幻灯片。不要用 python-pptx 逐页手写坐标。
环境准备
pip install python-pptx
用法
python scripts/build_pptx.py --input deck.json -o 汇报.pptx --theme dark
--theme 可选 dark(深色驾驶舱风,适合屏幕演示)或 light(浅色,适合打印与会议室投影)。
11 种版式
| layout | 用途 | 关键字段 |
|---|---|---|
cover |
封面 | title subtitle meta |
toc |
目录(>5 项自动分两栏) | items |
section |
章节过渡页 | index(如 "01")title subtitle |
bullets |
要点页(支持二级缩进) | bullets(字符串或对象数组) |
two-col |
两栏对比 | left / right,各含 title items |
kpi |
数字指标卡 | cards:[{k 指标名, v 数值, d 说明}] |
table |
数据表 | header rows |
chart |
原生可编辑图表 | chart:{type labels series unit note} |
image |
图片页(自动等比缩放居中) | path caption |
quote |
金句/结论强调页 | text source |
end |
结束页 | title subtitle |
任何一页都可以加 "note": "..." 写入演讲者备注。
图表
{"layout": "chart", "title": "营收趋势",
"chart": {
"type": "bar",
"labels": ["Q1", "Q2", "Q3"],
"series": [{"name": "营收", "values": [100, 120, 145]},
{"name": "毛利", "values": [30, 32, 36]}],
"unit": "万元",
"note": "图表下方的一句话解读"
}}
type 支持 bar(柱形)/ hbar(条形)/ line(折线)/ pie(饼图)/ area(面积)。
图表是 PowerPoint 原生对象,用户打开后可以直接改数据、改颜色,不是图片。
工作流
- 先定叙事结构:封面 → 目录 → 章节页 → 内容页 → 结束页。别一上来就写内容。
- 每页只讲一件事。一页塞五个要点,观众一个都记不住。
- 写 JSON,生成 pptx。
- 告诉用户图表可以双击改数据(这是原生图表的卖点)。
- 页数超过 20 页时,建议加章节过渡页分隔。
硬约束
- 不要用图片代替表格和图表。用户需要改数据,图片改不了。
- 图表
labels和values长度必须一致,否则 PowerPoint 打开会报错。 - 一页要点不超过 6 条。超了自动降字号会让版面变丑,正确做法是拆页。
- 不要在没有数据的情况下编造数字填进 chart。宁可留空让用户提供。
image版式的path必须是真实存在的文件,不存在会画一个占位框并提示。- 生成前先确认用户要深色还是浅色主题——这个决定影响整体观感,返工成本高。
- 不要覆盖用户已有的 .pptx 文件。
进阶
完整 JSON schema、版式尺寸规范、配色方案、常见叙事结构模板见
references/deck-spec.md。