1
alertZ 2020-09-18 16:53:04 +08:00
可以试一下这个方法。先使用 html2canvas 将 HTML 转成 canvas,然后调用 canvas 方法转成图片。最后使用 jspdf 将图片导出为 PDF 文件。之前在 angular 的一个项目上是使用这种方法导出的。
|
2
JerryY 2020-09-18 16:57:37 +08:00 3
让后端生成 [逃
|
3
zhuweiyou 2020-09-18 17:09:17 +08:00
一楼理论上可行, 但是手机上不会触发 download, 视频 /文档之类的浏览器应该会直接预览...
|
4
alertZ 2020-09-18 17:23:50 +08:00
@zhuweiyou 恩,之前那个项目是没有在移动端测试过。不过我在网上找了一个 demo,尝试了一下,在微信浏览器和小米浏览器上能够触发下载。 测试地址: https://linwalker.github.io/render-html-to-pdf/demo5.html
|
5
cirzear 2020-09-18 17:29:44 +08:00
一楼的方法跟我之前做的 vue 的项目里用的一样,这个方案绘制页面为图片时,页面滚动条必须在顶部,不然会导致页面绘制图片不全的情况
|
6
ccraohng 2020-09-18 17:36:00 +08:00 via iPhone
如果要兼容 ios ,最好后端返回文件流的
|
7
zhuweiyou 2020-09-18 17:49:32 +08:00
@alertZ 我的 iOS, 微信点了没反应, Safari 点了会跳出一个 PDF 预览页,除非去点浏览器的菜单,存储到文件....
|
8
TimePPT 2020-09-18 18:10:46 +08:00
之前做过都是后端生成,生成后给到下载链接,还可以填写邮箱发邮件。
|
9
Sparetire 2020-09-19 08:19:44 +08:00 via Android
后端跑 pupputeer 访问页面导出 pdf 前端下载,唯一需要注意的是前端页面需要适配下 pdf 打印
|
10
abelmakihara 2020-09-19 09:42:16 +08:00
html2canvas 之前用的时候有坑..
包括 5#说的绘制不全 还有超过一页也有问题(这个后来自己改源码才好的.. 部分 css 失效等 |
11
sybb OP |
12
edk24 2020-09-19 15:00:44 +08:00
php 后端用 mPDF
|