最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決vue-pdf的簽章不顯示問題記錄

 更新時(shí)間:2024年11月23日 11:36:45   作者:join8  
文章介紹了使用vue-pdf@4.3.0時(shí)遇到的上傳特殊PDF文件無法正常預(yù)覽的問題,通過查看控制臺(tái)報(bào)錯(cuò)信息,發(fā)現(xiàn)是因?yàn)槿鄙僮煮w導(dǎo)致的,解決方法是修改pdfjs-dist庫的代碼,注釋掉隱藏電子簽章的代碼,為了在生產(chǎn)環(huán)境中應(yīng)用這個(gè)修改,使用了patch-package插件,感興趣的朋友一起看看吧

在使用vue-pdf @4.3.0時(shí)發(fā)現(xiàn)上傳一般的普通pdf正常預(yù)覽,但是上傳帶有紅頭文件的和和特殊字體的pdf無法正常內(nèi)容顯示,文字丟失問題。

1、查看控制臺(tái)報(bào)錯(cuò)信息

2、缺少字體原因

    getNumPages(url) {
      var loadingTask = pdf.createLoadingTask({
         url: url,
         //引入pdf.js字體
         cMapUrl: 'https://cdn.jsdelivr.net/npm/pdfjs-dist@4.8.69/cmaps/',
         cMapPacked: true
      });
      this.url = loadingTask;
      loadingTask.promise.then((res) => {
        this.numPages = res.numPages;
      })
    }

3、vue-pdf 是依賴于 pdfjs-dist 庫的,而它依賴的pdfjs-dist庫的版本不支持顯示簽章

在 node_modules/pdfjs-dist/es5/build/pdf.worker.js 發(fā)現(xiàn)有這么一段代碼:

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

其中 _this3.setFlags(_util.AnnotationFlag.HIDDEN)就是隱藏電子簽章,注釋這段代碼去修復(fù)這個(gè)問題了。

4、生產(chǎn)環(huán)境同步去修改,用到另一個(gè)插件 patch-package 

它的作用就是打補(bǔ)丁, 當(dāng)某些模塊有bug的時(shí)候, 先在依賴包修改,在執(zhí)行以下命令

npm install patch-package
npx patch-package pdfjs-dist

執(zhí)行后會(huì)在項(xiàng)目根目錄生成patches文件

同時(shí)你也要在 package.json 的腳本scripts中添加 

"scripts": {
    ...
    "postinstall": "patch-package"
 },

后續(xù)執(zhí)行 npm install 時(shí),會(huì)自動(dòng)為依賴包打補(bǔ)丁

5、worker-loader 的默認(rèn)打包路徑是在 dist 根目錄下,為了統(tǒng)一我們想把它打包到 dist/static/js 目錄下,我們依舊通過更改源碼的方式是設(shè)置路徑。

找到 node_modules/worker-loader/dist/index.js 文件,然后把:

const filename = _loaderUtils2.default.interpolateName(this, options.name || '[hash].worker.js', {
    context: options.context || this.rootContext || this.options.context,
    regExp: options.regExp
});

改為我們想要的路徑

const filename = _loaderUtils2.default.interpolateName(this, options.name || 'static/js/[hash].worker.js', {
  context: options.context || this.rootContext || this.options.context,
  regExp: options.regExp
});

最后,再運(yùn)行 npx patch-package worker-loader,生成worker-loader+2.0.0.patch補(bǔ)丁包

