关于 pptx
用于读取、编辑和创建 PPTX 演示文稿的技能,涵盖内容提取、基于模板编辑、幻灯片创建,以及内容和视觉质量检查。
主要功能
- 01提取文本并生成缩略图预览
- 02使用模板编辑演示文稿
- 03使用 pptxgenjs 创建幻灯片
- 04将演示文稿转为 PDF 和图像
- 05检查内容和视觉布局
适用场景
- 01提取演示文稿中的文本
- 02通过缩略图检查幻灯片布局
- 03从头创建演示文稿
- 04检查并修正渲染后的演示文稿
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ agentscope-ai/ qwenpaw --skill pptx安装后在 Claude Code 中输入/pptx确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
editing.mdLICENSE.txtpptxgenjs.mdscripts/__init__.pyadd_slide.pyclean.pyscripts/office/pack.pyscripts/office/helpers/__init__.pymerge_runs.pysimplify_redlines.pyscripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsdopc-coreProperties.xsdopc-digSig.xsdopc-relationships.xsdscripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsddml-chartDrawing.xsddml-diagram.xsddml-lockedCanvas.xsddml-main.xsddml-picture.xsddml-spreadsheetDrawing.xsddml-wordprocessingDrawing.xsdpml.xsdshared-additionalCharacteristics.xsdshared-bibliography.xsdshared-commonSimpleTypes.xsdshared-customXmlDataProperties.xsdshared-customXmlSchemaProperties.xsdshared-documentPropertiesCustom.xsdshared-documentPropertiesExtended.xsd详细介绍
重要: 所有
scripts/路径均相对于此 skill 目录。 运行方式:cd {this_skill_dir} && python scripts/...或使用execute_shell_command的cwd参数。
PPTX Skill
前置条件
- markitdown[pptx]:从演示文稿中提取文本
- Pillow:生成缩略图网格
- pptxgenjs(
npm install -g pptxgenjs):从零创建演示文稿 - LibreOffice(
soffice):演示文稿转 PDF - pdftoppm(poppler-utils):PDF 转图像,用于缩略图/可视化工作流
- 如果
pdftoppm不可用,Python 回退路径可使用pdf2image。 - 在 Windows 上,依赖项必须已安装并可在
PATH中使用;如果缺失,请报告依赖问题并停止(不要反复重试)。
快速参考
| 任务 | 指南 |
|---|---|
| 读取/分析内容 | python -m markitdown presentation.pptx |
| 基于模板编辑或创建 | 阅读 editing.md |
| 从零创建 | 阅读 pptxgenjs.md |
读取内容
# Text extraction
python -m markitdown presentation.pptx
# Visual overview
python scripts/thumbnail.py presentation.pptx
# Raw XML
python scripts/office/unpack.py presentation.pptx unpacked/
编辑工作流
阅读 editing.md 了解完整详情。
- 使用
thumbnail.py分析模板 - 解包 → 操作幻灯片 → 编辑内容 → 清理 → 打包
从零创建
阅读 pptxgenjs.md 了解完整详情。
在没有模板或参考演示文稿时使用。
设计思路
不要创建无聊的幻灯片。 白底上的纯项目符号不会给任何人留下深刻印象。为每张幻灯片考虑此列表中的思路。
开始之前
- 选择大胆、贴合内容的配色方案:配色方案应感觉是为这个主题专门设计的。如果把你的颜色换到一个完全不同的演示文稿中仍然「能用」,那说明你的选择还不够具体。
- 主导胜过均等:一种颜色应占主导(60-70% 的视觉权重),搭配 1-2 种辅助色调和一种鲜明的强调色。绝不要让所有颜色权重均等。
- 深/浅对比:标题 + 结论幻灯片用深色背景,内容幻灯片用浅色(「三明治」结构)。或者全程使用深色以营造高级感。
- 坚持一种视觉母题:选择一种独特的元素并重复它——圆角图片框、圆形中的图标、粗的单侧边框。将其贯穿每一张幻灯片。
配色方案
选择与你的主题匹配的颜色——不要默认使用通用的蓝色。将这些配色方案用作灵感:
| 主题 | 主色 | 辅助色 | 强调色 |
|---|---|---|---|
| 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) |
每张幻灯片
每张幻灯片都需要一个视觉元素——图片、图表、图标或形状。只有文字的幻灯片很容易被遗忘。
布局选项:
- 双栏布局(左侧文字,右侧插图)
- 图标 + 文字行(图标位于彩色圆圈中,加粗标题,下方为描述)
- 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 返回结果,请在宣布成功之前修复它们。
视觉质量检查
⚠️ 使用子 Agent——即使只有 2-3 张幻灯片。你一直盯着代码,会看到你期望看到的内容,而不是实际存在的内容。子 Agent 有全新的视角。
将幻灯片转换为图片(参见 转换为图片),然后使用此提示词:
Visually inspect these slides. Assume there are issues — find them.
Look for:
- Overlapping elements (text through shapes, lines through words, stacked elements)
- Text overflow or cut off at edges/box boundaries
- Decorative lines positioned for single-line text but title wrapped to two lines
- Source citations or footers colliding with content above
- Elements too close (< 0.3" gaps) or cards/sections nearly touching
- Uneven gaps (large empty area in one place, cramped in another)
- Insufficient margin from slide edges (< 0.5")
- Columns or similar elements not aligned consistently
- Low-contrast text (e.g., light gray text on cream-colored background)
- Low-contrast icons (e.g., dark icons on dark backgrounds without a contrasting circle)
- Text boxes too narrow causing excessive wrapping
- Leftover placeholder content
For each slide, list issues or areas of concern, even if minor.
Read and analyze these images:
1. /path/to/slide-01.jpg (Expected: [brief description])
2. /path/to/slide-02.jpg (Expected: [brief description])
Report ALL issues found, including minor ones.
验证循环
- 生成幻灯片 → 转换为图片 → 检查
- 列出发现的问题(如果未发现任何问题,请更批判性地再看一遍)
- 修复问题
- 重新验证受影响的幻灯片——一个修复常常会引发另一个问题
- 重复,直到完整一轮检查未发现新问题
在完成至少一个修复并验证的循环之前,不要宣布成功。
转换为图片
将演示文稿转换为单独的幻灯片图片以便进行视觉检查:
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