用途:处理 .pptx 文件,包括创建新演示文稿、修改已有文件、分析内容。.pptx 本质是包含 XML 的 ZIP 包,可读写。
主要能力:读取内容时可用 python -m markitdown path-to-file.pptx 转 Markdown 提取文本;需要批注、演讲者备注、版式、动画、复杂格式时用 python ooxml/scripts/unpack.py <office_file> <output_dir> 解包读取原始 XML,关键路径包括 ppt/presentation.xml、ppt/slides/slide{N}.xml、ppt/notesSlides/、ppt/comments/、ppt/slideLayouts/、ppt/slideMasters/、ppt/theme/、ppt/media/。可从 theme1.xml 与 slide1.xml 提取字体、配色。
从零创建:使用 html2pptx 工作流,先读完整 html2pptx.md,每页 HTML 按 720pt×405pt(16:9)制作,文本用 p、h1-h6、ul、ol,图表区域用 class="placeholder",渐变与图标先用 Sharp 栅格化为 PNG;再用 html2pptx.js 转换,用 PptxGenJS 添加图表表格,pptx.writeFile() 保存;随后用 python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 生成缩略图校验文字截断、重叠、位置与对比度问题并迭代修正。
按模板创建:先用 markitdown 提取模板文本并生成缩略图网格,制作 template-inventory.md 盘点各页(0 起始索引),据此写出 outline.md 与模板映射,再用 python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52 复制、重排、删除页,再用 python scripts/inventory.py working.pptx text-inventory.json 提取所有形状与文字属性。
编辑已有文件:读完整 ooxml.md 后解包、编辑 XML,每次修改后运行 python ooxml/scripts/validate.py <dir> --original <file> 校验,最后用 python ooxml/scripts/pack.py <input_directory> <office_file> 打包。
限制:具体收费、平台支持与配置要求暂未提供;生成时仅使用网页安全字体,模板映射索引需在范围内。