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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hallo Jungs, Nach langer überlegung und Suche in der Hölle sehr viele Optionen und workarounds, die ich denke, OliveDocLibrary ist der beste Weg, es zu tun. Hier ist die link die geben Sie direkt auf der Download-Seite der drei Bibliotheken für Android, die für DOC, XLS und PPT. Alle diese arbeiten hervorragend. Der Paket-Ordner, den Sie heruntergeladen haben, in drei Ordnern im inneren. die sind:
In der demo Ordner finden Sie ein Beispiel-Projekt für Word. Sie können direkt importieren Sie dieses Projekt in Ihrem workspace in Eclipse und testen Sie den code selbst. Für die Völker, Bequemlichkeit Beitrag bin, dass der code hier. Ich habe gelöscht ein Teil des Codes was ich fühlte, war nicht erforderlich(w.r.t die Antwort auf meine Frage hier). Also der code enthält zwei Dateien, Die Haupttätigkeit ist
FileChooser
ist wie folgt:Hier habe ich platziert, eine doc-Datei mit dem Namen simple.docx beispielsweise auch Bilder und mathematische Symbole dargestellt sind und richtig angezeigt. Diese Aktivität interagiert mit
OliveWordTrialDemoActivity
ist wie folgt:In der lib_trial Ordner finden Sie die Bibliothek, die Hinzugefügt werden können, um Ihre libs-Ordner, wenn Sie wollen, um ihn einzeln zu verwenden.
Und in der API Ordner finden Sie eine detaillierte Beschreibung der Bibliothek und Ihrer Methoden in form einer pdf-Datei, die ist sehr einfach zu verstehen. so dass die Leute können einfach verwenden Sie diese Bibliothek, die direkt und verwenden Sie die bereitgestellten Methoden auf Ihre spezifische Anforderung.
So, dass ist die Lösung werde mit jetzt. Besser Lösungen sind willkommen. Die bounty-die Zeit ist zu schnell vorbei, so bald bitte geben Sie alle anderen Lösung, die Sie haben können, so bald wie möglich. Danke.
InformationsquelleAutor der Antwort D'yer Mak'er
Wie Sie erwähnen in Ihrer Frage, dass Sie auch schon versucht paar der Bibliothek, wie
Jopendocument,
OliveDocLibrary
undApache POI
aber kein Glück.Während der Recherchen stieß ich auf eine weitere Bibliothek namens Tikadie auch verwendet, um Daten zu extrahieren und seine Unterstützung der aufgeführten Dokumente und sogar Libra Officewo Sie Lesen, schreiben und verwalten von Dokumenten.
Letzter Vorschlag:
Erreichen Sie durch Konvertierung
doc to html
undhtml to pdf
wie erwähnt hier.Konvertieren
doc to html
finden stack-overflow-AntwortInformationsquelleAutor der Antwort RobinHood