android 你所不知道的word,pdf預覽方案

????????前段時間開發(fā)需求要實現在android端預覽下載下來的word和pdf文件,在此總結一下幾種實現方案供大家參考(第三方平臺在此就不介紹了~).

demo下載地址:????download.csdn.net/download/qq_32840093/10121883

?一 PDF格式文件 展示:

? ? ? ? ? (1)https://github.com/JoanZapata/android-pdfview????此三方控件只支持項目assets目錄下的pdf文件展示

? ? ? ? ? (2)https://github.com/barteksc/AndroidPdfViewer????此三方控件支持手機本地文件,項目assets目錄下的pdf文件展示;

? ? ? ? ??(3)?使用js的pdf庫在線預覽,實現思路先將js的pdf預覽庫導入到assets,在通過js的pdf庫實現預覽,產考demo實例代碼(可能會會應為跨域的問題失效)

二 office文件(doc,docx,xls,xlsx,ppt,pptx) 展示:

????????1 最簡單的方法是通過隱式intent調用手機中的文檔處理相關的app,打開并處理此類文檔;

/**

* 調用手機中安裝的可打開word的軟件

*/

private voiddoOpenWord(){

Intent intent =newIntent();

intent.setAction("android.intent.action.VIEW");

intent.addCategory("android.intent.category.DEFAULT");

String fileMimeType ="application/msword";

intent.setDataAndType(Uri.fromFile("預覽文件"),fileMimeType);

try{

MainActivity.this.startActivity(intent);

}catch(ActivityNotFoundException e) {

//檢測到系統(tǒng)尚未安裝OliveOffice的apk程序

Toast.makeText(MainActivity.this,"未找到軟件",Toast.LENGTH_LONG).show();

//請先到www.olivephone.com/e.apk下載并安裝

}

}

????????2 如果項目需求必須要在應用內部打開office文檔則相對復雜一些,處理方式如下:

網上有很多關于此類問題的解決辦法,但是大部分都是使用java中的apache poi來處理office文檔,缺點就是如果不太熟悉poi的使用則會消耗大量學習成本,并且在android環(huán)境下使用poi可能會遇到丟失某些類的問題(因為android只支持部分java api),將poi中相應的jar包加入項目還可能會遇到打包65535的問題;

一個快速的解決方法:

如果項目需求只要求預覽內容而不要求對文檔進行編輯的操作,則可以選擇在線預覽的方式進行處理;

現附上兩個在線預覽office文檔的地址:(瀏覽器都需要chrome的內核),這個方法還是很雞肋的,不翻墻是達不到預覽效果.

1 google:https://docs.google.com/viewer?url=(輸入你的文檔在服務器中的地址);

2 微軟:https://view.officeapps.live.com/op/view.aspx?src=(輸入你的文檔在服務器中的地址);

關于是否使用原生的webview或是使用優(yōu)化后的webview,則根據項目中的minSdkVersion來自行選擇;(android4.4之前webview使用的是webket內核,4.4以上使用的是chrome內核)。

推薦使用一個優(yōu)化后的webview:https://github.com/delight-im/Android-AdvancedWebView(支持android2.2及以上)。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,326評論 25 708
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,898評論 2 45
  • 有多久沒見面 數著數著 從春天走到了冬天 由期待變?yōu)榱似椒?你會來找我嗎 在虛擬的世界 即使換了一切 也能認得我 ...
    柚寶媽咪閱讀 380評論 6 10
  • 寫在過年的前幾天。 周末,上班中,相信北漂的很多小伙伴都是這樣吧, 當然,有些人是例外的,現在,已經早早地回到了家...
    弟白閱讀 597評論 0 0
  • 文|北辰星海 村里要改建成游樂園了,兔奶奶和許多鄉(xiāng)親們被迫搬出了住了幾十年的家。兔奶奶是這個村中最年長的動物了,這...
    北辰星海閱讀 464評論 3 3

友情鏈接更多精彩內容