该技能适用于任何涉及 .pptx 或 .potx 文件的任务,包括创建幻灯片、路演稿,以及对已有文件进行读取、编辑、模板套用或格式转换。若会话中另有专用幻灯片产物类型或独立 slides 技能,且用户既未要求 PowerPoint/.pptx,也未提供 .pptx/.potx 用于编辑、填充或转换,应优先使用后者;仅作为参考素材或示例提供的 .pptx/.potx 仍应先用本技能读取,再用其他类型构建新稿。
技术上 .pptx 是 XML 文件的 ZIP 包。新建演示文稿通过编写 pptxgenjs 脚本完成;编辑现有文稿或基于模板构建时,用 unzip 解包、修改 ppt/slides/slideN.xml 后再打包。读取内容可用 markitdown deck.pptx,每个幻灯块位于 <!-- Slide number: N --> 标记下;可视化网格用 python scripts/thumbnail.py deck.pptx。
技能目录下脚本路径相对技能目录,其余为普通 Python、node 或 shell。主要脚本包括:thumbnail.py(生成带标签的幻灯网格,仅支持 .pptx,务必传入前缀避免覆盖)、add_slide.py(复制幻灯片或版式并处理包登记,支持直接操作文件并输出 -o)、clean.py(删除不再引用的幻灯片、媒体和关系)、office/validate.py(校验 schema、关系、内容类型等并给出修复提示)、office/soffice.py(LibreOffice 包装器,用于无头转换为 PDF)。
创建时需注意 pptxgenjs 的常见陷阱:先设置 pres.layout;十六进制颜色不加 #、不用 8 位;选项对象会被原地修改不可复用;阴影偏移必须非负;使用 charSpacing 而非 letterSpacing;列表用 bullet: true 且设置 breakLine;每个输出文件一个 pptxgen 实例;渐变需用背景图替代;每个 addText 需 isTextBox: true;备注使用 slide.addNotes()。写文件后应运行校验脚本。
编辑模板时建议先用 thumbnail.py 与 markitdown 对应内容与版式,解包后按需复制幻灯片、调整 p:sldIdLst、清理并重新打包,最后用 validate.py 以 --original 基线校验。已提供内容还涉及色彩、排版、布局、视觉润色与避免常见 AI 风格错误的建议,以及必须执行的内容与视觉质量检查流程。具体字体、尺寸、间距等规范与完整清单详见资料。