在web項目中集成pdf.js的默認查看器


pdf.jsMozilla開源的一項用於在HTML5平台上顯示pdf文檔的技術,Mozilla自己的Firefox瀏覽器也用了pdf.js來預覽pdf,可見應該是一個比較成熟穩定的方案(btw,chrome用的是foxit的技術,國人驕傲啊)。當然類似的方案有很多,並且大多都提供了豐富的api,如果你仔細讀文檔/api,可能會有好的收獲,但是Mozilla同時把在Firefox內的查看器也一道開源了,對於大部分定制性不強,只需要瀏覽的使用場景來說,似乎可以直接“拿來主義”,本文就說的是如何直接使用這個自帶的viewer

前提,既然是基於HTML5的方案,那么瀏覽器兼容性是個大問題,官方盡可能地做了兼容(通過compatibility.js文件),但是仍然無法支持IE9以下的瀏覽器,詳見此,IE9以下要支持,要么換方案,要么直接在不支持的情況下顯示下載鏈接吧。

1,下載源碼

git clone https://github.com/mozilla/pdf.js.git pdfjs
cd pdfjs

2, 編譯

需要node環境

node make generic

這會在你的根目錄下生成一個build文件夾,目錄結構:

/
    generic
        build
            pdf.js
            pdf.worker.js
        web
            ...

其中,build路徑下是主程序,web路徑下是查看器程序

3, 運行網站

node make server

你也可以用發布在自己的任意web服務器,用上述命令可以以當前目錄pdfjs為根目錄伺服一個網站,你可以順便查看下examples里面的內容,以及web(這就是Mozilla的pdf查看器所在)里面的內容。

當然,你也可以直接跑到上一節生成的generic目錄下伺服一個網站,這會讓事情顯得簡單很多。總之,網站部署好后,我們只要找到web路徑下的view.html靜態文件,然后傳入file=xxx.pdf形式的參數即可,比如:

http://myapp.mycompany.com/web/viewer.html?file=http://myapp.mycompany.com/my-PDF-file.pdf

(同站文件用相對路徑當然也沒問題)

4, 修改部署路徑

如果你的項目部署並不是generic/build&web(肯定大多數不是),你只需要更改·文件里面的pdf.js路徑為你的真實路徑,

<script type="text/javascript" src="../build/pdf.js"></script>

以及·里面的‘pdf.worker.js’為你的真實路徑即可

PDFJS.workerSrc = '../build/pdf.worker.js';

參考:Integrating PDF.js as PDF viewer in your web application


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM