導航:首頁 > 操作系統 > androidword開發

androidword開發

發布時間:2023-09-01 16:37:07

㈠ 如何用android解析docx文檔

android上查閱word類型文檔的方式主要有幾種,下載諸如wps,office等應用,用戶可以直接打開需要查看的word文檔,對於應用開發者來說,如何在自己的應用中集成word文檔查閱功能,使自己的app不受限於第三方應用有沒有安裝,有時候還是需要考慮的。
集成app閱讀word功能也可以通過幾種方式實現,例如購買專門的sdk包,像Aspose等(money啊)或者伺服器端處理成圖片或者html,然後android端去請求訪問等方式。對於大部分個人開發者而言,這兩種方式就顯得比較重量級了。
下面介紹兩種專門解析docx文件的方式:docx4j 以及poi
Docx4j
github地址:https://github.com/plutext/AndroidDocxToHtml
這個是官網demo,基本可以直接使用,解析出來的格式比較全,樣式也比較接近原文檔,就是解析速度令人不敢恭維,手機上測試的話,一般一份兒docx文檔都需要30s以上甚至更多,有時候測試文檔明明就只有幾十k大小而已,對於比較大,比較復雜的文檔,時間就更是讓人崩潰。解析速度不是令人滿意。
解析測試中遇到的bug
1.表格丟失,內容丟失:內嵌表格(表格中還有表格的這種)的內容和樣式會有部分丟失現象
2.表格(又是我?)樣式:假如文檔中的表格在word文檔中排版時超出了該文檔的邊界線,你會發現超出邊界的內容又不見了
3.目錄亂碼:如果文檔中有目錄,目錄會被加上一些超鏈接,需要手工處理去掉
4.圖片無法解析:有一些格式的圖片無法解析,比如EMF,WMF這種類型的
5.批註無法顯示:目前沒有找到批註顯示的地方,暫且算丟失吧,後面在試試
6.。。。其它暫時還沒被發現的問題
POI
poi是apache的一個開源項目,不多說,直接上官網去下載就可以
官網地址:http://poi.apache.org/
如果你是android studio用戶:那就很簡單了
只需要引入依賴(版本號不一定哦,gradle會自己把相關依賴包下載到位):
compile 'fr.opensagres.xdocreport:org.apache.poi.xwpf.converter.xhtml:1.0.5'

那如果你是eclipse用戶(伙計,趕緊用studio吧)
需要手工引入以下jar包,包括:
poi , poi-ooxml , ooxml-schema,org.apache.poi.xwpf.converter.xhtml,org.apache.poi.xwpf.converter.core