到此這篇關(guān)于解決vue-pdf的簽章不顯示問題的文章就介紹到這了,更多相關(guān)vue-pdf簽章不顯示內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue父子組件之間的通信實(shí)例詳解

    Vue父子組件之間的通信實(shí)例詳解

    在vue組件通信中其中最常見通信方式就是父子組件之中的通信,而父子組件的設(shè)定方式在不同情況下又各有不同。這篇文章主要介紹了Vue---父子組件之間的通信,需要的朋友可以參考下
    2018-09-09
  • vue3?element?plus按需引入最優(yōu)雅的用法實(shí)例

    vue3?element?plus按需引入最優(yōu)雅的用法實(shí)例

    這篇文章主要給大家介紹了關(guān)于vue3?element?plus按需引入最優(yōu)雅的用法,以及關(guān)于Element-plus按需引入的一些坑,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Vue3響應(yīng)式原理分析(Proxy(obj,{get(){},set(){}}))

    Vue3響應(yīng)式原理分析(Proxy(obj,{get(){},set(){}}))

    文章詳細(xì)分析了Vue3的響應(yīng)式原理,包括Proxy對(duì)象的get和set方法,以及雙向數(shù)據(jù)綁定,通過代碼示例展示了Vue3和Vue2在set方法上的區(qū)別,說明了Vue3能夠正確修改值而Vue2不能
    2025-10-10
  • Vue和React的異同點(diǎn)解讀

    Vue和React的異同點(diǎn)解讀

    文章比較了Vue和React的核心設(shè)計(jì)理念、響應(yīng)式系統(tǒng)、虛擬DOM、編譯時(shí)優(yōu)化和功能特性,Vue通過編譯時(shí)優(yōu)化和響應(yīng)式系統(tǒng)實(shí)現(xiàn)細(xì)粒度更新,而React依賴運(yùn)行時(shí)調(diào)度(Fiber)實(shí)現(xiàn)可控的更新優(yōu)先級(jí),兩者都支持函數(shù)式編程,但React在函數(shù)式編程方面提供了更高的靈活性
    2025-02-02
  • Vue-admin-template?添加、跳轉(zhuǎn)子頁面問題

    Vue-admin-template?添加、跳轉(zhuǎn)子頁面問題

    這篇文章主要介紹了Vue-admin-template?添加、跳轉(zhuǎn)子頁面問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Element UI框架中巧用樹選擇器的實(shí)現(xiàn)

    Element UI框架中巧用樹選擇器的實(shí)現(xiàn)

    這篇文章主要介紹了Element UI框架中巧用樹選擇器的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解vue項(xiàng)目打包步驟

    詳解vue項(xiàng)目打包步驟

    這篇文章主要介紹了vue項(xiàng)目打包步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vue 實(shí)現(xiàn)LED數(shù)字時(shí)鐘效果(開箱即用)

    vue 實(shí)現(xiàn)LED數(shù)字時(shí)鐘效果(開箱即用)

    這篇文章主要介紹了vue 實(shí)現(xiàn)LED數(shù)字時(shí)鐘效果(開箱即用),每一個(gè)數(shù)字由七個(gè)元素構(gòu)成,即每一個(gè)segment元素,本文給大家分享實(shí)現(xiàn)實(shí)例,感興趣的朋友一起看看吧
    2019-12-12
  • Vue build過程取消console debugger控制臺(tái)信息輸出方法詳解

    Vue build過程取消console debugger控制臺(tái)信息輸出方法詳解

    這篇文章主要為大家介紹了Vue build過程取消console debugger控制臺(tái)信息輸出方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Vue實(shí)現(xiàn)路由過渡動(dòng)效的4種方法

    Vue實(shí)現(xiàn)路由過渡動(dòng)效的4種方法

    Vue 路由過渡是對(duì) Vue 程序一種快速簡(jiǎn)便的增加個(gè)性化效果的的方法,這篇文章主要介紹了Vue實(shí)現(xiàn)路由過渡動(dòng)效的4種方法,感興趣的可以了解一下
    2021-05-05

最新評(píng)論

绥阳县| 张掖市| 宜黄县| 伊宁县| 年辖:市辖区| 教育| 孟村| 高平市| 岳阳县| 武川县| 琼中| 固镇县| 苏州市| 江油市| 宜黄县| 荣昌县| 县级市| 吉隆县| 萝北县| 无锡市| 北安市| 安龙县| 青川县| 饶阳县| 溆浦县| 阳东县| 巴彦县| 郧西县| 大邑县| 乐昌市| 普洱| 宣威市| 宁国市| 永嘉县| 咸宁市| 河北省| 石泉县| 鄂伦春自治旗| 白朗县| 宁津县| 连平县|