Powerpoint
创建、读取、编辑 .pptx 演示文稿、幻灯片、备注、模板。
技能元数据
| 来源 | 内置(默认安装) |
| 路径 | skills/productivity/powerpoint |
| 许可证 | 专有。详见 LICENSE.txt 中的完整条款 |
| 平台 | linux, macos, windows |
以下是在此技能触发时,Hermes 加载的完整技能定义。这是技能激活时智能体所看到的指令。
PowerPoint 技能
何时使用
每当涉及 .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 获取完整详情。
当没有模板或参考演示文稿时使用。
设计理念
不要创建枯燥的幻灯片。 白色背景上的普通项目符号无法打动任何人。为每张幻灯片考虑此列表中的想法。
开始之前
- 选择一个大胆、基于内容的调色板:该调色板应感觉是为 此 主题设计的。如果将你的颜色替换到完全不同的演示文稿中仍然 "有效",说明你的选择还不够具体。
- 主导性胜于平等性:一种颜色应占主导(视觉重量的 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 的大号数字,下方小标签)
- 比较栏(前后对比、优缺点、并排选项)
- 时间线或流程(编号步骤、箭头)
视觉润色:
- 章节标题旁的小彩色圆圈中的图标
- 关键数据或标语使用斜体强调文本
排版
选择有趣的字体组合——不要默认使用 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 弱化 |
间距
- 最小边距 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 转图片