zoukankan      html  css  js  c++  java
  • pdf.js显示合同签名问题

    需求

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

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

    1. 现在通过使用pdf.js插件,参考下文,引入自己的代码
    2. 我把generic文件夹放在static,viewer.html变成viewer.ftl
    3. 后端代码添加
    @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
    <script>
        DEFAULT_URL = 'view_pdf?pdf_id=${pdf_id}';
    </script>
    
    1. 经过上面步骤已经可以顺利访问pdf页面了,但是印章默认它是不显示的,还需要改点代码
    2. 找到pdf.worker.js该文件下'Sig'这个参数所在地,不同版本代码可能有所不同,但都是类似的做法,注掉返回false的地方
    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

  • 相关阅读:
    Linux网络编程--socket
    UDP学习总结
    TCP协议学习总结
    DNS协议总结
    DHCP协议总结
    ARP协议总结
    二层协议--MPLS协议总结
    二层协议--LLDP协议总结
    二层协议--LACP协议总结
    二层协议--STP协议总结
  • 原文地址:https://www.cnblogs.com/sky-chen/p/9871566.html
Copyright © 2011-2022 走看看