需求:
展示包含签章的多页合同pdf。
技术栈:
vue2.x
依赖版本:
vue-pdf 4.0.7(高或低都会可能有问题,建议package.json版本号锁死)
其对应的pdfjs-dist版本:2.0.943,worker-loader版本:^2.0.0 (无须项目中安装)
1、签章不展示
不展示的原因,经查阅大约是数据不安全的问题,在pdfjs的新版本中已修复。但vue-pdf 4.0.7所依赖的版本依然默认不展示。
在node_modules/pdfjs-dist/build/pdf.worker.js中找到:
data.readOnly = _this2.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);
// if (data.fieldType === 'Sig') {
// _this2.setFlags(_util.AnnotationFlag.HIDDEN);
// }
return _this2;
如代码块中注释,即可展示签章。
但会出现新的Error, DataCloneError: Failed to execute ‘postMessage’ on ‘DedicatedWorkerGlobalScope’: # could not be cloned。目前没发现影响功能,但如果不想看