前端 js 生成导出 pdf 有什么成熟方案吗?

2020-12-22 15:18:11 +08:00
 yantianqi
  1. 前端 js 生成导出 pdf 有什么成熟方案吗?
  2. 针对多页的文件,可能有 4,5 页
5191 次点击
所在节点    程序员
29 条回复
v135ex
2020-12-22 15:28:34 +08:00
不太清楚导出这块,PDFjs 可以试试
charlesliu
2020-12-22 15:37:42 +08:00
luxi78
2020-12-22 15:51:41 +08:00
html2pdf,应该满足你的要求,前后端都可用的
https://www.npmjs.com/package/html2pdf.js
lovedebug
2020-12-22 15:53:19 +08:00
相对来说用后端 puppeteer 访问前端 UI 导出更友好。
lovedebug
2020-12-22 15:56:40 +08:00
新版浏览器可以使用 CSS 分页,旧版的可以引入 paged.js 分页
Kasumi20
2020-12-22 16:02:13 +08:00
有一个 React 库,非常牛逼
yantianqi
2020-12-22 16:04:47 +08:00
@Kasumi20 哪个啊?
yazoox
2020-12-22 16:10:19 +08:00
有没有把 html(一个目录,不止一个文件),或者,一个 git repo (readme.md 及子目录),转换成 mobi 或者 epub 的?
GrapeCityChina
2020-12-22 16:13:17 +08:00
有的。SpreadJS 支持在线导出 PDF 。了解更多: https://www.grapecity.com.cn/developer/spreadjs

SpreadJS 支持在线导入 /导出 Excel ( xlsx )、导出 PDF 文档,用户可在浏览器中加载并修改各种 Excel 文档,并将修改后的数据保存到数据库中。
HFX3389
2020-12-22 16:39:37 +08:00
@Kasumi20 #6
@yantianqi #7 难道是传说中的“react-pdf”? https://github.com/diegomura/react-pdf
Kasumi20
2020-12-22 17:02:48 +08:00
@HFX3389 对,就是这个
littleshy
2020-12-22 17:16:42 +08:00
前端不建议折腾 pdf,要嵌字体,不然中文显示有问题。
就是要能解决 unicode 显示问题。
liuy1994g
2020-12-22 17:26:58 +08:00
由后端生成,前端封装一个下载按钮最成熟
darknoll
2020-12-22 17:32:49 +08:00
前端干的也太多了吧,还要处理 pdf,以后再处理 office,后端该开心死了
jingslunt
2020-12-22 17:35:16 +08:00
格式转换的,pandoc
koche
2020-12-22 17:36:55 +08:00
puppeteer
adjusted
2020-12-22 17:37:53 +08:00
@lovedebug 正解,通过浏览器渲染 html 打印为 pdf,应该是坑最少的了。
kinghly
2020-12-22 17:41:40 +08:00
打印 PDF 没有很完美的解决方案,别问我为什么知道。
jingslunt
2020-12-22 17:45:58 +08:00
@kinghly adobe 和微软的产品就做得很完美
kinghly
2020-12-22 17:55:34 +08:00
@jingslunt 大佬分享一下

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

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

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

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

© 2021 V2EX