用途:面向 Claude 处理 .pptx 演示文稿,涵盖新建、修改与分析三类任务。.pptx 本质是含 XML 与资源的 ZIP 包,可按任务选择不同工具链。
读取与分析:只取文本时可转 Markdown:python -m markitdown path-to-file.pptx。需要批注、演讲者备注、版式、动画、设计元素或复杂格式时,须解包读取原始 XML:python ooxml/scripts/unpack.py <office_file> <output_dir>。关键结构包括 ppt/presentation.xml、ppt/slides/slide{N}.xml、notesSlides、comments、slideLayouts、slideMasters、theme、media。提取字体与配色可读 ppt/theme/theme1.xml(clrScheme、fontScheme),再查看 slide1.xml 的 rPr 与 solidFill/srgbClr,并用 grep 跨文件搜索。
从零新建:使用 html2pptx 工作流,为每页写 HTML(如 720pt × 405pt),文本用 p、h1-h6、ul、ol,图表表格位置用 class="placeholder",渐变与图标先用 Sharp 栅格化为 PNG,再用 html2pptx.js 转换并通过 PptxGenJS 添加图表后 pptx.writeFile() 保存;最后用 python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 生成缩略图检查截断、重叠、边界与对比度问题。要求先说明设计思路,仅用 Web 安全字体,并给出多组配色与视觉细节建议。
基于模板新建:先用 markitdown 提取模板文本并生成缩略图网格,编写 template-inventory.md 与 outline.md 做模板映射(0 起始索引),再用 python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52 复制、重排、删除页,用 python scripts/inventory.py working.pptx text-inventory.json 提取全部形状文本与样式,最后替换占位内容。
编辑现有文件:使用 OOXML 流程,先读 ooxml.md,再解包、编辑 XML,每次编辑后执行 python ooxml/scripts/validate.py <dir> --original <file> 校验,最后 python ooxml/scripts/pack.py <input_directory> <office_file> 打包。
限制:资料未说明收费、价格与平台支持情况;部分脚本路径需按项目根目录相对位置查找,失败时用 find 定位。