mcpField
E
export-pptx

export-pptx

github.com/bluzir文档处理10752 次安装27 周前更新
代码仓库

关于 export-pptx

这项 Skill 将 HTML 幻灯片导出为由整页图像构成的 PPTX,并可附加演讲者备注。它使用 Puppeteer 和 pptxgenjs,生成的 PowerPoint 页面不可原生编辑。

主要功能

  1. 01将 HTML 幻灯片渲染为图像
  2. 02可选逐页演讲者备注
  3. 03输出 16:9 PPTX
  4. 04支持 JPEG 压缩选项

适用场景

  1. 01将 HTML 演示文稿导出为 PPTX
  2. 02分享带演讲者备注的幻灯片
  3. 03通过 JPEG 减小导出文件体积

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bluzir/claude-code-design --skill export-pptx

安装后在 Claude Code 中输入/export-pptx确认已加载。

详细介绍

导出 PPTX

基于截图导出 PPTX——<deck-stage> 中的每个 <section> 都会变成一张幻灯片(1920×1080 图像 + 可选的演讲者备注)。

预检

  1. Bash(which node)——如果缺失,告知用户安装 Node 20+
  2. 检查 package.json 是否包含 pptxgenjs + puppeteer——如果没有,请运行:
    Bash(npm install -D pptxgenjs puppeteer)
    
    (或者告知用户先运行 /doctor)

步骤

  1. 解析路径:

    • $0 = 幻灯片 HTML(必需)
    • $1 = 输出文件(默认:文件名 + .pptx)
  2. 运行导出脚本:

    Bash(node scripts/export-pptx.mjs "<input>" "<output>")
    
  3. 报告文件大小 + 路径。

脚本依赖项

必须存在 scripts/export-pptx.mjs。如果缺失,请创建该文件(参见规范 §4.5 中的模板,或请用户运行 /doctor)。

脚本功能

  • 启动无头 Chromium(puppeteer)
  • 以 1920×1080 的尺寸加载幻灯片 HTML
  • 读取 <deck-stage>.totalSlides
  • 对每张幻灯片:执行 goToSlide(i),设置 noscale,使用 page.screenshot 截取 0,0,1920,1080 区域
  • 读取 #speaker-notes JSON(如果存在),并为每张幻灯片附加备注
  • 使用 pptxgenjs 构建 .pptx(16:9 布局,每张幻灯片各含一张 PNG 背景图)

备注

  • 图像可能很大——在 1920×1080 分辨率下,每张幻灯片 5 MB 属于正常情况
  • 如需减小文件体积,可向脚本传入 --jpeg 0.8(以 80% 画质压缩为 JPEG)
  • 在 PowerPoint 中无法编辑——每张幻灯片都是栅格图像。v3 不支持导出为可原生编辑的格式。

评论

支持 Markdown