用途:协助创建、修改、分析 .pptx 文件。.pptx 本质是包含 XML 和资源的 ZIP 包,可按任务选用不同工具与流程。
主要能力与用法:
- 读取分析:提取文本用 python -m markitdown path-to-file.pptx;评论、备注、版式、动画、设计元素和复杂格式需解包后读原始 XML。解包命令:python ooxml/scripts/unpack.py <office_file> <output_dir>,脚本位于 skills/pptx/ooxml/scripts/unpack.py。关键结构包括 ppt/presentation.xml、ppt/slides/slide{N}.xml、ppt/notesSlides/、ppt/comments/、ppt/slideLayouts/、ppt/slideMasters/、ppt/theme/、ppt/media/。字体与配色可从 ppt/theme/theme1.xml 的主题方案和 slide1.xml 的 run 属性中提取。
- 无模板新建:使用 html2pptx 工作流,先阅读完整 html2pptx.md,为每页建 HTML(16:9 用 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 生成缩略图检查文字截断、重叠、位置与对比度问题并迭代修正。设计上需先说明配色与排版思路,只用网络安全字体,注意层级、可读性与一致性;含图表/表格的页优先全幅或两栏布局,避免纵向堆叠。
- 编辑现有文稿:先完整阅读 ooxml.md,再解包、编辑 XML,每次修改后立即运行 python ooxml/scripts/validate.py <dir> --original <file> 校验,最后 python ooxml/scripts/pack.py <input_directory> <office_file> 打包。
- 使用模板新建:先用 markitdown 提取模板文本并生成缩略图网格,分析后写模板清单 template-inventory.md,再制定 outline.md 与模板映射,用 python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52 复制重排,用 python scripts/inventory.py working.pptx text-inventory.json 提取文本,最后替换占位内容。索引为 0 基。
适用场景:需要以程序方式批量生成、按模板产出或精确修改演示文稿时。
限制:现有资料未说明收费、价格与平台支持情况,暂未提供;需依赖相应 Python 脚本与库。