Warning: Unimplemented widget field type “Sig”, falling back to base field type.
problem
vue-pdf 盖章没有显示,并且控制台报错
Warning: Unimplemented widget field type “Sig”, falling back to base field type.
reason
pdf-dist 内部导致,需要修改这个npm包的源码
solution
本地解决办法 修改node_modules源码
- 找到 node_modules/pdfjs-dist/es5/build/pdf.worker.js 这个目录
- 搜索AnnotationFlag.HIDDEN找到如下位置
if (data.fieldType === "Sig") {
data.fieldValue = null;
//pdf预览不显示红章问题
// _this3.setFlags(_util.AnnotationFlag.HIDDEN);//将这一行注释掉
}
- 刷新页面即可看到盖章
本地解决办法只能解决自己电脑的问题,其他人设备或者服务器设备问题依然存在
工程化解决办法 patch-package 对第三方库打补丁
- 安装打补丁工具:yarn add patch-package -S
- 生成补丁文件:yarn patch-package pdfjs-dist
- 配置补丁命令: package.json scripts 新增 “postinstall”: “patch-package”
关于postinstall
- 这是npm的一个钩子,在依赖包被install之后执行