使用pdf.js转PDF文件至图片签章会丢失

现象

需求是在前端使用pdf.js将一张电子发票PDF文件转换为图片进行展示。

转换为图片后,原PDF文件中的发票电子签章会丢失。

在github上有人对这一问题提了issues https://github.com/mozilla/pdf.js/issues/4743

总结来说,就是因为PDF.js不支持数字签名而导致的问题。

解决方法

尝试其中的一个解决方法,不隐藏注释类的内容,解决了签章丢失的问题。

修改 pdf.work.js 文件

找到以下代码,将其注释就可以了

1
2
3
if (data.fieldType === 'Sig') {
_this2.setFlags(_util.AnnotationFlag.HIDDEN);
}