使用 WebView 配合 pdf.js 在 Android 上顯示 PDF 文件git
最近在 手機上要顯示 PDF 文件,在搜索引擎上找到了不少方案,大致上有如下幾種:github
我是選擇了 pdf.js 這個庫,使用 WebView 配合 H5 頁面,能夠作到隨意的自定義,而且體積很小,放在服務器的話就更小了。npm
在這裏記錄下使用的過程也方便後來者。
考慮到網絡不穩定的狀況,因此我把 js 庫下載下來了,不介意的能夠直接使用網絡庫canvas
剛開始使用時,直接使用提供的 API 建立 canvas ,每一頁建立一個 canvas 而後排列下來,由於有其餘的內容要顯示。
開發測試的時候由於文件小,而且是在電腦上瀏覽的沒有發現什麼問題,在手機上測試的時候使用了一個稍微大點的文件,內存立馬就爆了。
由於是在加載完成後,每頁都建立一個 canvas 顯示,沒有作到逐頁加載,也沒有作任何循環使用和銷燬的處理,內存就爆了。跨域
在 pdf.js 的例子裏看到了在手機上使用的例子,就改了改,它這個作到了循環使用 canvas,而且是逐頁加載。
修改以後在手機上使用 32M 的文件輕鬆無壓力。示例,傳送門服務器
簡單寫了個 Demo :https://github.com/skymxc/Exa...微信
assets 目錄是修改後的頁面。網絡
顯示網絡文件仍是要下載到本地才能夠,由於跨域訪問的限制問題。測試
End 微信掃一掃,關注個人公衆號