實現代碼如下
{
InputStream is = new FileInputStream(file);
XWPFDocument docx = new
XWPFDocument(is);
OutputStream os = new ByteArrayOutputStream();
String imgDesPath = "/sdcard/img";
File imgFile = new File("/sdcard/img");
this.baseUrl = this.getDir("image", Context.MODE_PRIVATE).toURL().toString();
if (!imgFile.exists()) {
file.mkdirs();
}

poi解析的問題
速度比docx4j要稍快一點,會有文檔內容解析不全樣式丟失的情況
流程
調用介面將docx轉化為html,然後app中通過webview載入該html即可顯示
轉化代碼如下(我就想問下,這代碼格式到底該怎麼調啊~好煩躁):
try {
InputStream is = new FileInputStream(file);
XWPFDocument docx = new
XWPFDocument(is);
OutputStream os = new ByteArrayOutputStream();
String imgDesPath = "/sdcard/img";
File imgFile = new File("/sdcard/img");
this.baseUrl = this.getDir("image", Context.MODE_PRIVATE).toURL().toString();
if (!imgFile.exists()) {
file.mkdirs();
}
XHTMLOptions options = XHTMLOptions.create().URIResolver(new BasicURIResolver(imgDesPath));
options.setExtractor(new FileImageExtractor(imgFile));
options.setIgnoreStylesIfUnused(false);
options.setFragment(true);
XHTMLConverter.getInstance().convert(docx, os, options);
**os.write("/sdcard/xxx/html文件")**
} catch (Exception e) {
Log.d(TAG, "catch " + e.getMessage());
}

webview 裡面直接load 上面生成的html文件就可以了

㈡ android系統可以裝word辦公 軟體嗎

可以,android的辦公軟體也蠻多的,給你推薦一款個人覺得不錯的

office辦公利器破解版:
http://www.apkok.com/soft/4_5040.html

通過它你能夠查看、創建和編輯Word、Excel和PowerPoint等文檔,支持的基本格式包括:doc,
docx,
xls,
xlsx,
ppt,
pptx,這基本上能夠滿足你對基本的辦公文檔的應用需求了。

㈢ Android開發如何讀取並顯示word和pdf文檔

通過對資料庫的索引,我們還為您准備了:
Android開發如何讀取並顯示word和pdf文檔呢

問:有做過類似項目的朋友講一下么?
答:大家好! 我是個Android新手,最近有個項目,其中有個需求就是在Android應用程序中查看word和pdf格式的文檔(PS:不是用intent調用第三方軟體打開文檔哦~),可惜Android沒有直接顯示word和pdf文檔的view。於是本菜鳥上網查了好久好久好久哇= =...
===========================================

android開發中怎樣讀取一個文件里的內容並把內容顯...

問:我以為和java的讀寫文件一樣的,但他好像有自己的獲取輸入輸出留的方法...
答:基本上都差不多。 一般來說。文件,XML都放在assets這個文件夾下。
===========================================

android怎麼讀取帶有圖片的WORD文檔

問:我以為和java的讀寫文件一樣的,但他好像有自己的獲取輸入輸出留的方法...
答:用Document to go或者quick office這類軟體就可以了。這些軟體在機鋒市場和豌豆莢里一搜就有
===========================================

【Android開發】請問Android怎麼打開word文件?

問:請問Android怎麼打開word文件?網上看了好多,但都不能運行,有的說用PO...
答:用quick ooffice,在網路移動應用上下載quick office(pro版),拷貝到手機,安裝好就行
===========================================

android編程:怎樣讀取txt文件

問:請問Android怎麼打開word文件?網上看了好多,但都不能運行,有的說用PO...
答:StringBuffer buffer = new StringBuffer(); try { FileInputStream fis = new FileInputStream("/sdcard/XXX.txt"); InputStreamReader isr = new InputStreamReader(fis,"GB2312");//文件編碼Unicode,UTF-8,ASCII,GB2312,Big5 Reader in = new...
===========================================

Android開發中讀寫office文件(word,ppt,excel)...

問:最近在寫一個基於android平台的辦公套件,其中設計到對word,ppt,excel...
答:簡單的,可以使用POI處理 想處理復雜和能用的,只有在伺服器端處理,再返回手機android查看
===========================================

Android開發 ,如何讀取AndroidMainfest.xml裡面的...

問:AndroidMainfest.xml文件如下:我想在Androd程序中讀取android:largeHea...
答:largeheap是一個布爾類型的
===========================================

android程序中如何打開並編輯word,excel等文件?

問:我現在已經使用POI包,將內容放在html里,在webview上顯示出來,但是不...
答:word?excel?笑話,微軟都沒有開發基於安卓版本的word,不過最近應該有動作了把。但是,你的軟體和人家的軟體,是屬於兩個APP,最多是給你個介面讓你啟動,但是至於編輯,你得看看人家的應用有沒給你介面
===========================================

android開發中,如何實現讀取pdf格式的文件,並把...

問:最近做關於android開發,讀取pdf格式文件的應用,但是不知道如何下手啊...
答:得嵌入PDF第三方軟體或自己編寫一個類似的打開軟體吧,否則理論上是看不了的。(僅供參考)

㈣ android怎麼打開word文件

Android ----Intent 的各種打開文件 doc word
import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.net.Uri.Builder;

import java.io.File;

import android.content.Intent;

//自定義android Intent類,

//可用於獲取打開以下文件的intent

//PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO

public class MyIntent

{

//android獲取一個用於打開HTML文件的intent

public static Intent getHtmlFileIntent( String param )

{

Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build();

Intent intent = new Intent("android.intent.action.VIEW");

intent.setDataAndType(uri, "text/html");

return intent;

}

//android獲取一個用於打開圖片文件的intent

public static Intent getImageFileIntent( String param )

{

Intent intent = new Intent("android.intent.action.VIEW");

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

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Uri uri = Uri.fromFile(new File(param ));

intent.setDataAndType(uri, "image/*");

return intent;

}

//android獲取一個用於打開PDF文件的intent

public static Intent getPdfFileIntent( String param )

{

Intent intent = new Intent("android.intent.action.VIEW");

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

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Uri uri = Uri.fromFile(new File(param ));

intent.setDataAndType(uri, "application/pdf");

return intent;

}

//android獲取一個用於打開文本文件的intent

public static Intent getTextFileIntent( String paramString, boolean paramBoolean)

{

Intent intent = new Intent("android.intent.action.VIEW");

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

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

if (paramBoolean)

{

Uri uri1 = Uri.parse(param );

intent.setDataAndType(uri1, "text/plain");

}

while (true)

{

return intent;

Uri uri2 = Uri.fromFile(new File(param ));

intent.setDataAndType(uri2, "text/plain");

}

}

//android獲取一個用於打開音頻文件的intent

public static Intent getAudioFileIntent( String param )

{

Intent intent = new Intent("android.intent.action.VIEW");

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

intent.putExtra("oneshot", 0);

intent.putExtra("configchange", 0);

Uri uri = Uri.fromFile(new File(param ));

intent.setDataAndType(uri, "audio/*");

return intent;

}

//android獲取一個用於打開視頻文件的intent

public static Intent getVideoFileIntent( String param )

{

Intent intent = new Intent("android.intent.action.VIEW");

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

intent.putExtra("oneshot", 0);

intent.putExtra("configchange", 0);

Uri uri = Uri.fromFile(new File(param ));

intent.setDataAndType(uri, "video/*");

return intent;

}

//android獲取一個用於打開CHM文件的intent

public static Intent getChmFileIntent( String param )

{

Intent intent = new Intent("android.intent.action.VIEW");

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

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Uri uri = Uri.fromFile(new File(param ));

intent.setDataAndType(uri, "application/x-chm");

return intent;

}

//android獲取一個用於打開Word文件的intent

public static Intent getWordFileIntent( String param )

{

Intent intent = new Intent("android.intent.action.VIEW");

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

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Uri uri = Uri.fromFile(new File(param ));

intent.setDataAndType(uri, "application/msword");

return intent;

}

//android獲取一個用於打開Excel文件的intent

public static Intent getExcelFileIntent( String param )

{

Intent intent = new Intent("android.intent.action.VIEW");

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

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Uri uri = Uri.fromFile(new File(param ));

intent.setDataAndType(uri, "application/vnd.ms-excel");

return intent;

}

//android獲取一個用於打開PPT文件的intent

public static Intent getPptFileIntent( String param )

{

Intent intent = new Intent("android.intent.action.VIEW");

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

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Uri uri = Uri.fromFile(new File(param ));

intent.setDataAndType(uri, "application/vnd.ms-powerpoint");

return intent;

}

閱讀全文

與androidword開發相關的資料

熱點內容
雲看地是什麼APP 瀏覽:883
數學指南pdf 瀏覽:856
phpcurldll64位 瀏覽:976
程序員脫產一年半 瀏覽:849
hr招程序員有什麼條件 瀏覽:587
android開源集合 瀏覽:867
華為雲伺服器登錄密碼和賬號 瀏覽:154
中世紀java程序員 瀏覽:786
什麼開發引擎使用python 瀏覽:176
sh腳本運行命令 瀏覽:316
廣聯達加密鎖怎麼看到期 瀏覽:173
cad軌跡命令 瀏覽:980
同事刷到女程序員自媒體視頻 瀏覽:572
校驗演算法的缺點是什麼 瀏覽:718
PHP商品分類功能實現 瀏覽:330
php取字元串中間 瀏覽:432
程序員經常用工具 瀏覽:837
降服主力指標源碼主圖 瀏覽:502
python實用庫 瀏覽:694
電腦默認7個文件夾 瀏覽:13