Exibindo um arquivo do MS Word na Visualização (digamos, TextView) no Android

Eu quero mostrar um.docx arquivo em umView no Android. O arquivo tem símbolos matemáticos e também imagens entre o texto. Quero exibir muitos desses arquivos e folheá-los viaswipe gesto. Eu fiz o mesmo com sucesso.TXT arquivos. E agora pode facilmente ir para a próxima página no furto. O código para.TXT arquivo é o seguinte:

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 retorna o texto que eu exibo no meuTextView. Dessa forma, só preciso alterar o nome do arquivo dinamicamente e deslizar as alterações de texto.

Agora eu quero modificar este código para que eu possa exibir arquivos do MS Word (.docx) que contêm texto, imagens e símbolos matemáticos.

Eu já verifiquei muitos tópicos semelhantes sobre este tópico no estouro de pilha, bem como em outros fóruns: Estes são os links que muitas pessoas sugeriram como respostas para perguntas semelhantes e eu já dei uma tentativa:Link1 elink2

Também em muitos outros tópicos as pessoas recomendaramJopendocument. Eu também li sobre isso e aprendi que o Android não suporta o formato de documento aberto. então essa opção parece improvável. Mas se você tiver alguma solução alternativa ou uma boa explicação detalhada com relação à adição da biblioteca JOpenDocument ao projeto e à exibição de rich text, compartilhe essa solução porque procurei bastante, mas não consegui encontrar nenhuma.

Há também outra biblioteca chamadaOliveDocLibrary para exibir arquivos de palavras ricas no android. aqui está oligação de onde eu baixei o lib. A demo incluída nesse pacote de download funciona bem. Mas a lib é uma versão de teste. Atualmente, estou tentando trabalhar com essa biblioteca e ver aonde ela vai. Mas ainda estou em busca de melhores opções.

Qualquer ajuda sobre isso é apreciada. Quaisquer outros indicadores além dos mencionados acima são bem-vindos.

Atualizar:

Eu tenho uma sugestão que dizia o uso deApache POI(HWPF mais especificamente) na primeira recompensa que comecei nesta questão. Depois de explorar o Apache POI por algum tempo, eu tenho alguns códigos que estavam escrevendo em um arquivo doc, lendo o arquivo doc, atualizando as planilhas do Excel, etc.

Esse código de exemplo (para Java) que encontrei na Internet é algo assim:

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){}
}
}

Então eu adicionei esta biblioteca (Apache POI) ao meu projeto Android no eclipse e tentei este código de exemplo com algumas mudanças. E tentei exibi-lo em umTextView. O problema aqui é que ele não exibe as imagens comoOliveDocLibrary faz. Então, se alguém vai sugerir o Apache POI, então eu peço um ponteiro sólido ou um código que lê umdocx arquivo etodos seu conteúdo (que inclui imagens) e os exibe em uma exibição personalizada.

Apache POI é uma grande coisa, mas infelizmente não encontrei nenhum bom exemplo / amostra implementando essas bibliotecas. Se você conhece uma boa fonte de exemplos (apenas palavra MS), por favor, compartilhe-os nos comentários.

Atualização 2:

EmOliveDocLibrary pacote o código fornecido funciona bem. Há marca de água de Olive no modo de exibição embora. Atualmente estou trabalhando no desempenhoSwipe nesse código. Mas o problema continua sendo que é uma versão de teste.

Atualização 3:

eu acho queOliveDocLibrary é a maneira mais eficiente de fazer isso. Embora tenha uma desvantagem de ser uma versão de teste, acho que nenhuma outra biblioteca faz um trabalho melhor do que essa biblioteca para preencher minha necessidade específica. A resposta detalhada foi postadaabaixo. Como o tempo de recompensa está prestes a superar. Gostaria de solicitar às pessoas que podem ter uma solução alternativa e melhor para publicá-lo o mais rápido possível. Por enquanto estou indo comOliveDocLibrary e aceitando minha própria resposta.

questionAnswers(2)

yourAnswerToTheQuestion