用途:将 HTML 幻灯片导出为 PPTX 文件,排版采用整页 PNG 截图形式,强调像素级一致,但导出结果不可编辑。整个导出通过一次 gen_pptx 工具调用完成。
主要能力:
- 以 screenshots 模式导出,可指定画布宽高(示例为 1920×1080)。
- 可为每一页提供 showJs 导航脚本与 selector(截图模式下 selector 不使用但仍为必填)。
- 可通过 hideSelectors 隐藏导航、进度条等元素。
- 若幻灯片外层使用 transform:scale() 容器,可通过 resetTransformSelector 指定该容器,使幻灯片在锁定 iframe 内被强制调整为指定宽高。
- 支持 filename 指定文件名。
- 仅当用户明确要求 Google Slides 时,才传入 offer_google_slides: true,导出对话框会出现“Send to Google Slides”按钮,且只有用户点击后才会上传。
- slides[].delay 默认 600ms,若过渡较慢可调大。
- #speaker-notes 中的演讲者备注会自动附加,导出后页面会重新加载。
使用方式(按资料步骤):
- 先用 show_to_user 展示幻灯片。
- 调用 gen_pptx,传入 mode: screenshots、width、height、slides 数组(每项含 showJs 和 selector)、hideSelectors,以及可选的 resetTransformSelector、filename。
- 若使用 <deck-stage> 起始组件:resetTransformSelector 设为 "deck-stage";showJs 使用 document.querySelector('deck-stage').goTo(N)(从 0 开始计数,第 1 页为 goTo(0));此时无需 hideSelectors,因为遮罩和点击区域位于 shadow DOM 中不会被捕获。
校验:与可编辑模式使用相同标志。需关注 duplicate_adjacent(showJs 未发生导航)、reset_selector_miss(resetTransformSelector 未匹配到元素)、slide_size_mismatch(未调整为指定宽高)等问题。
适用场景:需要将 HTML 幻灯片以高保真截图形式交付为 PPTX 的场合。
限制:导出内容为图像,不可编辑;具体收费、平台支持范围等资料暂未提供。