Visualización de un archivo de MS Word en vista (por ejemplo, TextView) en Android

Quiero mostrar un.docx archivo en unView en android. El archivo tiene símbolos matemáticos y también imágenes entre el texto. Quiero mostrar muchos de estos archivos y hojearlos a través deswipe gesto. He hecho con éxito lo mismo para.TXT archivos. Y ahora puede ir muy fácilmente a la siguiente página con solo deslizar. El código para.TXT archivo es el siguiente:

public String readTxt(String fileName)
    {


        try {
            InputStream is;
            is = context.getAssets().open(fileName + ".txt");
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

            int i;
            i = is.read();
            while (i != -1)
            {
                byteArrayOutputStream.write(i);
                i = is.read();
            }

            is.close();

            return byteArrayOutputStream.toString();

        } 

        catch (IOException e) 
        {
            e.printStackTrace();
        }

        return fileName;
    }

Este código devuelve el texto que luego muestro en miTextView. De esta manera, solo necesito cambiar el nombre del archivo dinámicamente y al deslizar los cambios de Texto.

Ahora quiero modificar este código para poder mostrar archivos de MS Word (.docx) que contienen texto, imágenes y símbolos matemáticos.

Ya he revisado muchos hilos similares sobre este tema en el desbordamiento de pila así como en otros foros: Estos son los enlaces que muchas personas han sugerido como respuestas a preguntas similares y ya les he dado una oportunidad:Link1 ylink2

También en muchos otros hilos la gente ha recomendadoJopendocumento. También he leído sobre eso y he aprendido que Android no admite el formato de documento abierto. por lo que esa opción parece poco probable. Pero si tiene alguna solución alternativa o una buena explicación detallada con respecto a la adición de la biblioteca JOpenDocument al proyecto y la visualización de texto enriquecido, comparta esa solución porque la he buscado mucho pero no he podido encontrar ninguna.

También hay otra biblioteca llamadaOliveDocLibrary para mostrar archivos de palabras ricas en Android. aquí está elenlazar desde donde descargué la lib. La demostración incluida en ese paquete de descarga funciona bien. Pero la biblioteca es una versión de prueba. Así que actualmente estoy tratando de trabajar con esta biblioteca y ver a dónde va. Pero todavía estoy en busca de mejores opciones.

Cualquier ayuda al respecto es apreciada. Todos los punteros que no sean los mencionados anteriormente son bienvenidos.

Actualizar:

Me dieron una sugerencia que decía el uso deApache POI(HWPF más específicamente) en la primera recompensa comencé con esta pregunta. Después de explorar Apache POI por algún tiempo, obtuve algunos códigos que estaban escribiendo en un archivo doc, leyendo el archivo doc, actualizando las hojas de Excel, etc.

El código de ejemplo (para Java) que encontré fuera de Internet es algo así:

import java.io.*;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;

public class ReadDocFile {
public static void main(String[] args) {
File file = null;
WordExtractor extractor = null ;
try {

file = new File("c:\\New.doc");
FileInputStream fis=new FileInputStream(file.getAbsolutePath());
HWPFDocument document=new HWPFDocument(fis);
extractor = new WordExtractor(document);
String [] fileData = extractor.getParagraphText();
for(int i=0;i<fileData.length;i++){
if(fileData[i] != null)
System.out.println(fileData[i]);
}
}
catch(Exception exep){}
}
}

Así que agregué esta biblioteca (Apache POI) a mi proyecto de Android en eclipse y probé este código de ejemplo con algunos cambios. Y trató de mostrarlo en unaTextView. El problema aquí es que no muestra las imágenes comoOliveDocLibrary hace. Entonces, si Alguien va a sugerir el API de Apache, entonces solicito un puntero sólido o un código que lea undocx archivo ytodos su contenido (que incluye imágenes) y los muestra en una vista personalizada.

Apache POI es una gran cosa, pero lamentablemente no encontré ningún buen ejemplo / ejemplo que implementara esas bibliotecas. Si conoces una buena fuente de ejemplos (solo con MS word) entonces, compártelos en los comentarios.

Actualización 2:

EnOliveDocLibrary paquete el código proporcionado funciona bien. Hay una marca de agua de oliva en la vista sin embargo. Actualmente estoy trabajando en la realizaciónSwipe en ese código. Pero el problema sigue siendo que es una versión de prueba.

Actualización 3:

Yo creo queOliveDocLibrary Es la forma más eficiente de hacerlo. Aunque tiene la desventaja de ser una versión de prueba, creo que ninguna otra biblioteca hace un mejor trabajo que esta biblioteca para completar mi requisito específico. La respuesta detallada ha sido publicada.abajo. Como el tiempo de recompensa está a punto de terminar. Pediría a las personas que puedan tener una solución alternativa y mejor que lo publiquen lo antes posible. Por ahora voy conOliveDocLibrary y aceptando mi propia respuesta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta