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

vue使用pdf.js預(yù)覽pdf文件的方法

 更新時(shí)間:2021年12月20日 14:41:19   作者:奔跑的哈密瓜  
在頁面進(jìn)行pdf預(yù)覽的時(shí)候,由于文件不能夠打印和下載很難滿足客戶的需求,接下來通過本文給大家介紹vue使用pdf.js來進(jìn)行pdf預(yù)覽,需要的朋友可以參考下

我們在頁面進(jìn)行pdf預(yù)覽的時(shí)候,由于有些文件不能夠進(jìn)行打印和下載,這時(shí)候我們使用window自帶的pdf就很難滿足客戶的需求,因此需要另外的辦法來支持我們進(jìn)行特殊條件的pdf文件預(yù)覽,這里我采用引入pdf.js文件的形式來達(dá)到目的。

第一步:下載pdf.js  

    引入pdf.js文件

    地址如下:http://mozilla.github.io/pdf.js/getting_started/

    

第二步,vue引入

  我這里是把下載下來的文件放在了根目錄的piblic下

第三步,使用

  主要是地址"/build/generic/web/viewer.html?file="+href,href為請求后端返回的文件路徑或者后端返回文件流前段解析后生成的文件路徑,前面拼接上/build/generic/web/viewer.html?file=,地址為自己引入pdf.js文件的路徑,也可以直接這樣寫/build/generic/web/viewer.html,他會直接去找。下面我使用的是前段解析文件流生成地址預(yù)覽的。

  預(yù)覽方法window.open("/build/generic/web/viewer.html?file="+href);

axios({
                method: 'get',
                url:url,
                headers: {
                    "token":auth,
                },
                responseType: 'blob',
            }).then(response => {
                type_ = type_.toLowerCase();
                if (type_ == "docx") {
                    that._type_ = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
                } else if (type_ == "doc") {
                    that._type_ = "application/msword"
                } else if (type_ == "gif") {
                    that._type_ = "image/gif"
                } else if (type_ == "jpeg" || type_ == "jpg") {
                    that._type_ = "image/jpeg"
                } else if (type_ == "png") {
                    that._type_ = "image/png"
                } else if (type_ == "pdf") {
                    that._type_ = "application/pdf"
                } else if (type_ == "txt") {
                    that._type_ = "text/plain;charset=utf-8'"
                } else if (type_ == "xls") {
                    that._type_ = "application/vnd.ms-excel" 
                } else if (type_ == "xlsx") {
                    that._type_ = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
                }else if (type_ == "zip") {
                    that._type_ = "application/zip"
                } else if (type_ == "ppt") {
                    that._type_ = "application/vnd.ms-powerpoint"
                } else if (type_ == "pptx") {
                    that._type_ = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
                }
               if(type_ == "pdf"){
                    var blob = new Blob([response.data], { type: that._type_ })
                    var href = window.URL.createObjectURL(blob); //創(chuàng)建下載的鏈接
                    window.open("/build/generic/web/viewer.html?file="+href);
                }
            })

最后

  如果你想要的禁掉pdf文件的下載、打印等功能,最簡單的方法是,找的自己導(dǎo)入文件里的viewer.html,路徑為build下的generic文件夾下的web里的viewer.html,如下:

  

  在這個(gè)html里找到對應(yīng)下載的dom直接display:none就可以,切記不可以注掉,注掉會報(bào)錯。如下,紅色框中,一個(gè)是下載一個(gè)是打印,直接隱藏就可以。

如果有人問這樣也不安全,那可以和客戶商量不在頁面展示,因?yàn)橹灰撁婵梢钥吹降臇|西,截屏也可以截下來,注定是不安全的。

