解决PDF预览时,电子签章、日期等不显示问题

问题描述

在预览PDF时,部分签章或控件没有显示。如下图:

image-20231121141354956

正确应该要这样:

image-20231121141443132

问题排查

根据网上搜索,排查,我先看看,pdf.worker.js 里的这三行代码,是否已经注释:

//  if (data.fieldType === 'Sig') {
//    _this2.setFlags(_util.AnnotationFlag.HIDDEN);
//  }

注释了,但是依然没有显示,问题是浏览器控制台也没有报错。证明不是代码问题。

继续排查,发现通过接口下载下来的接口是有日期的,这个侧面也证明数据是没问题的。

那到底是哪里出了问题呢,我再一次考虑是不是因为日期字体等文件没有请求成功的问题。最终发现就是在加载日期字体时,出了问题(没有报错,但是无法预览)。

如下图:

image-20231121142436403

image-20231121143306363

对比正确的路径,发现原来是多了public路径:

问题解决

找到PDF引用cmaps的文件,将public去除,重新打包即可在开发和生产环境正常看到电子签章了。

//原来
export let cMapUrl = "./public/cmaps/";
//现在
export let cMapUrl = "./cmaps/";

如果你在web前端开发、面试、前端学习路线有困难可以加我V:imqdcnn。免费答疑,行业深潜多年的技术牛人帮你解决bug。

祝你能成为一名优秀的WEB前端开发工程师!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值