| name | pptx |
| description | 任何时候只要涉及.pptx文件——无论是作为输入、输出还是两者兼有——就使用此技能。这包括:创建幻灯片、推介文件或演示文稿;读取、解析或提取任何.pptx文件中的文本(即使提取的内容将用于其他地方,比如邮件或摘要);编辑、修改或更新现有演示文稿;合并或拆分幻灯片文件;处理模板、布局、演讲者备注或注释。只要用户提到"deck"、"slides"、"presentation"或引用.pptx文件名,无论他们后续打算如何处理内容,都要触发此技能。如果需要打开、创建或处理.pptx文件,使用此技能。 |
PPTX 技能
快速参考
读取内容
python -m markitdown presentation.pptx
python scripts/thumbnail.py presentation.pptx
python scripts/office/unpack.py presentation.pptx unpacked/
编辑工作流
阅读 editing.md 获取完整说明。
- 使用
thumbnail.py分析模板
- 解包 → 操作幻灯片 → 编辑内容 → 清理 → 打包
从零开始创建
阅读 pptxgenjs.md 获取完整说明。
当没有模板或参考演示文稿时使用。
设计建议
不要做无聊的幻灯片。 白色背景上放几个圆点可打动不了任何人。为每张幻灯片考虑以下建议。
开始之前
- 选择大胆且与内容契合的配色方案:配色应该感觉是为这个主题量身定制的。如果你把配色换到完全不同的演示文稿里依然"能用",说明你的选择不够具体。
- 主次分明:一种颜色应该占主导地位(60-70%视觉权重),搭配1-2种辅助色调和一种醒目的强调色。永远不要让所有颜色平分秋色。
- 明暗对比:标题页和结论页使用深色背景,内容页使用浅色("三明治"结构)。或者全程使用深色以营造高级感。
- 坚持视觉主题:选择一个独特的元素并重复使用——圆角图片框、彩色圆形图标、单侧粗边框。贯穿每一张幻灯片。
配色方案
选择与主题匹配的配色——不要默认使用蓝色。以下配色方案可作为灵感参考:
| 主题 | 主色 | 辅助色 | 强调色 |
|---|
| 午夜商务 | 1E2761(海军蓝) | CADCFC(冰蓝) | FFFFFF(白色) |
| 森林与苔藓 | 2C5F2D(森林绿) | 97BC62(苔藓绿) | F5F5F5(奶油色) |
| 珊瑚活力 | F96167(珊瑚色) | F9E795(金色) | 2F3C7E(海军蓝) |
| 暖陶土 | B85042(陶土色) | E7E8D1(沙色) | A7BEAE(鼠尾草绿) |
| 海洋渐变 | 065A82(深蓝) | 1C7293(青色) | 21295C(午夜蓝) |
| 炭灰极简 | 36454F(炭灰) | F2F2F2(米白) | 212121(黑色) |
| 青色信赖 | 028090(青色) | `00A896**(海沫绿) | 02C39A(薄荷绿) |
| 浆果与奶油 | 6D2E46(浆果色) | A26769(灰玫瑰色) | ECE2D0(奶油色) |
| 鼠尾草宁静 | 84B59F(鼠尾草绿) | 69A297(桉树叶绿) | `50808E**(石板蓝) |
| 樱桃大胆 | 990011(樱桃红) | FCF6F5(米白) | 2F3C7E(海军蓝) |
每张幻灯片
每张幻灯片都需要视觉元素——图片、图表、图标或形状。纯文字的幻灯片容易被遗忘。
布局选项:
- 双栏布局(文字在左,插图在右)
- 图标+文字行(图标放在彩色圆形中,粗体标题,描述在下方)
- 2x2或2x3网格(一侧放图片,另一侧放内容块网格)
- 半出血图片(左侧或右侧全满)配合内容叠加
数据展示:
- 大型数据标注(60-72pt大数字,下方配小标签)
- 对比列(前/后、优/劣、并排选项)
- 时间线或流程图(编号步骤、箭头)
视觉润色:
- 章节标题旁放置彩色小圆形图标
- 关键数据或标语使用斜体强调
排版
| 元素 | 字号 |
|---|
| 幻灯片标题 | 36-44pt 粗体 |
| 章节标题 | 20-24pt 粗体 |
| 正文 | 14-16pt |
| 图注 | 10-12pt 弱化显示 |
间距
- 最小边距0.5英寸
- 内容块之间间距0.3-0.5英寸
- 留出呼吸空间——不要填满每一寸空间
避免(常见错误)
- 不要重复相同布局——在不同幻灯片上变换栏位、卡片和标注
- 不要居中对齐正文——段落和列表左对齐;只有标题可以居中
- 不要忽视大小对比——标题需要36pt以上才能与14-16pt正文形成对比
- 不要默认使用蓝色——选择能反映具体主题的颜色
- 不要随意混合间距——选择0.3英寸或0.5英寸间距并保持一致
- 不要只美化一张幻灯片而让其他保持朴素——要么全情投入,要么全程保持简洁
- 不要做纯文字幻灯片——添加图片、图标、图表或视觉元素;避免纯标题+项目符号
- 不要忘记文本框内边距——当线条或形状与文本边缘对齐时,在文本框上设置
margin: 0或偏移形状以考虑内边距
- 不要使用低对比度元素——图标和文字都需要与背景形成强对比;避免浅色背景上的浅色文字或深色背景上的深色文字
- 绝对不要在标题下方使用强调线——这是AI生成幻灯片的典型标志;使用空白或背景色代替
质量保证(必须执行)
假设有问题存在。你的任务是找到它们。
你的第一次渲染几乎不可能完全正确。把质量保证当作找bug而不是确认步骤。如果第一次检查没有发现任何问题,说明你看得不够仔细。
内容检查
python -m markitdown output.pptx
检查缺失内容、拼写错误、顺序错误。
使用模板时,检查是否残留占位符文本:
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"
如果grep返回结果,在宣布成功前修复它们。
视觉检查
⚠️ 使用子代理——即使只有2-3张幻灯片。你一直盯着代码看,会看到你期望看到的东西,而不是实际存在的东西。子代理有全新的视角。
将幻灯片转换为图片(参见转换为图片),然后使用以下提示词:
视觉检查这些幻灯片。假设有问题存在——找到它们。
查找:
- 重叠元素(文字穿过形状、线条穿过文字、堆叠元素)
- 文字溢出或在边缘/文本框边界处被截断
- 装饰线条为单行文本定位但标题换行成两行
- 来源引用或页脚与上方内容冲突
- 元素间距过近(< 0.3英寸)或卡片/部分几乎接触
- 间距不均匀(一处大面积空白,另一处拥挤)
- 距离幻灯片边缘边距不足(< 0.5英寸)
- 栏位或相似元素对齐不一致
- 低对比度文字(例如奶油色背景上的浅灰色文字)
- 低对比度图标(例如深色背景上的深色图标没有对比色圆形衬托)
- 文本框过窄导致过度换行
- 残留占位符内容
对于每张幻灯片,列出问题或需要关注的区域,即使是小问题。
读取并分析这些图片:
1. /path/to/slide-01.jpg(预期:[简短描述])
2. /path/to/slide-02.jpg(预期:[简短描述])
报告发现的所有问题,包括小问题。
验证循环
- 生成幻灯片 → 转换为图片 → 检查
- 列出发现的问题(如果没找到,更严格地重新检查)
- 修复问题
- 重新验证受影响的幻灯片——一个修复往往会引发另一个问题
- 重复直到完整检查一轮没有发现新问题
在至少完成一次修复-验证循环之前,不要宣布成功。
转换为图片
将演示文稿转换为单独幻灯片图片以便视觉检查:
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide
这会创建slide-01.jpg、slide-02.jpg等文件。
修复后重新渲染特定幻灯片:
pdftoppm -jpeg -r 150 -f N -l N output.pdf slide-fixed
依赖项
pip install "markitdown[pptx]" - 文本提取
pip install Pillow - 缩略图网格
npm install -g pptxgenjs - 从零开始创建
- LibreOffice(
soffice)- PDF转换(通过scripts/office/soffice.py自动配置沙箱环境)
- Poppler(
pdftoppm)- PDF转图片