求一个保存样式的 html 转 pdf 的方案

2023-03-27 14:08:30 +08:00
 f1ynnv2

手里一堆以.html 方式存的资料文件,想要转在 pdf 保存,后续也会陆续产生这类 html 文件。

试了 v2 里提到的 html 转 pdf 的方案,不管是浏览器打印成 pdf ,还是使用一些库比如:pdfkit 、wkhtmltopdf 等 效果都不好,很多都会丢样式,似乎是调用了打印样式?

对比下来只有 Safari->文件->导出为 PDF 这种方式能 100%的保证 HTML 的样式(不管什么样的网页),但是这个方式有个 bug ,详见 https://v2ex.com/t/927485

所以想问问有没有能完整的保存 HTML 样式的转 PDF 的方案?浏览器插件、各种开发语言库啥的都行。网上收费的 API 就算了,看了几家都好贵。

1099 次点击
所在节点    问与答
12 条回复
rsy
2023-03-27 14:12:39 +08:00
Word 打开文件-选择 html 文件打开-另存为-文件格式选择 PDF 导出
zuiluo
2023-03-27 14:19:16 +08:00
puppeteer 算得上最简单方便,兼容性最好的方案了吧
akira
2023-03-27 14:27:46 +08:00
用 cef 打开 然后再打印成 pdf 不知道行不行
f1ynnv2
2023-03-27 14:37:14 +08:00
@zuiluo puppeteer 本质上还是调用 Chromium 的 pdf 打印功能吧,这个 pdf 打印功能其实是调用网页的打印样式的,感觉还是无法完全做到和 html 一样的样式。
bootvue
2023-03-27 14:51:05 +08:00
发一份大家看看
zuiluo
2023-03-27 14:56:48 +08:00
@f1ynnv2 比如什么样式不兼容?
hua123s
2023-03-27 14:58:17 +08:00
raymanr
2023-03-27 15:20:50 +08:00
感觉完美兼容有点困难啊, 毕竟 HTML 并不考虑分页, 宽高这些打印因素, PDF 更类似于打印成特定纸张后的文档
f1ynnv2
2023-03-27 16:38:45 +08:00
@hua123s 这个确实能保存 pdf ,但是是把图片做成 pdf 了,没法索引了。
f1ynnv2
2023-03-27 16:39:30 +08:00
@raymanr 对,所以才说 Safari 的这个功能真的不错,真正的 100%保持了 HTML 的样式,结果还有点 bug 。
j3llypunk777
2023-03-27 17:05:45 +08:00
做过一个 html 生成 pdf 的需求 用的是 html-to-image 和 jspdf 纯前端
asche910
2023-03-28 09:15:11 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/927526

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX