只要 .pptx 文件以任何方式参与其中——作为输入、输出或两者兼有,就应使用此技能。这包括:创建幻灯片、项目介绍或演示文稿;读取、解析或从任何 .pptx 文件中提取文本(即使提取的内容将用于其他地方,如电子邮件或摘要);编辑、修改或更新现有演示文稿;合并或拆分幻灯片文件;处理模板、布局、演讲者备注或评论。每当用户提到“deck”、“slides”、“presentation”或引用 .pptx 文件名时,无论他们计划如何处理后续内容,都应触发此技能。如果需要打开、创建或接触 .pptx 文件,请使用此技能。
| 任务 | 指南 |
|---|---|
| 读取/分析内容 | python -m markitdown presentation.pptx |
| 从模板编辑或创建 | 阅读 editing.md |
| 从头创建 | 阅读 pptxgenjs.md |
# 文本提取
python -m markitdown presentation.pptx
# 视觉概览
python scripts/thumbnail.py presentation.pptx
# 原始 XML
python scripts/office/unpack.py presentation.pptx unpacked/
阅读 editing.md 获取完整详情。
thumbnail.py 分析模板阅读 pptxgenjs.md 获取完整详情。
当没有可用模板或参考演示文稿时使用。
不要制作无聊的幻灯片。 白色背景上的普通项目符号列表不会给任何人留下深刻印象。为每张幻灯片考虑一下此列表中的想法。
选择与你的主题相匹配的颜色——不要默认使用通用的蓝色。使用这些调色板作为灵感:
| Theme | Primary | Secondary | Accent |
|---|---|---|---|
| Midnight Executive | 1E2761 (navy) | CADCFC (ice blue) | FFFFFF (white) |
| Forest & Moss | 2C5F2D (forest) | 97BC62 (moss) | F5F5F5 (cream) |
| Coral Energy | F96167 (coral) | F9E795 (gold) | 2F3C7E (navy) |
| Warm Terracotta | B85042 (terracotta) | E7E8D1 (sand) | A7BEAE (sage) |
| Ocean Gradient | 065A82 (deep blue) | 1C7293 (teal) | 21295C (midnight) |
| Charcoal Minimal | 36454F (charcoal) | F2F2F2 (off-white) | 212121 (black) |
| Teal Trust | 028090 (teal) | 00A896 (seafoam) | 02C39A (mint) |
| Berry & Cream | 6D2E46 (berry) | A26769 (dusty rose) | ECE2D0 (cream) |
| Sage Calm | 84B59F (sage) | 69A297 (eucalyptus) | 50808E (slate) |
| Cherry Bold | 990011 (cherry) | FCF6F5 (off-white) | 2F3C7E (navy) |
每张幻灯片都需要一个视觉元素——图片、图表、图标或形状。纯文本的幻灯片很容易被遗忘。
布局选项:
数据展示:
视觉润色:
选择一个有趣的字体搭配——不要默认使用 Arial。选择一个有个性的标题字体,并搭配一个简洁的正文字体。
| 标题字体 | 正文字体 |
|---|---|
| Georgia | Calibri |
| Arial Black | Arial |
| Calibri | Calibri Light |
| Cambria | Calibri |
| Trebuchet MS | Calibri |
| Impact | Arial |
| Palatino | Garamond |
| Consolas | Calibri |
| 元素 | 字号 |
|---|---|
| 幻灯片标题 | 36-44pt 加粗 |
| 章节标题 | 20-24pt 加粗 |
| 正文文本 | 14-16pt |
| 图注 | 10-12pt 柔和色 |
margin: 0 或偏移形状以考虑内边距假设存在问题。你的工作就是找到它们。
你的第一次渲染几乎从不正确。将 QA 视为一次寻虫(bug hunt),而不是一个确认步骤。如果初次检查没有发现任何问题,说明你没有足够仔细地看。
python -m markitdown output.pptx
检查是否有内容缺失、拼写错误、顺序错误。
使用模板时,检查是否残留占位符文本:
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"
如果 grep 返回结果,请在宣布成功前修复它们。
⚠️ 使用子代理 (SUBAGENTS) ——即使只有 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 - 从头创建soffice) - PDF 转换(通过 scripts/office/soffice.py 为沙盒环境自动配置)pdftoppm) - PDF 转图片