python-pptx-deck-generatorlisted
Install: claude install-skill findscripter/everything-skills
# python-pptx 幻灯片生成
## 何时使用
用户想要一段**直接可运行**的 Python 脚本,用 `python-pptx` 自动生成 `.pptx` 演示文稿(标题、目录、要点、总结俱全),常见于 demo、教学、内部简报场景。
不该用的边界:
- 要**读取/编辑已有** `.pptx`(解析、改样式、抽内容)—— 不是本技能职责。
- 只要**精细排版/视觉设计**(自定义坐标、母版、动画)—— python-pptx 能力有限,别硬凑不存在的 API。
- 产物不是幻灯片而是 Word/文档 —— 改用文档类技能(见互见)。
## 步骤 / 指令
1. **收集简报**:确认主题、受众、语气、目标页数。缺失项就取保守默认值(如 5~6 页),并在脚本注释里写明所选默认。
2. **先列叙事骨架,再写代码**。标准弧:① 标题页 → ② 目录/背景 → ③ 核心论点(教学或业务)→ ④ 总结/下一步。页数贴合受众,**砍掉凑数页**,通常压到 4~8 页。
3. **生成完整脚本**,必须做到:
- `from pptx import Presentation`(注意包名导入是 `pptx`,pip 装的是 `python-pptx`);
- 创建 deck、选用内置版式(layout);
- 写**真实**标题与要点,不留占位符;
- 用清晰文件名显式 `prs.save("output.pptx")`;
- 保存后 `print` 一句成功提示。
4. **保证可运行**:输出一个完整 Python 代码块,装好 `python-pptx` 即可跑。**禁止**伪代码、占位符、缺失 import 或需要用户自行补全的残片。
## 示例
安装:`pip install python-pptx`
最小可运行骨架:
```python
from pptx import Presentation
from pptx.util import Pt
prs = Presentation()
# 1. 标题页(layout 0 = Title Slide)
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "机器学习入门"
slide.placeholders[1].text = "面向高中课堂 · 5 页速览"
# 2. 内容页(layout 1 = Title and Content)
def add_bullets(title, bullets):
s = prs.slides.add_slide(prs.slide_layouts[1])
s.shapes.title.text = title
body = s.placeholders[1].text_frame
body.text = bullets[0]
for b in bullets[1:]:
p = body.add_paragraph()
p.text = b
add_bullets("什么是机器学习", ["从数据中学习规律", "无需逐条硬编码规则", "预测 / 分类 / 聚类"])
add_bullets("核心��念", ["特征与标签", "训练集与测试集", "过拟合与泛化"])
add_bullets("常见例子", [