技术解析

请教 移动端 web 页面如何导出为 pdf
0
2021-08-12 04:04:09
idczone
有个移动端的 web 项目,想把页面输出成一个 pdf 文件, 来实现打印页面到 A4 纸
我了解的是 pc 端的网页可以直接用 window.print()方法输出页面的 pdf, 但是移动端的话就没有这个方法了
请教一下各位有什么方案可行呢
可以试一下这个方法。先使用 html2canvas 将 HTML 转成 canvas,然后调用 canvas 方法转成图片。最后使用 jspdf 将图片导出为 PDF 文件。之前在 angular 的一个项目上是使用这种方法导出的。

让后端生成 [逃

一楼理论上可行, 但是手机上不会触发 download, 视频 /文档之类的浏览器应该会直接预览...

恩,之前那个项目是没有在移动端测试过。不过我在网上找了一个 demo,尝试了一下,在微信浏览器和小米浏览器上能够触发下载。 测试地址: https://linwalker.github.io/render-html-to-pdf/demo5.html

一楼的方法跟我之前做的 vue 的项目里用的一样,这个方案绘制页面为图片时,页面滚动条必须在顶部,不然会导致页面绘制图片不全的情况

如果要兼容 ios ,最好后端返回文件流的

我的 iOS, 微信点了没反应, Safari 点了会跳出一个 PDF 预览页,除非去点浏览器的菜单,存储到文件....

之前做过都是后端生成,生成后给到下载链接,还可以填写邮箱发邮件。

后端跑 pupputeer 访问页面导出 pdf 前端下载,唯一需要注意的是前端页面需要适配下 pdf 打印

html2canvas 之前用的时候有坑..
包括 5
还有超过一页也有问题(这个后来自己改源码才好的..
部分 css 失效等

感谢感谢 我试上一试
感谢感谢 我会试一下用后端来动态渲染出 pdf 内容模版 然后存起来下载

php 后端用 mPDF

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服
请您留言

感谢您的关注,当前客服人员不在线,请填写一下您的信息,我们会尽快和您联系。

提交