到此這篇關(guān)于vue使用pdf.js來進(jìn)行pdf預(yù)覽的文章就介紹到這了,更多相關(guān)vue使用pdf.js預(yù)覽pdf內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實(shí)現(xiàn)拖動調(diào)整左右兩側(cè)容器大小

    vue實(shí)現(xiàn)拖動調(diào)整左右兩側(cè)容器大小

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)拖動調(diào)整左右兩側(cè)容器大小,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue中el-tree結(jié)合el-switch實(shí)現(xiàn)開關(guān)狀態(tài)切換

    vue中el-tree結(jié)合el-switch實(shí)現(xiàn)開關(guān)狀態(tài)切換

    本文主要介紹了vue中el-tree結(jié)合el-switch實(shí)現(xiàn)開關(guān)狀態(tài)切換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • VUE中常用的四種高級方法總結(jié)

    VUE中常用的四種高級方法總結(jié)

    開發(fā)vue項(xiàng)目的時(shí)候一般都會開發(fā)很多自定義的全局組件,下面這篇文章主要給大家總結(jié)介紹了關(guān)于VUE中常用的四種高級方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Vue監(jiān)聽事件實(shí)現(xiàn)計(jì)數(shù)點(diǎn)擊依次增加的方法

    Vue監(jiān)聽事件實(shí)現(xiàn)計(jì)數(shù)點(diǎn)擊依次增加的方法

    今天小編就為大家分享一篇Vue監(jiān)聽事件實(shí)現(xiàn)計(jì)數(shù)點(diǎn)擊依次增加的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue?UI框架的主題切換功能實(shí)現(xiàn)

    Vue?UI框架的主題切換功能實(shí)現(xiàn)

    在如今,很多網(wǎng)頁已經(jīng)可以手動切換明亮模式和黑暗模式,網(wǎng)頁的主題切換已經(jīng)成為了一個(gè)常用的需求,因此,本文將從常見框架的處理方式總結(jié)一些相關(guān)的操作,對vue?ui框架主題切換功能感興趣的朋友跟隨小編一起看看吧
    2022-12-12
  • vue中transition組件在項(xiàng)目中運(yùn)用小結(jié)

    vue中transition組件在項(xiàng)目中運(yùn)用小結(jié)

    這篇文章主要介紹了vue中transition組件在項(xiàng)目中運(yùn)用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 安裝@vue/cli 報(bào)錯npm WARN deprecated request@2.88.2問題

    安裝@vue/cli 報(bào)錯npm WARN deprecated request

    這篇文章主要介紹了安裝@vue/cli 報(bào)錯npm WARN deprecated request@2.88.2問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue鼠標(biāo)懸停事件實(shí)例詳解

    vue鼠標(biāo)懸停事件實(shí)例詳解

    這篇文章主要介紹了vue鼠標(biāo)懸停事件,本文通過示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • vue 實(shí)現(xiàn)單選框設(shè)置默認(rèn)選中值

    vue 實(shí)現(xiàn)單選框設(shè)置默認(rèn)選中值

    今天小編就為大家分享一篇vue 實(shí)現(xiàn)單選框設(shè)置默認(rèn)選中值,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue實(shí)現(xiàn)動態(tài)創(chuàng)建和刪除數(shù)據(jù)的方法

    Vue實(shí)現(xiàn)動態(tài)創(chuàng)建和刪除數(shù)據(jù)的方法

    下面小編就為大家分享一篇Vue實(shí)現(xiàn)動態(tài)創(chuàng)建和刪除數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評論

治多县| 东乌| 郁南县| 晋城| 自治县| 罗平县| 巴中市| 宝坻区| 湘西| 中山市| 延津县| 巴楚县| 云南省| 贡嘎县| 静乐县| 竹溪县| 虹口区| 金秀| 丰城市| 张家川| 浮梁县| 洞口县| 宝鸡市| 无为县| 长垣县| 万山特区| 霍林郭勒市| 宁武县| 濉溪县| 常山县| 南靖县| 弥勒县| 福泉市| 台山市| 平江县| 缙云县| 宁安市| 周至县| 灌阳县| 郎溪县| 孟村|