vue2项目的el-table前端来输出pdf文件,该怎么做?

我在网上看到了一个方案,用html2canvas+jspdf,为什么要先转成图片呢?可以直接用jspdf吗?

阅读 2.3k
2 个回答

因为转图片方便,看下jspdf的api
image.png
它就像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

实际应用过pdf打印,建议如果有后端的还是让后端处理,如果没有可以用浏览器自带打印,插件的效果怎么说呢,不咋理想

点击打印,全屏弹窗,然后把关闭按钮和打印按钮等操作用css隐藏(css有专门的print选择器);直接打印就行,打印效果比插件好,如果你前端做的好,甚至优于服务端生成的

webAPI
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/print

自定义打印样式 css媒体查询

@media print { ... }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题