L'affichage d'un Fichier MS Word, dans la Vue(dire TextView) dans Android
Je veux afficher un .docx fichier dans un View
dans Android. Le fichier des symboles mathématiques et aussi des images dans le texte. Je veux afficher un grand nombre de tels fichiers et parcourir via swipe
geste. J'ai réussi à faire la même chose pour .txt fichiers. Et maintenant elle peut très facilement aller à la page suivante sur la geste de la main. Le code pour .txt fichier est comme suit:
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;
}
Ce code renvoie le texte que j'ai ensuite afficher dans mon TextView
. De cette façon, j'ai seulement besoin de changer le nom du fichier dynamiquement et de glisser sur la modification du Texte.
Maintenant, je veux modifier ce code afin que je puisse afficher les fichiers MS Word(.docx) qui contiennent du texte,des images et des symboles mathématiques.
J'ai déjà vérifié beaucoup de semblables discussions sur ce sujet sur un débordement de pile ainsi que sur d'autres forums:
Ce sont les liens que beaucoup de gens ont suggéré que des réponses à des questions similaires et j'ai déjà donné ces un essai: Link1 et link2
Aussi sur beaucoup d'autres threads de gens ont recommandé Jopendocument. J'ai aussi lu à ce sujet et il a appris que Android ne prend pas en charge le format open document. si cette option semble peu probable. Mais si vous avez une solution ou une explication détaillée à l'égard de l'ajout de la JOpenDocument bibliothèque pour le projet et l'affichage de texte riche alors s'il vous plaît partager cette solution parce que j'ai cherché pour beaucoup, mais ne pouvais pas trouver toutes.
Il y a aussi une autre bibliothèque appelée OliveDocLibrary pour afficher riche en fichiers word sur android. voici la lien d'où j'ai téléchargé la lib. La démo inclus dans le package de téléchargement fonctionne très bien.Mais la lib est une version d'essai. Donc suis en train d'essayer de travailler avec cette bibliothèque et de voir où il va. Mais je suis toujours à la recherche de meilleures options.
Toute aide concernant ce qui est apprécié. Tous les pointeurs autres que ceux mentionnés ci-dessus sont la plupart de bienvenue.
Mise à jour:
J'ai une suggestion qui a dit que l'utilisation de Apache POI(HWPF plus précisément) dans le premier prime, j'ai commencé sur cette question. Après l'exploration de Apache POI depuis quelques temps, j'ai eu quelques codes qui ont été écrit dans un fichier doc, la lecture de la doc de fichiers, la mise à jour les feuilles de calcul excel etc.
Un tel Exemple de code(Java) que j'ai trouvé sur internet, va quelque chose comme ceci:
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){}
}
}
J'ai donc ajouté cette bibliothèque(Apache POI) pour mon projet Android dans eclipse et essayé cet exemple de code, avec quelques modifications. Et a essayé de l'afficher sur un TextView
. Le problème ici est qu'il n'affiche pas les images comme OliveDocLibrary n'. Donc, si Quelqu'un va suggérer Apache POI, puis-je demander à un solide pointeur ou un code qui lit une docx fichier et tous son contenu(qui comprend les images et les affiche dans une vue personnalisée.
Apache POI est une bonne chose, mais malheureusement je n'ai pas trouvé de bons exemples ou des échantillons de la mise en œuvre de ces bibliothèques. Si vous connaissez une bonne source d'exemples(w.r.t de MS word uniquement) alors s'il vous plaît de les partager dans les commentaires.
Mise à jour 2:
Dans OliveDocLibrary paquet le code fonctionne très bien. Il est la marque d'eau de l'Olivier sur la Vue. Actuellement suis en train de travailler sur la réalisation de Swipe
sur ce code. Mais le problème demeure que sa version d'essai.
Mise à jour 3:
Je pense que OliveDocLibrary est le moyen le plus efficace de le faire. Si elle a un inconvénient de n'être qu'une version d'essai, je pense que aucune autre bibliothèque fait un meilleur travail que cette bibliothèque pour remplir pleinement mes besoins spécifiques. La réponse a été posté ci-dessous. Comme le bounty temps est sur le point d'obtenir plus de. Je demande les gens qui peut avoir un autre et de trouver la meilleure solution pour envoyer dès que possible. Pour l'instant, vais avec OliveDocLibrary et l'acceptation de ma propre réponse.
- Le fil ici: forum.openoffice.org/en/forum/viewtopic.php?f=12&t=38718 je crois qu'il serait plus facile de transformer les documents Word au format pdf et de les afficher que sur Android.
- Suivez ce lien je pense que c'est ce que vous avez besoin de Comment afficher le PDF dans le Android son pour le pdf, je pense que vous pouvez faire de même pour les documents office, vous pouvez envoyer par intention si l'application est déjà installée ou l'affichage dans webview avec google docs liens
Vous devez vous connecter pour publier un commentaire.
Bonjour les gars, Après beaucoup de considération et de regarder l'enfer beaucoup d'options et de solutions de contournement, je pense que OliveDocLibrary est la meilleure façon de le faire. Voici la lien qui donnera de vous diriger vers la page de téléchargements de trois bibliothèques pour Android qui sont pour la DOC, XLS et PPT. Tous ces travaux excellemment bien. Le dossier du package vous permettra de télécharger auront trois dossiers à l'intérieur. qui sont:
Dans le démo dossier, vous trouverez un exemple de projet pour Mot. Vous pouvez directement importer ce projet dans votre espace de travail d'Eclipse et de tester le code vous-même. Pour les peuples de commodité suis annonce que le code ici. J'ai supprimé une partie du code que j'ai ressenti était pas nécessaire(w.r.t la réponse à ma question ici). Si le code a deux fichiers, L'activité principale est
FileChooser
qui est comme suit:Ici, j'ai placé un fichier doc nommé simple.docx qui comprend des images et des symboles mathématiques qui sont rendus et les affiche correctement. Cette activité interagit avec
OliveWordTrialDemoActivity
qui est comme suit:Dans le lib_trial dossier, vous trouverez la bibliothèque qui peut être ajouté à votre dossier libs si vous voulez les utiliser séparément.
Et dans le API dossier, vous trouverez une description détaillée de la bibliothèque et de ses méthodes sous la forme d'un fichier pdf qui est très facile à comprendre. donc, les gens peuvent simplement utiliser cette bibliothèque directement et d'utiliser les méthodes fournies pour leurs besoins spécifiques.
De sorte que c'est la solution vais avec pour l'instant. Toutes les meilleures solutions sont les bienvenues. Le bounty temps est sur le point d'obtenir plus tôt, de sorte veuillez fournir toute autre solution que vous pouvez avoir dès que possible. Merci.
Comme vous le mentionnez dans votre question que vous avez déjà essayé quelques-uns de bibliothèque comme
Jopendocument,
OliveDocLibrary
etApache POI
mais pas de chance.Tandis que la recherche je suis tombé sur une bibliothèque nommée Tika, qui est également utilisé pour extraire des données et de ses soutien documents énumérés et même Balance De Bureau où vous pouvez lire écrire et gérer des documents.
Dernière suggestion:
Vous pouvez obtenir par conversion,
doc to html
ethtml to pdf
comme mentionner ici.Pour convertir
doc to html
reportez-vous pile de dépassement de capacité de réponse