文章目錄
- 問題描述
- 問題排查
- 問題解決
問題描述
在預覽PDF時,部分簽章或控件沒有顯示。如下圖:
正確應該要這樣:
問題排查
根據網上搜索,排查,我先看看,pdf.worker.js
里的這三行代碼,是否已經注釋:
// if (data.fieldType === 'Sig') {
// _this2.setFlags(_util.AnnotationFlag.HIDDEN);
// }
注釋了
,但是依然沒有顯示,問題是瀏覽器控制臺也沒有報錯。證明不是代碼問題。
繼續排查,發現通過接口下載下來的接口是有日期的,這個側面也證明數據是沒問題的。
那到底是哪里出了問題呢,我再一次考慮是不是因為日期字體等文件沒有請求成功的問題。最終發現就是在加載日期字體時,出了問題(沒有報錯,但是無法預覽)。
如下圖:
對比正確的路徑,發現原來是多了public
路徑:
問題解決
找到PDF引用cmaps的文件,將public去除,重新打包即可在開發和生產環境正常看到電子簽章了。
//原來
export let cMapUrl = "./public/cmaps/";
//現在
export let cMapUrl = "./cmaps/";
如果你在web前端開發、面試、前端學習路線有困難可以加我V:imqdcnn。免費答疑,行業深潛多年的技術牛人幫你解決bug。
祝你能成為一名優秀的WEB前端開發工程師!