Anzeigen einer MS Word-Datei in der Ansicht (z. B. TextView) in Android

Ich möchte ein anzeigen.docx Datei in aView in Android. Die Datei enthält mathematische Symbole sowie Bilder zwischen den Texten. Ich möchte viele solcher Dateien anzeigen und durchblätternswipe Geste. Ich habe das gleiche erfolgreich für gemacht.TXT Dateien. Und kann jetzt ganz einfach auf die nächste Seite beim Streichen gehen. Der Code für.TXT Datei ist wie folgt:

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;
    }

Dieser Code gibt den Text zurück, den ich dann in meinem anzeigeTextView. Auf diese Weise muss ich nur den Namen der Datei dynamisch ändern und beim Wischen ändert sich der Text.

Jetzt möchte ich diesen Code so ändern, dass ich MS Word-Dateien (.docx) anzeigen kann, die Text, Bilder und mathematische Symbole enthalten.

Ich habe zu diesem Thema bereits viele ähnliche Threads zum Thema Stapelüberlauf sowie in anderen Foren überprüft: Dies sind die Links, die viele Leute als Antworten auf ähnliche Fragen vorgeschlagen haben, und ich habe diese bereits ausprobiert:Link1 undlink2

Auch auf vielen anderen Threads haben Leute empfohlenJopendocument. Ich habe auch darüber gelesen und erfahren, dass Android das offene Dokumentformat nicht unterstützt. Diese Option scheint also unwahrscheinlich. Wenn Sie jedoch eine Problemumgehung oder eine ausführliche Erklärung zum Hinzufügen der JOpenDocument-Bibliothek zum Projekt und zum Anzeigen von Rich-Text haben, teilen Sie diese Lösung bitte mit, da ich viel gesucht habe, aber keine gefunden habe.

Es gibt auch eine andere Bibliothek namensOliveDocLibrary um Rich-Word-Dateien auf Android anzuzeigen. Hier ist derVerknüpfung von wo ich die lib heruntergeladen habe. Die in diesem Download-Paket enthaltene Demo funktioniert einwandfrei. Die lib ist jedoch eine Testversion. Ich versuche gerade, mit dieser Bibliothek zu arbeiten und zu sehen, wohin sie führt. Bin aber immer noch auf der Suche nach besseren Möglichkeiten.

Jede Hilfe diesbezüglich wird gebeten. Alle anderen als die oben genannten Hinweise sind herzlich willkommen.

Aktualisieren:

Ich habe einen Vorschlag bekommen, der die Verwendung vonApache POI(HWPF genauer) In der ersten Ausgabe habe ich mit dieser Frage begonnen. Nachdem ich Apache POI für einige Zeit untersucht hatte, bekam ich einige Codes, die in eine Dokumentdatei geschrieben, die Dokumentdatei gelesen, die Excel-Tabellen aktualisiert usw. wurden.

Ein solcher Beispielcode (für Java), den ich im Internet gefunden habe, sieht ungefähr so ​​aus:

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

Also habe ich diese Bibliothek (Apache POI) meinem Android-Projekt in Eclipse hinzugefügt und diesen Beispielcode mit einigen Änderungen ausprobiert. Und versuchte es auf einemTextView. Das Problem hierbei ist jedoch, dass die Bilder nicht so angezeigt werdenOliveDocLibrary tut. Wenn also jemand einen Apache-POI vorschlägt, fordere ich einen soliden Zeiger oder einen Code an, der a liestdocx Datei undalles den Inhalt (einschließlich Bilder) und zeigt sie in einer benutzerdefinierten Ansicht an.

Apache POI Das ist eine großartige Sache, aber leider habe ich keine guten Beispiele / Beispiele gefunden, die diese Bibliotheken implementieren. Wenn Sie eine gute Quelle für Beispiele kennen (nur mit MS-Wort), teilen Sie diese bitte in Kommentaren mit.

Update 2:

ImOliveDocLibrary Paket der Code funktioniert gut. Es gibt jedoch ein Wasserzeichen von Olive auf der Ansicht. Zur Zeit arbeite ich an der AufführungSwipe auf diesem Code. Das Problem bleibt jedoch, dass es sich um eine Testversion handelt.

Update 3:

Meiner Ansicht nachOliveDocLibrary ist der effizienteste Weg, dies zu tun. Es hat zwar den Nachteil, dass es sich um eine Testversion handelt, aber ich denke, keine andere Bibliothek kann meine spezifischen Anforderungen besser erfüllen als diese Bibliothek. Die ausführliche Antwort wurde gepostetunten. Da die Kopfgeldzeit bald vorbei ist. Ich würde die Leute, die vielleicht eine alternative und bessere Lösung haben, bitten, sie so schnell wie möglich zu veröffentlichen. Denn jetzt gehe ich mitOliveDocLibrary und akzeptiere meine eigene Antwort.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage