细品pdf.js实践解决含水印、电子签章问题「Vue篇」
作者:jerryWu
转发连接:https://juejin.im/post/5ec48f84e51d45788266753a
项目涉及到移动端查看电子合同的问题,前前后后试了三种方案,真是一步一个坑,三种方案各有各的优点,不水,直接上代码,按照自己的需求选择。
直接使用vue-pdf插件,核心的代码是pdf.js,只不过就是自己封装了一下,优点是方便快捷,缺点是无法加载电子签章。
github地址: https://github.com/FranckFreiburger/vue-pdf
使用非常方便,尤其是只需要翻页,或者不需要翻页的,强烈推荐。
pdf-dist也是基于pdf.js的一个组件,只不过没有封装,需要自己配置,优点是可配置,可实现特殊的需求,缺点是需要自己封装,水印可加载,网上说可以加载电子签章,我的加载不出来,所以还是没采用。
一开始项目使用的是pdf-dist,因为后来电子签章显示不出来:
从网上搜了很多方法,说是需要修改pdf.work.js的源码,全局搜索AnnotationFlag.HIDDEN:
可能是移动端使用微信浏览器的原因,注释掉代码还是不好使,只能再想其他办法了
最后用了最笨的办法,直接从GitHub拉下来pdf.js的demo,用iframe标签包住demo里的HTML文件,直接套着用,完美解决电子签章的问题:
https://github.com/mozilla/pdf.js
下载下来以后放在public文件下(3.x脚手架)
只要能实现需求的代码就是好代码,我的项目是移动端查看PDF文件,因为文件上有电子签章,所以尝试了好几种方案,个人还是推荐第二种方案,如果没有电子签章的情况下。
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
《》
作者:jerryWu
转发连接:https://juejin.im/post/5ec48f84e51d45788266753a
高效处理报表,掌握原生JS打印和导出报表为PDF的顺畅技巧!
在日常工作中,报表打印和导出为PDF是经常要处理的任务之一。除了方便我们将信息传达给同事和客户外,还可以让工作看起来更加专业、漂亮和规范,从而赢得领导和客户的信任和支持。
作为一名工作者,掌握高效的报表处理技巧对提高工作效率至关重要。其中,原生JS打印和导出报表为PDF技巧是一种非常实用、高效且普遍使用的方式。使用原生JS技巧,可以轻松完成报表处理的任务,避免使用繁琐的第三方库和软件,从而节省时间和金钱。掌握原生JS打印和导出报表为PDF技巧并不需要很高的前端开发技能,只需一些JS基础和DOM操作基础。
本文将向您介绍如何使用原生JS技巧打印和导出报表为PDF,并帮助解决在处理报表时可能遇到的问题和困难。
本文使用软件Visual Studio Code(以下简称“VSCode”)作为编程环境,请您以管理员身份运行它。
下图是一个简单的数据报表,并使用饼状图展示,右边两个按钮分别是打印报表(Print)和导出报表为Pdf(Export PDF)。分别点击这两个按钮实现报表打印和导出为Pdf。
(Demo运行界面)
(打印报表)
2.1创建工程文件
第一步在文件管理器中创建一个空白的文件夹作为工程并用VSCode打开。
第二步新建三个空白的文件(html文件、CSS文件和JS文件),名称可以任意取。
至此已经完成了创建工程文件,下面介绍JS的编写。
2.2编写JS文件
第一步添加表格中的数据信息。
第二步添加饼状图。
第三步添加导出Pdf的方法。
第四步添加打印报表的方法。
至此已经完成了JS文件的引入,下面介绍CSS的编写。
2.3编写CSS文件
第一步添加按钮的CSS格式。
第二步添加选项容器和表格的CSS格式。
第三步添加选项行、示例教程和主体的CSS样式。
至此已经完成了CSS文件的引入,下面介绍Html文件的编写。
2.4编写Html文件
第一步引入表格、导出Pdf和打印报表的资源。
第二步引入导出Pdf和打印报表的按钮
2.5运行代码
在运行前需要下载并安装一个插件:Live Server。
(Live Server插件)
安装完插件后需要重启VSCode软件,然后在Html文件中右键点击Open With The Live Server(以浏览器打开)便可运行。
除了JavaScript的使用,还可以在流行的框架如Vue、React中引入打印和导出Pdf功能,不仅如此,还可实现许多花样操作,如数据绑定和单元格透视等,让表格更具交互性和易用性。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。