写一个PDF签名验签项目
参考项目
- pdf.js
- pdf-lib
- jsPDF
- node-signpdf
- pdfkit
目前的现状和结论:
除了 node-signpdf 基本上其他所有的库都是不提供创建签名区域和签名功能的
而 node-signpdf 提供了签名功能,但是是对整个文件进行签名的,并不支持对某些元素进行签名
基本上签名的做法就是把文件传给后端,让后端对文件进行签名。
目前理出的办法是:
前端展示并模拟,创建签名区域,然后把pdf和签名区域位置和其他内容传递给后端,让后端进行签名,然后把签名后的pdf返回给前端,前端展示签名后的pdf。
验签的话可以:
- 使用pdf-lib等库来获取签名信息
- 使用 node-forge 来验签
思考
为什么好多库都不支持签名?(个人见解)
好多知名的pdf的库基本上都是前端项目,放在签名前端不安全
nodejs作为后端服务签名优势不大,因为js计算性能不高,特别是pdf文件比较大的时候,nodejs作为服务端前几年并不是非常流行