用途:只要涉及 .pptx 文件(输入、输出或两者)即可使用。.pptx 本质是 XML 文件的 ZIP 包,按任务选择方式:新建演示文稿写 pptxgenjs 脚本;编辑现有文稿或基于模板构建则解压后编辑 ppt/slides/slideN.xml 再打包;读取内容用 markitdown deck.pptx,可视化网格用 python scripts/thumbnail.py deck.pptx。
主要能力:scripts/thumbnail.py 生成带标签的幻灯片网格,用于挑选模板版式,仅支持 .pptx,需传前缀避免覆盖;scripts/add_slide.py 复制幻灯片或版式并完成包内登记,可直接对 .pptx 用 -o 输出;scripts/clean.py 删除不再被引用的幻灯片、媒体与关系;scripts/office/validate.py 做架构、关系、内容类型、图表与幻灯片检查,模板派生文稿应加 --original;scripts/office/soffice.py 是 LibreOffice 包装器,可转换格式。
使用方式:新建时 pptxgenjs 已预装,直接 require('pptxgenjs'),先设 pres.layout,颜色用不带 # 的六位十六进制,阴影偏移不可为负,列表用 bullet: true 并设 breakLine,每个输出文件新建一个实例。编辑时先解压,用 add_slide.py 复制,编辑 <p:sldIdLst> 调整顺序,改完内容后 clean.py 清理,再从目录内部 zip -Xr 打包,最后运行 validate.py。所有结构操作应在编辑内容前完成。
适用场景:读取演示文稿、基于模板填充内容、创建新幻灯片、复制版式、生成缩略图、校验文件完整性。
限制:不支持渐变填充,letterSpacing 被忽略,rectRadius 仅对圆角矩形有效;python-pptx 无法复制幻灯片、保留 text_frame.text 格式或读取 SVG/EMF;旧版 .ppt 需先转换;模板槽位与源项目数量不一致时需删除多余整组元素;字体渲染依赖用户 PowerPoint,QA 用 LibreOffice 可能替代字体导致宽度差异。具体收费、价格与平台信息暂未提供。