html-ppt-to-pdf

Polar Sponsor
爱发电 赞助
.NET 9.0

将使用 `<section class="slide">` 约定的 HTML 幻灯片转换为高保真、矢量文本 PDF(使用 Playwright + Chromium 原生 PDF 功能)。

html-ppt-to-pdf

功能概述

html-ppt-to-pdf是一项面向实际任务的技能,主要用于把 HTML 格式幻灯片转成矢量 PDF;文字是可选中可搜索的 live text(不是栅格化图片),字体以 subset 形式嵌入 PDF,页面尺寸和角标与原 HTML 一致;

核心要点

  • When to use;
  • 用户手上有一份 HTML 幻灯片要导出成 PDF,典型来源:;
  • html-ppt skill 产物(固定 1920×1080,有 runtime.js 注。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

html-ppt-to-pdf

把 HTML 格式幻灯片转成矢量 PDF。文字是可选中可搜索的 live text(不是栅格化图片),字体以 subset 形式嵌入 PDF,页面尺寸和角标与原 HTML 一致。

When to use

用户手上有一份 HTML 幻灯片要导出成 PDF,典型来源:

  • html-ppt skill 产物(固定 1920×1080,有 runtime.js 注入 .slide-number
  • frontend-slides / frontend-design skill 产物(100vh 自适应,用 IntersectionObserver 触发 .visible class 做 reveal 动画)
  • 任何手写/其他工具产的 HTML,只要用 <section class="slide"> 约定

过去踩过这些坑本 skill 都处理了:字体和原 HTML 不一致、页码 "101/22" 错乱、截图丢页/重页、frontend-slides 里非首屏 slide 内容全部隐形(.reveal 元素 opacity:0)。

不要用于:普通网页存 PDF(让用户用浏览器打印即可);Markdown 转 PDF(用 pandoc/typst);.pptx 转 PDF(用 pptx skill 或 LibreOffice)。

Input contract

  • 输入:HTML 文件绝对路径
  • HTML 约定:每张 slide 用 <section class="slide">;如果源 HTML 用别的 class(.deck-slide.page 等),传 --slide-selector
  • 默认尺寸:1920 × 1080。frontend-slides 类源码是 100vh 自适应,脚本会用 viewport 强制 1920×1080 排版(保证 16:9)
  • 输出:单个矢量 PDF 文件,文字可选中,字体 subset 嵌入

How to invoke

# 第一次用先装依赖(只需一次)
cd ~/.myagents/skills/html-ppt-to-pdf/scripts
npm install
npx playwright install chromium   # 仅作最后兜底

# 执行转换
node ~/.myagents/skills/html-ppt-to-pdf/scripts/html-to-pdf.mjs <input.html> <output.pdf>

# 自定义尺寸
node ~/.myagents/skills/html-ppt-to-pdf/scripts/html-to-pdf.mjs input.html out.pdf --width 1280 --height 720

强烈推荐系统装 Chrome 或 Edge。脚本默认自动用系统 Chrome/Edge 出 PDF——Playwright 自带的 Chromium(build 1208 实测)有 page.pdf() 绘制 bug:遇到 display:flex; flex-direction:column + 内联 opacity:0; transform:translateY() 的 reveal-card 结构时会静默丢内容(屏幕/截图正常,唯独 PDF 丢)。系统 Chrome 无此问题。若系统未装 Chrome/Edge,脚本会 fallback 到 bundled Chromium 并打警告。

Why this approach (critical)

不要走"截图合成 PDF"。那条路线(html-ppt/scripts/render.sh + ImageMagick 拼 PDF)有三个硬伤:

  1. PNG 把文字栅格化,字体信息丢失,放大即糊
  2. 逐页 hash 跳转 + 循环截图的时序 bug,经典丢首页/重尾页
  3. runtime.js 动态注入的页码与截图时序冲突

本 skill 用 Playwright 的 page.pdf(),由 Chromium 排版引擎一次性吐出多页矢量 PDF:

  • 字体:等 document.fonts.ready 再排版 → Chromium 把用到的字形 subset 嵌入 /FontFile2
  • 分页:注入 @page + page-break-after CSS → Chromium 原生分页,不存在循环
  • 页码:自动把 .slide-numberdata-current / data-total 修成正确值,解决 "101/22" 那种 DOM 硬写文本和 CSS ::before/::after 叠加的 bug
  • 排版差异适配:
    • deck 风格(html-ppt:所有 slide position: absolute; top: 0)→ 强制 position: static 把 slides 摊开
    • flow 风格(frontend-slides:height: 100vh)→ 用固定 px 尺寸覆盖 vh 单位
    • reveal 动画(frontend-slides 的 .reveal + IntersectionObserver 加 .visible)→ 强制给每张 slide 加 .visible class,并把 .revealopacity/transform 设为终态,避免非首屏内容隐形
    • 统一隐藏运行时 UI:.progress-bar.nav-dots.edit-toggle.edit-hotzone 等不进 PDF

Verification

跑完后必须验证(阿成踩过这些坑):

  • 页数 = HTML 里 <section class="slide"> 的数量,不多不少
  • 首页和末页和 HTML 一致
  • 用 Adobe Reader 打开,文字能选中能复制(证明矢量嵌入)
  • 页面尺寸正确(Acrobat → 文件属性 → 页面大小)
  • 每页的角标/页码都在

Troubleshooting

~/.myagents/skills/html-ppt-to-pdf/README.md

相关专题

更多
PPT批量修改调整尺寸教程合集
PPT批量修改调整尺寸教程合集

本专题整合了PPT批量修改图片尺寸教程合集,阅读专题下面的文章了解更多详细内容。

2026.04.03

378

14

PPT批量插入图片方法合集
PPT批量插入图片方法合集

本专题整合了PPT批量插入图片相关技巧,阅读专题下面的文章了解更多详细步骤。

2026.04.03

164

12

html termux代码合集
html termux代码合集

本专题整合了html termux相关教程,阅读专题下面的文章了解更多详细内容。

2026.04.02

499

11

PPT自动播放设置合集
PPT自动播放设置合集

本专题整合了PPT自动播放相关教程内容合集,阅读专题下面的文章了解更多详细内容。

2026.04.01

139

23

HTML提醒设置合集
HTML提醒设置合集

本专题整合了HTML提醒设置相关教程,阅读专题下面的文章了解更详细的操作步骤。

2026.03.27

840

22

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

2026.01.15

654

45

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

2026.01.13

158

10

PPT交互图表教程大全
PPT交互图表教程大全

本专题整合了PPT交互图表相关教程汇总,阅读专题下面的文章了解更多详细内容。

2026.01.12

273

10

PPT动态图表制作教程大全
PPT动态图表制作教程大全

本专题整合了PPT动态图表制作相关教程,阅读专题下面的文章了解更多详细内容。

2026.01.07

314

19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 200人学习