HTML 转 PDF

写 HTML 实时预览,打印成文字可选可搜索的矢量 PDF,零第三方库。

1072 个字符
预览(按真实纸张宽度渲染;脚本不执行)

点「打印」后会打开浏览器的打印窗口,把「目标打印机」选成「另存为 PDF」即可得到文件。 建议把「页眉和页脚」取消勾选,否则每页会带上网页地址与日期;「边距」选项与上面的页边距 会叠加,选「无」或「默认」即可。预览区里的页面脚本一律不执行(出于安全), 所以依赖 JavaScript 生成的内容不会出现在预览与打印结果里。

本工具在你的浏览器内运行,输入的内容与文件不会上传到任何服务器。

常见问题

导出的 PDF 里文字可以选中和搜索吗?
可以选中、复制、搜索,而且是矢量的,放大不会糊。本页不使用「先把网页截图、再把图片塞进 PDF」的做法——那种方式产出的 PDF 里文字其实是像素,搜不到也选不中。这里调用的是浏览器自身的打印排版引擎,输出的是正常的 PDF 文本,文件体积通常也更小。
为什么点了按钮出来的是打印对话框,而不是直接下载文件?
因为浏览器不允许网页不经过你确认就生成并保存文件,所以本页走「打印 → 目标选另存为 PDF」这条正规通道。两个小建议:一是把「页眉和页脚」取消勾选,否则每页会印上网址与日期;二是打印对话框里的「边距」会与页面上的页边距设置叠加,选「无」或「默认」即可,由页面上的设置决定。
预览里的 JavaScript 没有运行,是坏了吗?
是刻意的安全设计。预览把 HTML 放进沙箱 iframe,只开放「同源」与「打开对话框」两项权限,不开放脚本执行——否则页面里的一段脚本就能读取本站数据、冒用本站身份发请求。代价是依赖 JavaScript 动态生成的内容不会出现在预览与打印结果里;需要打印的内容请写成静态 HTML。

相关工具