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

如何在vue中使用pdfjs預(yù)覽pdf文件

 更新時(shí)間:2021年06月17日 08:50:02   作者:土家肸哥  
本文主要講解了如何在vue中使用pdfjs預(yù)覽pdf文件,這樣的優(yōu)勢(shì)是無(wú)須讓用戶安裝專門(mén)的軟件即可實(shí)現(xiàn)預(yù)覽,下面就看看如何實(shí)現(xiàn)這個(gè)需求

前言

在寫(xiě)項(xiàng)目的過(guò)程中,偶爾會(huì)有使用到pdf的文件,當(dāng)我們想看pdf文件的時(shí)候,你的操作是不是先把pdf文件下載下來(lái),通過(guò)電腦安裝的專用于打開(kāi)pdf的軟件來(lái)查看pdf文件呢。如果有個(gè)需求說(shuō)不要讓用戶安裝軟件呢,畢竟還是有很多用戶不知道怎么安裝軟件或者這個(gè)東西需要什么東西才能打開(kāi)嘛。ok,有了這樣的需求那我們是不是也得去實(shí)現(xiàn)嘛,畢竟這理由咱也沒(méi)法反駁啊。

思考

既然都提出來(lái)了,那就想想怎么使用咯。既然需要用到pdf。不知道有沒(méi)有關(guān)于js能夠操作的庫(kù)文件來(lái)幫我呢?果斷一百度,咱們今天的主角就來(lái)了:pdfjs。

庫(kù)目錄解析和下載

既然有了方案,那就去研究研究了,首先需要去下載這個(gè)庫(kù)的文件,下載地址:點(diǎn)我下載。這個(gè)頁(yè)面會(huì)有兩個(gè),一個(gè)是兼容舊版的,大家可以根據(jù)自己的實(shí)際情況下載啊。

下載后的代碼結(jié)構(gòu)如下圖:

這里面有兩個(gè)文件夾:

  • build 這里面是pdf核心文件
  • web 例子

使用方法

有兩種使用方法,一種是通過(guò)核心庫(kù)文件自己去實(shí)現(xiàn)pdf的預(yù)覽,還有一種是通過(guò)給的例子去預(yù)覽pdf文件。這里呢就以給的例子來(lái)預(yù)覽pdf文件,如果大家有興趣可以去研究研究怎么用核心文件去實(shí)現(xiàn)咯。

文件位置

首先我們需要將下載好的文件放到vue項(xiàng)目的static靜態(tài)目錄下,如下圖:

實(shí)際調(diào)用

在需要用到的地方使用如下方式調(diào)用:

var url = encodeURIComponent(window.location.origin+'/other/202101/dc88623a-74c4-49c4-bc95-7e34d9cf6163.pdf')
window.open(window.location.origin + window.location.pathname+'static/pdfjs/web/viewer.html?file='+url)

上面的pdf地址為自己放在本地的路徑,這里路徑可以為相對(duì)和絕對(duì)路徑,上面為絕對(duì)路徑

這時(shí)就可以看到如下效果啦:

問(wèn)題

如果這個(gè)pdf文件的地址和當(dāng)前下載的庫(kù)文件地址在相同的域下,應(yīng)該不會(huì)有太大問(wèn)題的,如果不同域下就需要解決跨域的問(wèn)題了。這里有個(gè)地方需要解決就是我們下載的庫(kù)文件,找到viewer.js文件中下面的內(nèi)容注釋:

將上圖中紅色框框里面的內(nèi)容注釋。如果服務(wù)端給出的是下載地址,那么可以使用iframe嵌套來(lái)解決。

總結(jié)

其實(shí)可以看到跨域的知識(shí)有時(shí)候還是很有用的,上面就用到了,我剛開(kāi)始弄的時(shí)候怎么都出不來(lái),后面發(fā)現(xiàn)跨域下載不下來(lái)。當(dāng)前還有更多的用法和問(wèn)題,歡迎大家提出來(lái)。

以上就是如何在vue中使用pdfjs預(yù)覽pdf文件的詳細(xì)內(nèi)容,更多關(guān)于vue中使用pdfjs預(yù)覽pdf文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解決Vue axios post請(qǐng)求,后臺(tái)獲取不到數(shù)據(jù)的問(wèn)題方法

    解決Vue axios post請(qǐng)求,后臺(tái)獲取不到數(shù)據(jù)的問(wèn)題方法

    今天小編就為大家分享一篇解決Vue axios post請(qǐng)求,后臺(tái)獲取不到數(shù)據(jù)的問(wèn)題方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • vue的狀態(tài)庫(kù)管理實(shí)現(xiàn)示例

    vue的狀態(tài)庫(kù)管理實(shí)現(xiàn)示例

    Vuex 是 Vue.js 官方推薦的狀態(tài)管理庫(kù)之一,本文主要介紹了vue的狀態(tài)庫(kù)管理實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • vue實(shí)現(xiàn)手機(jī)驗(yàn)證碼登錄

    vue實(shí)現(xiàn)手機(jī)驗(yàn)證碼登錄

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)手機(jī)驗(yàn)證碼登錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 優(yōu)化Vue中date format的性能詳解

    優(yōu)化Vue中date format的性能詳解

    這篇文章主要介紹了優(yōu)化Vue中date format的性能詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • vue之計(jì)算屬性的緩存computed的用法解讀

    vue之計(jì)算屬性的緩存computed的用法解讀

    這篇文章主要介紹了vue之計(jì)算屬性的緩存computed的用法解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • vue實(shí)現(xiàn)百度下拉列表交互操作示例

    vue實(shí)現(xiàn)百度下拉列表交互操作示例

    這篇文章主要介紹了vue實(shí)現(xiàn)百度下拉列表交互操作,結(jié)合實(shí)例形式分析了vue.js使用jsonp針對(duì)百度接口進(jìn)行交互的相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • vue實(shí)現(xiàn)右鍵彈出菜單

    vue實(shí)現(xiàn)右鍵彈出菜單

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)右鍵彈出菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • vue如何解決代碼需要在dom渲染之后執(zhí)行問(wèn)題

    vue如何解決代碼需要在dom渲染之后執(zhí)行問(wèn)題

    這篇文章主要介紹了vue如何解決代碼需要在dom渲染之后執(zhí)行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue使用el-table動(dòng)態(tài)合并列及行

    vue使用el-table動(dòng)態(tài)合并列及行

    這篇文章主要為大家詳細(xì)介紹了vue使用el-table動(dòng)態(tài)合并列及行,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue使用Ref跨層級(jí)獲取組件的步驟

    Vue使用Ref跨層級(jí)獲取組件的步驟

    這篇文章主要介紹了Vue使用Ref跨層級(jí)獲取組件的步驟,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2021-01-01

最新評(píng)論

彰武县| 莱州市| 磐安县| 新河县| 永顺县| 安岳县| 庐江县| 石门县| 高雄市| 曲周县| 宁蒗| 突泉县| 寿宁县| 漳浦县| 封丘县| 微山县| 莲花县| 祁阳县| 红安县| 宁津县| 方正县| 阿拉善右旗| 浙江省| 周宁县| 麻江县| 绥德县| 从化市| 珲春市| 辛集市| 边坝县| 博兴县| 沙河市| 平阳县| 武穴市| 镇安县| 贵港市| 衡南县| 山阴县| 大关县| 米泉市| 开封县|