GoForum🌐 V2EX

开源了一个前端 html 生成 pdf 的 js 库,各项指标是目前主流方案(周下载 80 万)的数倍到数十倍

lmq1919 · 2026-03-05 10:12 · 0 次点赞 · 0 条回复

目前前端 html 转 pdf 的主流方案是先用 html2canvas 将 html 转成图片,再将图片绘制到 pdf 上,本质是披着 pdf 外衣的图片,代表 js 库就是 html2pdf.js ,在 npm 周下载量达到了 80 万。

dompdf.js

这是我开源的前端 html 生成 pdf 的库,用了和目前主流方案完全不同的思路,可以直接在前端生成可编辑的,非图片式的矢量 pdf

在线体验

https://dompdfjs.lisky.com.cn

Git 仓库地址 (欢迎 Star⭐⭐⭐)

https://github.com/lmn1919/dompdf.js

核心特性

  • 使用简单 - 前端一行代码就可以实现转 PDF 功能

  • 🎨 纯前端实现 pdf 生成 - 无需服务器介入

  • 💻 生成的是矢量 PDF- PDF 的文字可以搜索选中编辑,更小的文件体积,文字不会模糊

  • 📱 精准的页面分割处理- 避免页面元素被切割

  • 🚀 可生成上千页的 PDF 文件- 对比一般方案( html2canvas+jspdf ),提升了几百倍

  • 📦 自定义页眉页脚- 可以根据需求,自定义页眉页脚

html2pdf.js 与 dompdf.js 对比

指标 说明
生成速度 同样的内容,dompdf.js 生成速度更快,耗时基本上只有 html2pdf.js 的 12
文件体积 dompdf.js 生成的 pdf 文件体积更小,同样的内容页数,dompdf.js 生成的 pdf 文件体积是 html2pdf.js 的 15 左右。
文件清晰度 文件放大后,html2pdf.js 生成的 pdf 文字会出现明显的锯齿,而 dompdf.js 生成的 pdf 文字则完全没有压力。
生成页数 html2pdf.js 在 30 页左右,由于 canvas 高度限制,就会出现空白页,而 dompdf.js 轻松可以生成数百上千页的 pdf ,取决于你的浏览器内存。
0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: lmq1919
发布: 2026-03-05
点赞: 0
回复: 0