我在网上看到了一个方案,用html2canvas+jspdf,为什么要先转成图片呢?可以直接用jspdf吗?
实际应用过pdf打印,建议如果有后端的还是让后端处理,如果没有可以用浏览器自带打印,插件的效果怎么说呢,不咋理想
点击打印,全屏弹窗,然后把关闭按钮和打印按钮等操作用css隐藏(css有专门的print选择器);直接打印就行,打印效果比插件好,如果你前端做的好,甚至优于服务端生成的
webAPI
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/print
自定义打印样式 css媒体查询
@media print { ... }
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
5 回答909 阅读
3 回答2.2k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
3 回答2.2k 阅读
因为转图片方便,看下jspdf的api

它就像
canvas
,提供绘制的API
,怎么绘制是你来写的,所以你想直接用它也可以,把html
的结构样式翻译一下用对应api
画上去,显然这样很麻烦,html2canvas
帮你把html
转成图片,那么只需要把图片绘制到pdf
上就可以了。不过jspdf
也提供了直接导入html
的方法http://raw.githack.com/MrRio/jsPDF/master/docs/module-html.ht...两种方式都有优缺点,参考:
https://juejin.cn/post/6844903886994538510