SuperAPI AI 工具集

pptx

办公与效率

查看项目

更新于 10-15 09:44

技能介绍

用途

pptx 技能用于创建、编辑和分析 .pptx 演示文稿文件。当 OpenCode 需要处理演示文稿时,可使用该技能完成以下任务:创建新演示文稿、修改现有演示文稿、分析演示文稿内容。

.pptx 文件本质上是包含 XML 文件和其他资源的 ZIP 压缩包,可以读取和编辑。针对不同任务,技能提供不同的工具和工作流。

主要能力

读取和分析内容

文本提取:若只需读取演示文稿的文本内容,可将文档转换为 markdown:

python -m markitdown path-to-file.pptx

原始 XML 访问:处理批注、演讲者备注、幻灯片版式、动画、设计元素和复杂格式时,需要解包演示文稿并读取其原始 XML 内容:

python ooxml/scripts/unpack.py <office_file> <output_dir>

unpack.py 脚本位于 skills/pptx/ooxml/scripts/unpack.py(相对于项目根目录)。若该路径下不存在,可使用 find . -name "unpack.py" 定位。

关键文件结构:

  • 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>)和字体引用。

从零创建新演示文稿

不使用模板创建新 PowerPoint 演示文稿时,使用 html2pptx 工作流将 HTML 幻灯片转换为 PowerPoint 并精确定位。

设计原则:创建任何演示文稿前,先分析内容并选择合适的设计元素——考虑主题内容、品牌(若用户提及公司/组织)、配色与内容的匹配,并在编写代码前说明设计思路。要求:仅使用网络安全字体(Arial、Helvetica、Times New Roman、Georgia、Courier New、Verdana、Tahoma、Trebuchet MS、Impact);通过大小、粗细和颜色建立清晰的视觉层次;确保可读性(强对比、合适字号、整洁对齐);保持一致性。

配色方案选择:创造性地选择颜色,考虑主题、行业、氛围、能量水平、目标受众和品牌标识,选择 3-5 种协调的颜色(主色 + 辅助色 + 强调色),确保对比度。资料中提供了多个示例配色方案(如 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 幻灯片转换为 PowerPoint 并保存
  4. 视觉验证:生成缩略图并检查布局问题(文本截断、重叠、定位问题、对比度问题),如有问题调整 HTML 后重新生成,重复直至所有幻灯片视觉正确

使用模板创建新演示文稿

需要遵循现有模板设计创建演示文稿时,先复制和重排模板幻灯片,再替换占位内容。

工作流:

  1. 提取模板文本并创建视觉缩略图网格:python -m markitdown template.pptx > template-content.md,完整阅读 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 文件

inventory JSON 结构包含幻灯片(slide-0、slide-1 等)、形状(按视觉位置排序)、占位符类型(TITLE、CENTER_TITLE、SUBTITLE、BODY、OBJECT 或 null)、段落文本及可选属性(bullet、level、alignment、space_before、space_after、line_spacing、font_name、font_size、bold、italic、underline、color)。

编辑现有演示文稿

编辑现有 PowerPoint 演示文稿中的幻灯片时,需处理原始 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>

适用场景

  • 需要从零创建 PowerPoint 演示文稿
  • 需要基于现有模板创建演示文稿
  • 需要编辑现有 .pptx 文件的幻灯片内容
  • 需要分析演示文稿的文本、排版、颜色或结构
  • 需要处理批注、演讲者备注、版式、动画等复杂格式

限制

  • 具体收费、价格、平台支持情况暂未提供
  • 部分脚本路径需根据实际项目结构定位
  • 使用前需完整阅读相关文档(html2pptx.md、ooxml.md)