pdf.js显示合同签名问题
- 问题:
pdf页面,合同的签名印章或签字会显示不出 - 解决方式:
pdf.worker.js里,找到if (data.fieldType === ‘Sig’) ,注释掉this.setFlags(AnnotationFlag.HIDDEN);
注: 不用版本可能写法不用
if (data.fieldType === 'Sig') {
/*warn('unimplemented annotation type: Widget signature');
this.setFlags(AnnotationFlag.HIDDEN);*/
}
自定义下载文件名
修改viewer.js
getPDFFileNameFromURL方法里,3881行增加
var saveName = null;
if (new RegExp(".*\\b" + "saveName" + "\\b(\\s*=([^&]+)).*", "gi").test(url)) {
// 如果file链接里带有saveName的参数,则使用该参数作为下载保存文件名
saveName = RegExp.$2;
}
return saveName || suggestedFilename || defaultFilename;
预览时使用:
var filePath = "http://localhost/abc.pdf?saveName=我的.pdf";
var url = "http://localhost/pdf_viewer?file=" + encodeURIComponent(filePath);
这样下载的文件就为“我的.pdf”,而不是“abc.pdf”
注意: 这里filePath需要使用encodeURIComponent进行编码,否则中文名可能会有问题
文件未正常加载或样式未正常加载
可能原因
未引入
<link rel="resource" type="application/l10n" href="/pdfjs/locale/locale.properties">