一、Word、Excel、PPT 展示
1. 微軟Office公開Api介面
如果檔案內容不是很機密或者只是需要實作預覽檔案的話,可以考慮使用微軟的公共Api介面實作,
微軟Office公開Api地址為:https://view.officeapps.live.com/op/view.aspx?
在Android上實作的方式如下:
首先拼接預覽地址URL:
https://view.officeapps.live.com/op/view.aspx?src=http://xxx.pptx
然后使用WebView加載此URL,推薦配置如下:
WebSettings settings = mWebView.getSettings();settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);settings.setSaveFormData(true);settings.setSavePassword(true);settings.setUseWideViewPort(true);settings.setLoadWithOverviewMode(true);settings.setJavaScriptEnabled(true);settings.setJavaScriptCanOpenWindowsAutomatically(true);settings.setSupportZoom(true);/* * 支持HTTPS、HTTP混合模式 * http://blog.csdn.net/qq_16472137/article/details/54346078 */if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);}// 優先渲染界面settings.setRenderPriority(WebSettings.RenderPriority.HIGH);// Technical settingssettings.setSupportMultipleWindows(true);settings.setCacheMode(WebSettings.LOAD_DEFAULT);settings.setAppCacheEnabled(true);settings.setDatabaseEnabled(true);settings.setDomStorageEnabled(true);settings.setAppCacheMaxSize(8 * 1024 * 1024); // 快取最多可以有8M/* 支持cookies 5.0以上的手機不支持自動同步第三方cookies *(一般都是iframe里面的頁面要存盤cookies操作的設定) * http://blog.sina.com.cn/s/blog_6e73239a0102viku.html */if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView, true);}// WebView 默認都是支持cookiesCookieManager.getInstance().setAcceptCookie(true);
注意:此使用方式是將檔案的URL拼接到連接上即可實作在線預覽office檔案,而不需要去下載檔案,
但是有如下問題:
- 若是使用微軟的預覽介面,你的檔案url地址將會被暴露,缺失所謂檔案的安全性,
- 若檔案過大時候,加載的速度很慢,有時候還加載不出來,
2. 使用檔案瀏覽Paas服務
服務代表為:騰訊TBS瀏覽服務(免費)、百度檔案DOC服務(收費),
對應的地址:https://x5.tencent.com、https://cloud.baidu.com/doc/DOC/s/hjwvypsgp
騰訊TBS需要我們自行實作檔案下載,然后呼叫的方TbsReadView法進行加載,
存在的問題:
a). 加載功能不穩定,有的機型加載正常,有的機型加載存在問題,最常見的問題就是 not supported by:xxx ,此問題非常影響用戶體驗,
b). 如果沒有安裝騰訊系的產品,TBS服務是無法使用了,因為騰訊系的產品都是基于X5內核的,TBS服務也是基于X5內核,
百度DOC服務不需要自行實作下載,邏輯相對簡單,但是需要收費,
存在的問題:未知(// TODO 目前還未做嘗試接入的事情,后續接入體驗后再整理 )
二、PDF 展示
1. 使用騰訊TBS服務
此方案基本和office檔案加載的方案一樣,至于存在的問題也是一樣的,這里就多贅述了,
2. AndroidPdfViewer
開源專案地址:https://github.com/barteksc/AndroidPdfViewer
開發參考文章:https://www.cnblogs.com/qixingchao/p/11658226.html
3. PdfViewPager
開源專案地址:https://github.com/voghDev/PdfViewPager
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/45645.html
標籤:Android
