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

pdf.js显示合同签名问题

作者头像
老梁
发布于 2019-09-10 08:56:47
发布于 2019-09-10 08:56:47
9.9K00
代码可运行
举报
运行总次数:0
代码可运行

需求

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PDF.js专题
前言     英文是github上的原文,找不到中文资料,我根据自己理解翻译的,有些词意思拿不准就直接把单词留在原地了,看这个文档应该可以凑合着用了。 PDF.js是什么     PDF.js is a Portable Document Format(PDF) viewer that is built with HTML5.PDF.js is community-driven and supportedby Mozilla Labs. Our goal is to create a general-pur
MonroeCode
2018/02/09
21.3K0
PDF.js专题
pdf.js分片加载、分段加载golang beego
viewer.html页面不需要修改。如果需要,则修改viewer.js和pdf.js等引用文件位置
hotqin888
2021/12/06
21K2
pdf.js分片加载、分段加载golang beego
使用 pdf.js 在网页中加载 pdf 文件
在网页中加载并显示PDF文件是最常见的业务需求。例如以下应用场景:(1)在电商网站上购物之后,下载电子发票之前先预览发票。(2)电子商务管理系统中查看发布的公文,公文文件一般是PDF格式的文件。
张传宁IT讲堂
2019/10/30
43.2K5
使用 pdf.js 在网页中加载 pdf 文件
engineercms利用pdf.js制作连续看图功能
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/details/78991736
hotqin888
2018/09/11
4.6K0
engineercms利用pdf.js制作连续看图功能
【黄啊码】vue-pdf预览时无法显示印章和中文字体或者乱码(简单粗暴)
找到我们安装好的 vue-pdf 安装包里的 pdf.worker.js 文件,如图展示路径
黄啊码
2022/09/08
2.6K0
Java开发技术大杂烩(三)之电商项目优化、rabbitmq、Git、OSI、VIM、Intellj IDEA、HTTP、JS、Java
前言 最近公司让我维护Spring+Servlet+Hibernate+Spring Security+Jsp的老项目,正好可以锻炼我的业务逻辑和掌控项目的能力。虽然项目很老,但是其中还是有很多值我学习的地方。 电商项目优化 1.我们大致优化的点是秒杀接口:redis预减库存,减少数据库访问;内存标记较少redis的访问;rabbitmq队列缓冲,异步下单,增强用户体验。那么具体步骤如下。 1.处理秒杀业务的Controller在Spring容器周期内加载就绪。也就是实现InitializingBe
用户2032165
2018/06/08
1.4K0
SpringMVC学习笔记
V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据
SerMs
2022/03/31
1.7K0
SpringMVC学习笔记
springboot+vue练手级项目,真实的在线博客系统
Spring常用注解,注解 IOC ,AOP,MVC 的理解 mybatisDao层 Mapper层 controller层 service层 model层 entity层 简介 mall商场学习文档 mybatisplus学习文档 mybatisplus配套代码 easycode搭配mybatisplus巨爽 @Autowired 的时候为什么注入接口不是实现类 @Service注解为什么是标注在实现类上的 mapper接口需要加注解吗?通过MapperScan减少注解 @Mapper与@MapperScan注解的作用是什么?
全栈程序员站长
2022/11/03
1.4K0
SpringMVC知识体系搭建
< context:component-scan/> 扫描指定的包中的类上的注解,常用的注解有:
时间静止不是简史
2020/07/25
2K0
微服务(十五)——Sentinel 高可用流量管理框架
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
不愿意做鱼的小鲸鱼
2022/09/27
1.2K0
微服务(十五)——Sentinel 高可用流量管理框架
Sentinel
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
大忽悠爱学习
2021/12/07
1.2K0
Sentinel
在线教育项目用户登录和注册
链接:https://pan.baidu.com/s/12tchZo7zwmvMqWBNY9BLog  提取码:8888 
陶然同学
2023/02/27
9370
在线教育项目用户登录和注册
大型项目技术栈第一讲 Vue.js的使用
Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。
易兮科技
2020/09/27
5.1K0
大型项目技术栈第一讲  Vue.js的使用
Android 垃圾分类APP(三)垃圾分类之语音输入
  上一篇文章中是在主页面中进行手动输入的,而如果我想要在这里面在加上语音搜索的入口自然也是也可以的,只不过页面的代码就很多了,因此痛定思痛我打算新写一个页面单独做这个语音输入,然后搜索物品分类,这样可能看得人也好理解的,因此本文中可能会先改动这个MainActivity,然后把手动输入搜索移到一个新的页面中。这样主页面就作为其他的方式的入口。
晨曦_LLW
2021/04/25
1.9K0
Android 垃圾分类APP(三)垃圾分类之语音输入
第四章-Spring Boot web 开发
2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来
李昂君
2021/12/24
1K0
第四章-Spring Boot web 开发
java工程师笔试面试题[通俗易懂]
条件:type = employee,id = ? 结果:查询表 T_EMPLOYEE 中 id = ? 的员工记录 条件:type = employee,id = null 结果:查询表 T_EMPLOYEE 中所有员工记录 条件:type = salary,id = ? 结果:联合查询表 T_EMPLOYEE 和T_SALARY 中所有员工的姓名和工资记录
全栈程序员站长
2022/09/14
9720
Java面试笔试题大汇总(最全+详细答案)
声明:有人说, 有些面试题很变态,个人认为其实是因为我们基础不扎实或者没有深入。本篇文章来自一位很资深的前辈对于最近java面试题目所做的总结归纳,有170道题目 ,知识面很广 ,而且这位前辈对于每个题都自己测试给出了答案 ,如果你对某个题有疑问或者不明白,可以电脑端登录把题目复制下来然后发表评论,大家一起探讨,也可以电脑端登录后关注我给我发私信,我们一起进步! 以下内容来自这位前辈 2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没
汤高
2018/01/11
30.2K0
Java面试笔试题大汇总(最全+详细答案)
Java基础知识点
有人说, 有些面试题很变态,个人认为其实是因为我们基础不扎实或者没有深入。本篇文章来自一位很资深的前辈对于最近java面试题目所做的总结归纳,有170道题目 ,知识面很广 ,而且这位前辈对于每个题都自己测试给出了答案 ,如果你对某个题有疑问或者不明白,可以把题目复制下来然后发表评论,大家一起探讨
小黑同学
2022/05/10
1.1K0
Java基础知识点
Python100Days
这可能是我目前发现最好最好的Python教程了,故整理至我的博客。 原项目GitHub地址https://github.com/jackfrued/Python-100-Days
一点儿也不潇洒
2018/08/07
9.9K0
KVM详解,学习kvm系列文章
其中,KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor:
菲宇
2019/06/12
9.4K1
KVM详解,学习kvm系列文章
相关推荐
PDF.js专题
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验