mcpField
P
pptx

pptx

github.com/agentscope-ai文档处理36.9k68 次安装今天更新
代码仓库

关于 pptx

用于读取、编辑和创建 PPTX 演示文稿的技能,涵盖内容提取、基于模板编辑、幻灯片创建,以及内容和视觉质量检查。

主要功能

  1. 01提取文本并生成缩略图预览
  2. 02使用模板编辑演示文稿
  3. 03使用 pptxgenjs 创建幻灯片
  4. 04将演示文稿转为 PDF 和图像
  5. 05检查内容和视觉布局

适用场景

  1. 01提取演示文稿中的文本
  2. 02通过缩略图检查幻灯片布局
  3. 03从头创建演示文稿
  4. 04检查并修正渲染后的演示文稿

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/agentscope-ai/qwenpaw --skill pptx

安装后在 Claude Code 中输入/pptx确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

editing.md
LICENSE.txt
pptxgenjs.md
scripts/
__init__.py
add_slide.py
clean.py
scripts/office/
pack.py
scripts/office/helpers/
__init__.py
merge_runs.py
simplify_redlines.py
scripts/office/schemas/ecma/fouth-edition/
opc-contentTypes.xsd
opc-coreProperties.xsd
opc-digSig.xsd
opc-relationships.xsd
scripts/office/schemas/ISO-IEC29500-4_2016/
dml-chart.xsd
dml-chartDrawing.xsd
dml-diagram.xsd
dml-lockedCanvas.xsd
dml-main.xsd
dml-picture.xsd
dml-spreadsheetDrawing.xsd
dml-wordprocessingDrawing.xsd
pml.xsd
shared-additionalCharacteristics.xsd
shared-bibliography.xsd
shared-commonSimpleTypes.xsd
shared-customXmlDataProperties.xsd
shared-customXmlSchemaProperties.xsd
shared-documentPropertiesCustom.xsd
shared-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 了解完整详情。

  1. 使用 thumbnail.py 分析模板
  2. 解包 → 操作幻灯片 → 编辑内容 → 清理 → 打包

从零创建

阅读 pptxgenjs.md 了解完整详情。

在没有模板或参考演示文稿时使用。


设计思路

不要创建无聊的幻灯片。 白底上的纯项目符号不会给任何人留下深刻印象。为每张幻灯片考虑此列表中的思路。

开始之前
  • 选择大胆、贴合内容的配色方案:配色方案应感觉是为这个主题专门设计的。如果把你的颜色换到一个完全不同的演示文稿中仍然「能用」,那说明你的选择还不够具体。
  • 主导胜过均等:一种颜色应占主导(60-70% 的视觉权重),搭配 1-2 种辅助色调和一种鲜明的强调色。绝不要让所有颜色权重均等。
  • 深/浅对比:标题 + 结论幻灯片用深色背景,内容幻灯片用浅色(「三明治」结构)。或者全程使用深色以营造高级感。
  • 坚持一种视觉母题:选择一种独特的元素并重复它——圆角图片框、圆形中的图标、粗的单侧边框。将其贯穿每一张幻灯片。
配色方案

选择与你的主题匹配的颜色——不要默认使用通用的蓝色。将这些配色方案用作灵感:

主题主色辅助色强调色
Midnight Executive1E2761 (navy)CADCFC (ice blue)FFFFFF (white)
Forest & Moss2C5F2D (forest)97BC62 (moss)F5F5F5 (cream)
Coral EnergyF96167 (coral)F9E795 (gold)2F3C7E (navy)
Warm TerracottaB85042 (terracotta)E7E8D1 (sand)A7BEAE (sage)
Ocean Gradient065A82 (deep blue)1C7293 (teal)21295C (midnight)
Charcoal Minimal36454F (charcoal)F2F2F2 (off-white)212121 (black)
Teal Trust028090 (teal)00A896 (seafoam)02C39A (mint)
Berry & Cream6D2E46 (berry)A26769 (dusty rose)ECE2D0 (cream)
Sage Calm84B59F (sage)69A297 (eucalyptus)50808E (slate)
Cherry Bold990011 (cherry)FCF6F5 (off-white)2F3C7E (navy)
每张幻灯片

每张幻灯片都需要一个视觉元素——图片、图表、图标或形状。只有文字的幻灯片很容易被遗忘。

布局选项:

  • 双栏布局(左侧文字,右侧插图)
  • 图标 + 文字行(图标位于彩色圆圈中,加粗标题,下方为描述)
  • 2x2 或 2x3 网格(一侧为图片,另一侧为内容块网格)
  • 半出血图片(占满左侧或右侧)并叠加内容

数据展示:

  • 大型数据标注(大号数字 60-72pt,下方配小号标签)
  • 对比列(之前/之后、优点/缺点、并排选项)
  • 时间线或流程(编号步骤、箭头)

视觉润色:

  • 在章节标题旁放置位于小号彩色圆圈中的图标
  • 用斜体强调文字突出关键数据或标语
排版

选择一套有趣的字体搭配——不要默认使用 Arial。选择一款有个性的标题字体,并搭配一款简洁的正文字体。

标题字体正文字体
GeorgiaCalibri
Arial BlackArial
CalibriCalibri Light
CambriaCalibri
Trebuchet MSCalibri
ImpactArial
PalatinoGaramond
ConsolasCalibri
元素字号
幻灯片标题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.
验证循环
  1. 生成幻灯片 → 转换为图片 → 检查
  2. 列出发现的问题(如果未发现任何问题,请更批判性地再看一遍)
  3. 修复问题
  4. 重新验证受影响的幻灯片——一个修复常常会引发另一个问题
  5. 重复,直到完整一轮检查未发现新问题

在完成至少一个修复并验证的循环之前,不要宣布成功。


转换为图片

将演示文稿转换为单独的幻灯片图片以便进行视觉检查:

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

评论

支持 Markdown