mcpField
P
pptx

pptx

github.com/makerjackie文档处理1148 次安装36 周前更新
代码仓库

关于 pptx

pptx 是用于读取、编辑和创建 PowerPoint 演示文稿的技能,提供命令行处理流程。它涵盖内容提取、版式预览、基于模板编辑,以及检查渲染结果中的问题。

主要功能

  1. 01使用 markitdown 提取演示文稿文本
  2. 02生成幻灯片缩略图以供预览
  3. 03基于模板编辑演示文稿
  4. 04使用 pptxgenjs 从头创建演示文稿
  5. 05将幻灯片转换为图像进行检查
  6. 06执行内容和视觉质量检查

适用场景

  1. 01提取 PPTX 文件中的文本
  2. 02编辑前检查幻灯片版式
  3. 03无参考模板时创建演示文稿
  4. 04检查幻灯片是否有溢出和布局问题

安装

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

$npx skills add https://github.com/makerjackie/jackie-skills-starter --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

详细介绍

(中文)PPTX 技能

快速参考

任务指南
阅读/分析内容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 种辅助色调和一种鲜明的点缀色。绝不要让所有颜色的权重相同。
  • 明暗对比:标题页和结论页采用深色背景,内容页采用浅色背景(「三明治」结构)。或者全程使用深色,营造高级质感。
  • 坚持一种视觉主题:选择一种独特元素并重复使用——圆角图片框、彩色圆圈中的图标、单侧粗边框等。让它贯穿每张幻灯片。
配色方案

选择与主题相符的颜色——不要默认使用普通的蓝色。可以参考以下配色方案:

主题主色次色点缀色
午夜高管风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。选择一款有个性的标题字体,并搭配一款简洁的正文字体。

标题字体正文字体
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 生成幻灯片的标志;改用留白或背景色

QA(必需)

假设存在问题。你的任务是找出它们。

你的第一次渲染几乎从不正确。将 QA 视为找 bug,而不是确认步骤。如果你在首次检查时没有发现任何问题,说明你找得不够仔细。

内容 QA
python -m markitdown output.pptx

检查是否有缺失内容、拼写错误、顺序错误。

使用模板时,检查是否有遗留的占位文本:

python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"

如果 grep 返回结果,请在宣布成功之前修复它们。

视觉 QA

⚠️ 使用子 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

依赖项

  • pip install "markitdown[pptx]" - 文本提取
  • pip install Pillow - 缩略图网格
  • npm install -g pptxgenjs - 从零创建
  • LibreOffice (soffice) - PDF 转换(通过 scripts/office/soffice.py 自动为沙盒环境配置)
  • Poppler (pdftoppm) - PDF 转图像

评论

支持 Markdown