2012-05-04 18 views
13

私はアンドロイドでファイルをレンダリングするのが初めてで、アプリケーションにdocxファイルをレンダリングまたは表示したいと考えています。docxファイルの表示方法または読み込み方法

私はすでにdocxファイルからテキストを抽出していましたが、今はdocxファイルからも画像を抽出したいと思います。

純粋なJavaで画像を表示する方法はいくつか見つかりましたが、Androidの良い例はありますか?

私は、Androidで画像を作成する最も簡単な方法は、BitmapFactoryファクトリメソッドを使用することです...

public void extractImages(Document xmlDoc) 
{ 
    NodeList binDataList = xmlDoc.getElementsByTagName("w:drawings"); 
    String fileName = ""; 
    Node currentNode; 
    for(int i = 0; i < binDataList.getLength(); i++) 
    { 
     currentNode = binDataList.item(i); 
     if(currentNode.getNodeType() == Node.ELEMENT_NODE && ((Element)currentNode).hasAttribute("w:name")) 
     {    
      File newImageFile = new File(picDirectory, ((Element)currentNode).getAttribute("w:name").replaceFirst("wordml://", "")); 
      if(newImageFile.exists()) 
      { 

      } 
      else 
      { 
       if(writeImage(newImageFile, currentNode)) 
       { 
        //Print some success message 
       } 
      } 
     } 
    } 
+0

ファイルの比較をお探しですか?私は同じ問題があります! http://stackoverflow.com/questions/13411678/docx4j-giving-wrong-result –

答えて

8

は、私が使用して証明するために作られたAndroidDocxToHtmlを見て、持っていますAndroidのdocx4j

警告のカップル。

まず、そのプロジェクトは、すべてのdocx4jの依存関係、HTMLへの変換DOCXのために必要なだけのものが含まれていません。だから、あなたが他のことをしたいのであれば、あなたは他のものを必要とするかもしれません。

第2に、docx4jにはJAXBが必要です(this blog post re JAXB on Androidを参照)。また、アプリケーションの起動時にJAXBコンテキストinitにはデバイスによっては時間がかかります。これを回避する方法はありますが、余計な努力を要します。

あなたがしたいすべての画像を抽出し、あなたは彼らがテキストにどのように関係するかを気にしない、あなただけの画像部分のために見ることができる場合。それにはOpenXML4Jを使用し、JAXBは避けてください。

5

を画像を取得するためにこのコードを試みたが、動作していません。

BitmapFactoryクラスは、バイト配列、ファイルまたは入力ストリームからBitmapを作成するための方法を有しています。

Bitmapオブジェクトを取得したら、setImageBitmapメソッドを使用してレイアウト内のImageViewに設定して表示することができます。

+0

問題はどのようにdocxファイルから画像を取得できますか?表示方法と変換方法がわかりますdocxファイルの画像....... – SilentKiller

+0

.docxファイルを読むことができるライブラリが必要です。私は以前これを行う必要はありませんでしたが、まともなライブラリは、ファイルから画像データを抽出する方法を提供する必要があります。私はGoogleのを試みることをお勧めしたい:http://goo.gl/Bcw8e – twaddington

6

あなただけのファイルを解凍することができ、あなたが画像などが配置されているフォルダ構造を、調べることができます(.zipファイルと、それを開くために名前を変更)

+0

は、私はそのようにテキスト再びそれを解凍&すべての画像を取得するが、私は.. 1. TEXT 2.画像のように、それぞれの方法でそれらをしたいていました..... – SilentKiller

+0

私はメールを失った。 チャットは行っています.. – Priyanka

関連する問題