SuperAPI AI 工具集

pptx

办公与效率

查看项目

更新于 10-15 07:45

技能介绍

用途

PPTX 技能用于让 Claude 处理 PowerPoint 演示文稿(.pptx 文件),涵盖三类任务:创建新演示文稿、修改现有演示文稿、分析演示文稿内容。.pptx 文件本质上是包含 XML 文件和其他资源的 ZIP 压缩包,可以直接读取或编辑。

主要能力

读取与分析内容

  • 文本提取:将演示文稿转换为 markdown,命令为 python -m markitdown path-to-file.pptx。
  • 原始 XML 访问:用于处理批注、演讲者备注、幻灯片版式、动画、设计元素和复杂格式。需要解包演示文稿并读取原始 XML 内容,命令为 python ooxml/scripts/unpack.py <office_file> <output_dir>。

关键文件结构包括:

  • ppt/presentation.xml:主演示文稿元数据和幻灯片引用
  • ppt/slides/slide{N}.xml:单张幻灯片内容
  • ppt/notesSlides/notesSlide{N}.xml:每张幻灯片的演讲者备注
  • ppt/comments/modernComment_*.xml:特定幻灯片的批注
  • ppt/slideLayouts/:幻灯片版式模板
  • ppt/slideMasters/:母版幻灯片模板
  • ppt/theme/:主题和样式信息
  • ppt/media/:图像和其他媒体文件

字体与颜色提取

当需要模仿某个示例设计时,先分析演示文稿的字体和颜色:读取主题文件 ppt/theme/theme1.xml 中的颜色(<a:clrScheme>)和字体(<a:fontScheme>);检查 ppt/slides/slide1.xml 中的实际字体使用(<a:rPr>)和颜色;使用 grep 在所有 XML 文件中搜索颜色(<a:solidFill>、<a:srgbClr>)和字体引用。

从零创建演示文稿

不使用模板时,使用 html2pptx 工作流将 HTML 幻灯片转换为 PowerPoint,实现精确定位。

设计原则:创建前先分析内容并选择合适的设计元素,考虑主题、品牌、配色,并在写代码前说明设计思路。要求仅使用网络安全字体(Arial、Helvetica、Times New Roman、Georgia、Courier New、Verdana、Tahoma、Trebuchet MS、Impact),通过大小、粗细和颜色建立清晰的视觉层次,确保可读性和一致性。

配色方案:资料提供了多组示例配色(如 Classic Blue、Teal & Coral、Bold Red、Warm Blush、Burgundy Luxury 等),用于激发创意,可选择、调整或自创。

视觉细节选项涵盖几何图案、边框与框架处理、排版处理、图表与数据样式、布局创新和背景处理。

布局提示:含图表或表格时优先使用两栏布局(全宽标题加下方两栏),或全幻灯片布局;切勿在单栏中垂直堆叠图表/表格于文本下方。

工作流:

  1. 完整阅读 html2pptx.md(不得设置读取范围限制)。
  2. 为每张幻灯片创建尺寸正确的 HTML 文件(如 16:9 为 720pt × 405pt),文本使用 <p>、<h1>-<h6>、<ul>、<ol>,图表/表格区域使用 class="placeholder"。渐变和图标须先用 Sharp 栅格化为 PNG 再在 HTML 中引用。
  3. 创建并运行 JavaScript 文件,使用 html2pptx.js 库转换 HTML 幻灯片,用 PptxGenJS API 添加图表和表格,用 pptx.writeFile() 保存。
  4. 视觉验证:生成缩略图网格 python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4,检查文本截断、重叠、定位和对比度问题,调整后重新生成直至正确。

编辑现有演示文稿

使用原始 Office Open XML(OOXML)格式,解包 .pptx 文件、编辑 XML 内容、重新打包。

工作流:

  1. 完整阅读 ooxml.md(约 500 行,不得设置读取范围限制)。
  2. 解包:python ooxml/scripts/unpack.py <office_file> <output_dir>。
  3. 编辑 XML 文件(主要是 ppt/slides/slide{N}.xml 及相关文件)。
  4. 每次编辑后立即验证并修复错误:python ooxml/scripts/validate.py <dir> --original <file>。
  5. 打包:python ooxml/scripts/pack.py <input_directory> <office_file>。

使用模板创建演示文稿

需要遵循现有模板设计时,复制和重排模板幻灯片后替换占位内容。

工作流:

  1. 提取模板文本并创建视觉缩略图网格:python -m markitdown template.pptx > template-content.md,完整阅读该文件;python scripts/thumbnail.py template.pptx。
  2. 分析模板并保存清单到 template-inventory.md,列出每张幻灯片的索引、版式代码和用途(幻灯片为 0 索引)。
  3. 基于模板清单创建演示文稿大纲,将布局结构与实际内容匹配(单栏用于统一叙述,两栏仅用于恰好 2 个不同项目,三栏仅用于恰好 3 个,图像+文本仅在有实际图像时使用,引用布局仅用于真实引用)。保存 outline.md 含内容和模板映射。
  4. 使用 rearrange.py 复制、重排和删除幻灯片:python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52(索引为 0 基,同一索引可重复以复制幻灯片)。
  5. 使用 inventory.py 提取所有文本:python scripts/inventory.py working.pptx text-inventory.json,完整阅读该 JSON。其结构包含幻灯片(slide-0、slide-1 等)、形状(按视觉位置排序)、占位符类型(TITLE、CENTER_TITLE、SUBTITLE、BODY、OBJECT 或 null)、段落属性(文本、项目符号、级别、对齐、间距、字体、字号、粗体、斜体、下划线、颜色)等。

适用场景

  • 需要创建新的 PowerPoint 演示文稿(从零或基于模板)。
  • 需要修改现有 .pptx 文件的幻灯片内容或格式。
  • 需要分析演示文稿的文本、字体、颜色、版式、备注或批注。
  • 需要将 HTML 幻灯片转换为 PowerPoint 并精确定位。

限制

  • 资料未提供该技能的收费、价格、平台支持范围或效果保证等信息。
  • 部分脚本路径需根据项目根目录定位(如 unpack.py 位于 skills/pptx/ooxml/scripts/unpack.py,若不存在可用 find . -name "unpack.py" 查找)。
  • 创建演示文稿时仅允许使用指定的网络安全字体。
  • 编辑现有演示文稿需遵循 OOXML 结构,每次编辑后必须验证。
  • 使用模板时需先建立模板清单,且布局选择必须与实际内容数量匹配。