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个东西,看看代码到底有没有走到这里
Logo

前往低代码交流专区

更多推荐