vue-pdf不显示电子签章

  • Post author:
  • Post category:vue


vue-pdf版本号4.1.0,查看合同类的pdf时显示不出来电子签名,pdf格式是后端返回的base64位格式的;

解决方法:找到node_modules包里的pdfjs-dist/es5/build/pdf.worker.js文件,找到下列代码注释掉即可

_this3.setFlags(_util.AnnotationFlag.HIDDEN);   

不过因为是修改的node包,再次install的时候会把注释覆盖掉,解决这个问题也很简单:

  1. 通过命令安装 patch-package (

    npm install patch-package --save-dev

    )
  2. 修改项目根目录下的 package.json 文件,在 package.json 文件中的 scripts 中加入

    "postinstall": "patch-package"
  3. 手动执行命令创建 npx patch-package package-name 补丁文件(

    npx patch-package 包名

    ),比如这里我要执行的就是

    npx patch-package pdfjs-dist

    ,执行该命令后会在项目根目录中自动创建一个 patches 文件夹,该文件夹中就会出现一个 package-name+版本号.patch 的文件。打开可以看到你在node包中修改的部分
    在这里插入图片描述

    测试的时候可以把原有的node包删掉,重新下载;如果注释还在就是成功了;

    注:如果上述办法无法解决,可以先试着把可以显示出来签章的pdf直接放到vue-pdf的src上,看看是不是自己封装的有问题,也可以在上述注释的地方随便console.log个东西,看看代码到底有没有走到这里



版权声明:本文为LingSnow1019原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。