前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pdf.js显示合同签名问题

pdf.js显示合同签名问题

作者头像
老梁
发布2019-09-10 16:56:47
9.6K0
发布2019-09-10 16:56:47
举报

需求

  1. pdf页面显示在ios11以下的环境,合同的签名印章或签字会显示不出

解决方案(初步处理参考下文引用,这里是后续具体做法)

  1. 现在通过使用pdf.js插件,参考下文,引入自己的代码
  1. 我把generic文件夹放在static,viewer.html变成viewer.ftl
  2. 后端代码添加
代码语言:javascript
复制
@RequestMapping(value = {"/showPdf.do", "showPdf"})
public String showPdf(ModelMap modelMap, HttpServletRequest request) throws Exception {
    log.info("---------------showPdf start---------------");
    HashMap<String, Object> hashMap = this.getHashMap(request);
    String pdfId = (String) hashMap.get("pdf_id");
    modelMap.put("pdf_id", pdfId);
    log.info("---------------showPdf end pdf_id:{}---------------", pdfId);
    return "manager/viewer";
}
  1. 把默认访问pdf地址提取到viewer.ftl
代码语言:javascript
复制
<script>
    DEFAULT_URL = 'view_pdf?pdf_id=${pdf_id}';
</script>
  1. 经过上面步骤已经可以顺利访问pdf页面了,但是印章默认它是不显示的,还需要改点代码
  2. 找到pdf.worker.js该文件下'Sig'这个参数所在地,不同版本代码可能有所不同,但都是类似的做法,注掉返回false的地方
代码语言:javascript
复制
var parent = Annotation.prototype;
Util.inherit(WidgetAnnotation, Annotation, {
isViewable: function WidgetAnnotation_isViewable() {
  // if (this.data.fieldType === 'Sig') {
  //   warn('unimplemented annotation type: Widget signature');
  //   return false;
  // }

  return parent.isViewable.call(this);
}
});

参考 https://www.cnblogs.com/kagome2014/p/kagome2014001.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求
  • 解决方案(初步处理参考下文引用,这里是后续具体做法)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档