前幾天看見 asce1885 總結的一篇有關 Android 平台上浏覽 PDF 文件的文章,列出了多種實現方式以及它們的優缺點,較為詳細。剛好,不久前,個人經手的一個項目中也涉及到了 Office 文檔(常見如 PDF、EXCEL、WORD、PPT等)在線閱讀的功能,并為之做了一番了解,故寫下此文,在該文章的基礎上,做一些個人的補充完善,供後續再次使用時能有所翻看。在 iOS 平台上,實現移動端 Office 文檔的在線閱讀非常簡單,隻需要使用 WebView 加載網絡文件的 Url 地址即可顯示。而在 Android 平台上,由于“高牆聳立”,Google 在國内的訪問限制,導緻這一簡單的操作變得複雜起來,開發人員不得不尋求其他解決方案,這裡列舉一些。
WebView 網頁顯示借助 WebView 控件加載遠程文檔的 Url 地址即可,這裡有 Google Doc 和 Office Web 365 兩種解析方案。
優點:可讀可寫。缺點:需要先行下載,同時設備中存在能夠打開文檔的本地應用,并且閱讀時會離開當前應用。
第三方 SDK網上有一些免費開源的解析源碼和第三方公司提供的付費 SDK,将其嵌入自己的項目中,便能使用其中的功能操作 Office 文檔。這種方式的缺點也顯而易見,最直接的就是大大增加了 APK 安裝文件的大小。免費的開源項目,存在一些局限性和不穩定性,操作繁瑣;付費 SDK ,使用起來相對較為簡單。
免費開源
pdfiumGoogle 的開源項目,也是 Chrome 浏覽器的PDF渲染引擎,初始代碼來自國内知名PDF技術公司「福昕」。
AndroidPdfViewer
PdfiumAndroid基于 pdfium 的兩個 Android 平台實現方式,支持 PDF 文檔的應用内預覽,支持動畫、縮放、手勢和雙擊操作。
MuPDF一個輕量級的 開源 PDF 和 XPS 查看器。
付費 SDK
Foxit PDF SDK福昕出品,性能穩定,功能強大,支持 PDF 的顯示、導航、創建、搜索、注釋、保護、PDF文本提取、圖片轉換、表單數據收集和編輯等功能。
plugPDF來自國外的一個付費 SDK,使用簡單,隻需三步即可集成到自己的應用中并使用。
需要在服務器端完成 Office 文檔的解析工作,通過一些技術手段将文檔轉換為 Html 文件或者 圖片,然後再在客戶端通過 WebView 加載顯示。
PDF.js「 mozilla 」開源的一種JS解決方案,提供了服務器和客戶端兩種集成方式。
pdf2htmlEX類似 PDF.js
,在服務器端集成,利用 Web技術完成 Office 文檔的解析工作。
總體來說,在 Android 平台上實現 Office 文檔的預覽和編輯功能,屬于一個較為棘手的問題,需要結合實際産品需求和開發成本、穩定性等多方面考慮。當然,如果不是硬需求,最好不要随意集成開源 SDK,畢竟研發成本過高,同時穩定性不見得如你所想。最後,再次感謝 asce1885 的總結,參考地址:Android 實現 PDF 文件閱讀功能調研。
備注:頭條不支持文中外鍊,可以直接訪問作者原文博客,地址如下:
http://yifeng.studio/2016/11/06/android-office-document-viewer/
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!