PDF.js —— vue項目中使用pdf.js顯示pdf文件(流)

前言:項目中有一個需要預覽下載pdf的需求,網上找了很久,決定使用 pdf.js 完成。

第一步: 首先肯定是導入插件,我是從官網直接下載,鏈接:點擊打開鏈接,注意需要放在static文件目錄下

注意:這裏面有核心的pdf.js和pdf.worker.js,以及展示pdf的viewer頁面把它作爲靜態資源來編譯,基本想要的build和web這兩個重要文件夾的東西都正常編譯。當然你可以可以npm install一下,整個文件放在static目錄下的不好地方就是打包會很大喲,但是比較方便
 

第二步:使用pdf.js(即通過 iframe 標籤或 window.open() 方法打開 web/viewer.html)

注意:我們這樣要顯示的是服務器的pdf或者文件流(主要是文件流)

1. 通過 iframe 嵌套打開pdf(src='/static/pdf/web/viewer.html?file=' + 服務器 pdf 文件地址)  ==>> 文件形式

2. 通過 window.open() 打開服務器返回的文件流     ==>> 我使用的

encodeURI() 把字符串編碼爲 URI     ==>> 不會對:/?&等uri中起分割作用的字符進行編碼;
encodeURIComponent() 把字符串編碼爲 URI 組件

 

注意:

1.  pdf.js是不支持跨域文件加載的  直接加載是不會成功的。會報  “file origin doesnot match viewer”錯誤。 所以我們得改變一下源碼:   ==>> 註銷 viewer.js 的1565行即可

==>>  可搜索 :throw new Error('file origin does not match viewer\'s');

2. 主要實現方法:將文件地址或文件流 傳入到  web/viewer.html 這個文件中

 

參考博客:https://blog.csdn.net/shentibeitaokong/article/details/80011900  ==>> 很詳細

                  https://blog.csdn.net/xinlingdexueba/article/details/79555678     ==>> 簡潔明瞭

                  https://www.jianshu.com/p/242525315bf6   ===>> 報錯情況

 

文章僅爲本人學習過程的一個記錄,僅供參考,如有問題,歡迎指出!

對博客文章的參考,若原文章博主介意,請聯繫刪除!請原諒

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章