Anzeige einer MS Word Datei in View (zB TextView) in Android

Will ich die Anzeige einer .docx Datei in einem View in Android. Die Datei hat mathematische Symbole und auch Bilder zwischen den text. Ich möchte viele solcher Dateien und flip durch Sie über swipe Geste. Ich habe erfolgreich das gleiche getan für .txt - Dateien. Und kann jetzt sehr einfach gehen Sie auf die nächste Seite wischen. 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 welche ich dann die Anzeige in meinem TextView. Auf diese Weise brauche ich nur ändern Sie den Namen der Datei, die dynamisch und streichen Sie den Text ändert.

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

Ich bereits geprüft haben viele ähnliche threads zu diesem Thema auf stack overflow als auch auf anderen Foren:
Dies sind die links, die viele Menschen haben vorgeschlagen, die als Antworten auf ähnliche Fragen und habe ich schon diesen einen Versuch: Link1 und link2

Auch auf viele andere threads, die Leute empfohlen haben Jopendocument. Ich habe auch darüber gelesen und gelernt, dass Android nicht unterstützt open-document-format. also, die option scheint unwahrscheinlich. Aber wenn Sie irgendein workaround oder eine gute ausführliche Erklärung mit Bezug auf das hinzufügen der JOpenDocument Bibliothek, das Projekt und die Anzeige von rich-text-dann bitte teilen, dass die Lösung, denn ich habe für Sie gesucht eine Menge, konnte Sie aber nicht finden.

Gibt es auch eine andere Bibliothek namens OliveDocLibrary zum anzeigen von rich-word-Dateien auf android. hier ist die link von wo ich heruntergeladen habe die lib. Die demo in die download-Paket funktioniert Prima.Aber die lib ist eine trial-version. So bin derzeit in der Arbeit mit dieser Bibliothek und sehen, wohin es geht. Aber ich bin immer noch auf der Suche nach besseren Optionen.

Jede Hilfe zu diesem wird sehr geschätzt. Alle Hinweise andere als die oben erwähnten sind das meiste willkommen.

Update:

Bekam ich eine Anregung, die sagten, dass die Verwendung von Apache POI(HWPF genauer gesagt) in der ersten bounty begann ich auf diese Frage. Nach der Erkundung Apache POI für einige Zeit, ich habe einige codes, die schreiben in eine doc-Datei, Lesen Sie die doc-Datei, die Aktualisierung der excel-sheets etc.

Solche Beispiel-code(für Java), die ich gefunden habe aus dem internet geht so etwas wie dieses:

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) auf mein Android-Projekt in eclipse und habe versucht dieses Beispiel-code mit einigen änderungen. Und versucht, die Anzeige auf eine TextView. Das problem hier aber ist es nicht angezeigt, die Bilder wie OliveDocLibrary tut. Wenn also Jemand zu schlagen Apache POI, dann bitte ich, für eine solide Zeiger oder ein code, der das liest eine docx Datei und alle Ihren Inhalt(mit Bildern) und zeigt Sie in einer benutzerdefinierten Ansicht.

Apache POI ist eine tolle Sache, aber leider ich nicht finden, eine gute-Beispiele/Muster für die Implementierung dieser Bibliotheken. Wenn Sie wissen, eine gute Quelle von Beispielen(w.r.t MS word nur) dann bitte teilen Sie Sie in den Kommentaren.

Update 2:

In OliveDocLibrary Paket der code funktioniert einwandfrei. Es ist Wasser-mark Olive auf die Ansicht jedoch. Derzeit arbeite zur Durchführung Swipe auf diesen code. Aber das problem bleibt, dass es eine trial-version.

Update 3:

Ich denke OliveDocLibrary ist der effizienteste Weg, es zu tun. Aber es hat einen Nachteil, dass Sie eine trial-version, ich denke, dass keine andere Bibliothek macht einen besseren job als diese Bibliothek zu voll füllen meine spezifische Anforderung. Die ausführliche Antwort gepostet wurde,unten. Als die bounty-die Zeit ist zu schnell vorbei. Ich würde bitten, dass die Menschen, die möglicherweise eine Alternative und bessere Lösung, um es zu veröffentlichen, so bald wie möglich. Jetzt werde mit OliveDocLibrary und akzeptieren meine Antwort.

InformationsquelleAutor der Frage D'yer Mak'er | 2013-03-29

Schreibe einen Kommentar