欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何在vue中使用pdfjs預覽pdf文件

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

前言

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

思考

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

庫目錄解析和下載

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

下載后的代碼結構如下圖:

這里面有兩個文件夾:

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

使用方法

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

文件位置

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

實際調(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地址為自己放在本地的路徑,這里路徑可以為相對和絕對路徑,上面為絕對路徑

這時就可以看到如下效果啦:

問題

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

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

總結

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

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

相關文章

  • 詳解vue中的computed的this指向問題

    詳解vue中的computed的this指向問題

    這篇文章主要介紹了詳解vue中的computed的this指向問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Vue組件通信傳遞數(shù)據(jù)的三種方式

    Vue組件通信傳遞數(shù)據(jù)的三種方式

    這篇文章主要介紹了Vue組件通信傳遞數(shù)據(jù)的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-04-04
  • vue使用smooth-signature實現(xiàn)移動端橫豎屏電子簽字

    vue使用smooth-signature實現(xiàn)移動端橫豎屏電子簽字

    這篇文章主要為大家介紹了vue使用smooth-signature實現(xiàn)移動端橫豎屏電子簽字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Vue3使用v-if指令進行條件渲染的實例代碼

    Vue3使用v-if指令進行條件渲染的實例代碼

    條件渲染是根據(jù)條件的真假來有條件地渲染元素,在Vue.js 3.x中,常見的條件渲染包括使用v-if指令和v-show指令,本文講解使用v-if指令進行條件渲染,需要的朋友可以參考下
    2024-03-03
  • Vue+NodeJS實現(xiàn)大文件上傳的示例代碼

    Vue+NodeJS實現(xiàn)大文件上傳的示例代碼

    常見的文件上傳方式可能就是new一個FormData,把文件append進去以后post給后端就可以了。但如果采用這種方式來上傳大文件就很容易產(chǎn)生上傳超時的問題。所以本文將利用Vue+NodeJS實現(xiàn)大文件上傳,需要的可以參考一下
    2022-05-05
  • VueJs中toRef與toRefs函數(shù)對比詳解

    VueJs中toRef與toRefs函數(shù)對比詳解

    這篇文章主要為大家介紹了VueJs中toRef與toRefs函數(shù)對比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • vue-cli或vue項目利用HBuilder打包成移動端app操作

    vue-cli或vue項目利用HBuilder打包成移動端app操作

    這篇文章主要介紹了vue-cli或vue項目利用HBuilder打包成移動端app操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue中ant-design-vue組件的安裝與使用

    vue中ant-design-vue組件的安裝與使用

    Ant Design Vue是使用Vue實現(xiàn)的遵循Ant Design設計規(guī)范的高質量UI組件庫,用于開發(fā)和服務于企業(yè)級中后臺產(chǎn)品,下面這篇文章主要給大家介紹了關于vue中ant-design-vue組件安裝與使用的相關資料,需要的朋友可以參考下
    2022-04-04
  • vue3+el-table封裝示例詳解(編輯、刪除、查看詳情按鈕一起封裝)

    vue3+el-table封裝示例詳解(編輯、刪除、查看詳情按鈕一起封裝)

    在Vue3中,利用Element?Plus?UI庫封裝表格組件,實現(xiàn)編輯、刪除和查看詳情的功能,通過定義tableData和tableDataHeader來管理表格數(shù)據(jù)和表頭,其中tableData通常從后端獲取,而tableHeader可根據(jù)具體需求自定義,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • vue實現(xiàn)商品列表的無限加載思路和步驟詳解

    vue實現(xiàn)商品列表的無限加載思路和步驟詳解

    這篇文章主要介紹了vue實現(xiàn)商品列表的無限加載思路和步驟詳解,基礎思路是觸底條件滿足之后 page++,拉取下一頁數(shù)據(jù),結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下,
    2024-06-06

最新評論