Android 上預覽 PDF 文件


最近在 手機上要顯示 PDF 文件,在搜索引擎上找到了很多方案,大體上有以下幾種:

我是選擇了 pdf.js 這個庫,使用 WebView 配合 H5 頁面,可以做到隨意的自定義,並且體積很小,放在服務器的話就更小了。

在這里記錄下使用的過程也方便后來者。

考慮到網絡不穩定的情況,所以我把 js 庫下載下來了,不介意的可以直接使用網絡庫

剛開始使用時,直接使用提供的 API 創建 canvas ,每一頁創建一個 canvas 然后排列下來,因為有其他的內容要顯示。
開發測試的時候因為文件小,並且是在電腦上瀏覽的沒有發現什么問題,在手機上測試的時候使用了一個稍微大點的文件,內存立馬就爆了。
因為是在加載完成后,每頁都創建一個 canvas 顯示,沒有做到逐頁加載,也沒有做任何循環使用和銷毀的處理,內存就爆了。

在 pdf.js 的例子里看到了在手機上使用的例子,就改了改,它這個做到了循環使用 canvas,並且是逐頁加載。
修改之后在手機上使用 32M 的文件輕松無壓力。示例,傳送門

memory.png

簡單寫了個 Demo :https://github.com/skymxc/Example/tree/master/displaypdf

assets 目錄是修改后的頁面。

顯示網絡文件還是要下載到本地才可以,因為跨域訪問的限制問題。

screen-1

End


免責聲明!

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



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