大纲转 PPT
把 Markdown 大纲变成排版规范的演示稿。结构不乱,是你内容的保底。
核心分工
| 谁 | 负责什么 |
|---|---|
| 脚本 | 按层级分页面、统一字体配色、结构预检(确定性工作) |
| AI / 人 | 写好大纲、调整文案密度(需要判断力) |
快速开始
# 生成 PPT
python3 scripts/outline2deck.py --input outline.md --output deck.pptx
# 换配色主题(blue / dark / green / minimal)
python3 scripts/outline2deck.py --input outline.md --output deck.pptx --theme dark
# 只做结构预检,不生成文件
python3 scripts/outline2deck.py --input outline.md --check
大纲约定
| Markdown | 生成页面 |
|---|---|
# 一级标题(首个) |
封面页 |
# 一级标题(后续)/ ## 二级标题 |
章节分隔页 |
### 三级标题 |
内容页标题 |
- 列表项 / 1. 有序项 |
该页要点(bullet) |
| 普通段落 | 该页备注 |
结构预检(重要)
生成前会自动检查,发现问题会提示(但不阻断生成):
- 缺少一级标题 → 没有封面页
- 内容页无要点也无说明 → 生成空页
- 单页要点 > 8 条 → 一页放不下
- 单条要点 > 60 字 → PPT 上过于拥挤
用 --check 可只看预检结果,适配自动化流程(有问题时 exit 1)。
内置主题
| 主题 | 风格 |
|---|---|
blue |
深蓝商务(默认) |
dark |
深色 + 红强调 |
green |
绿色清新 |
minimal |
极简黑白 |
实测验证
单元测试 tests/test_outline2deck.py 12 项全部通过,覆盖大纲解析(封面/章节/内容页类型判定、要点捕获、第二个一级标题不再作封面)、行内标记清洗、结构预检(缺封面、要点过多、单条过长)、实际生成 pptx 并读回验证页数一致、四套主题均能生成非空文件。
已知限制
- 中文字体默认「微软雅黑」,Windows 与 macOS 均可;macOS 若无该字体可能回退,可用代码中的字体常量调整
- 采用空白版式自建文本框,不套用 PPT 母版,样式统一但不跟随模板
- 不支持图片、图表等复杂元素的插入
依赖
pip install python-pptx