2012-05-04 12 views
13

Soy nuevo en la representación de archivos en android, y quiero presentar o mostrar un archivo docx en mi aplicación.cómo mostrar o leer el archivo docx

Ya había extraído texto del archivo docx, pero ahora también quiero extraer imágenes del archivo docx.

He encontrado varias formas de mostrar imágenes en Java puro, pero ¿hay algún buen ejemplo para Android?

yo probamos este código en busca de imágenes, pero no funciona ...

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

¿Está buscando la comparación de archivos? Tengo el mismo problema! http://stackoverflow.com/questions/13411678/docx4j-giving-wrong-result –

Respuesta

8

Tenga una mirada en AndroidDocxToHtml, el cual hice para demostrar el uso de docx4j en Android.

Un par de advertencias.

En primer lugar, ese proyecto no incluye todas las dependencias de docx4j, solo las necesarias para la conversión de docx a HTML. Entonces, si quiere hacer otras cosas, puede necesitar otras de las dependencias.

En segundo lugar, docx4j requiere JAXB - consulte this blog post re JAXB on Android - y JAXB context init en el inicio de la aplicación lleva un tiempo según el dispositivo. Hay formas de evitar esto, pero con un esfuerzo extra.

Si todo lo que quiere hacer es extraer las imágenes, y no le importa cómo se relacionan con el texto, puede buscar las partes de la imagen. Puede usar OpenXML4J para eso y evitar JAXB.

5

La manera más fácil de crear una imagen en Android es el uso de los métodos de fábrica BitmapFactory.

La clase BitmapFactory tiene métodos para crear un Bitmap a partir de una matriz de bytes, un archivo o un InputStream.

Una vez que tenga un objeto Bitmap, puede mostrarlo configurándolo en un ImageView en su diseño utilizando el método setImageBitmap.

+0

la cosa es cómo puedo obtener las imágenes del archivo docx que sé que cómo mostrar y convertir quiero obtener o extraer imágenes del archivo docx ....... – SilentKiller

+0

Necesitará encontrar una biblioteca que pueda leer archivos .docx. Nunca tuve que hacer esto antes, pero cualquier biblioteca decente debería proporcionar un método para extraer datos de imágenes del archivo. Sugeriría intentar Google: http://goo.gl/Bcw8e – twaddington

6

Usted puede simplemente descomprimir el archivo (renombrar a .zip y abrirlo) entonces se puede investigar la estructura de carpetas, donde se encuentran las imágenes, etc

+0

lo había descomprimido y consigo todas las imágenes pero las quiero de la manera respectiva como ... 1. TEXTO 2. Imagen luego otra vez el texto de esa manera ..... – SilentKiller

+0

perdí el correo electrónico. chat se ha ido .. – Priyanka

Cuestiones relacionadas