IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Documents Java Discussion :

[POI] Problème de lecture des fichiers Word


Sujet :

Documents Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [POI] Problème de lecture des fichiers Word
    Slt,

    Leminipouce, Hoegaarden, je vous remercie bcp d'avoir essayer de m'aider ;

    Les libs que j'ai utilisé étaient celles de la version 2.5.1.

    Maintenant que j'ai pris la version alpha, eh bein ça marche tjrs pas

    Voici mon code::

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    import java.io.*; 
    import org.apache.poi.poifs.eventfilesystem.*; 
    import org.apache.poi.hdf.extractor.*; 
     
     
    public class PoiTest { 
     
       public static void main(String[] args) 
       throws IOException   { 
     
          final String filename = args[0]; 
          POIFSReader r = new POIFSReader(); 
          r.read(new FileInputStream(filename)); 
          // create temp file of content 
          String tempF="test.txtl"; 
          // 
          testDoc td=new testDoc(filename, tempF); 
          td.getText(); 
       } 
     
    } // end of class PoiTes 
     
    class testDoc { 
       String origFileName; 
       String tempFile; 
       WordDocument wd; 
     
       testDoc(String origFileName, String tempFile) { 
       this.tempFile=tempFile; 
       this.origFileName=origFileName; 
       } 
     
       public void getText() { 
       try { 
          wd = new WordDocument(origFileName); 
          Writer out = new BufferedWriter(new FileWriter(tempFile)); 
          wd.writeAllText(out); 
          out.flush(); 
          out.close(); 
       } 
       catch (Exception eN) { 
       System.out.println("Error reading document:"+origFileName+"\n"+eN.toString()); 
       eN.printStackTrace();
       } 
       } // end for getText 
     
    } // end of class
    en donnnat (MOA.doc ) comme argument, l'erreur qui me donne est tjrs la même, la voici::

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Error reading document:C:\\MOA.doc
    java.lang.NullPointerException
    java.lang.NullPointerException
    	at org.apache.poi.hdf.extractor.WordDocument.printTable(WordDocument.java:1790)
    	at org.apache.poi.hdf.extractor.WordDocument.createParagraph(WordDocument.java:932)
    	at org.apache.poi.hdf.extractor.WordDocument.addBlockContent(WordDocument.java:876)
    	at org.apache.poi.hdf.extractor.WordDocument.writeSection(WordDocument.java:681)
    	at org.apache.poi.hdf.extractor.WordDocument.<init>(WordDocument.java:211)
    	at org.apache.poi.hdf.extractor.WordDocument.<init>(WordDocument.java:186)
    	at testDoc.getText(PoiTest.java:35)
    	at PoiTest.main(PoiTest.java:18)

    Ce qui est marron , c'est que j'ai donné le même code avec les libs stable de POI à un collègue ayant les mêmes version d'Eclipse, le même JVM et étonnament ça MARCHE nikel chez lui.

    J'ai ts viré et réinstaller de nouveau et le résultat est tjrs LE MEME .

    Merci à tous ceux qui prennent la paine de me répondre rapidement ,

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [POI] Problème de lecture des fichiers Word
    J'ai fuillé ds la lib POI de base et l'équipe JAKARTA propose de parser le fichier Word comme un FileSystem où je dois reconnaître les différentes balises du fich DOC, et c super roulou à faire, d'autant plus que j'ai presque pas de temps pour mon proj ...

    ça peut être effectivement le seul chemin pour y arriver !

  3. #3
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    Perso j'utilise HWPF pour lire dans mon fichier WORD 2000.
    Mon but est de lire le fichier et récupérer certaines informations (mon fichier WORD est sous forme de tableau) pour pouvoir les insérer dans un fichier XML.

    En gros le fichier WORD est découpé en section, paragraph, et character, et tu peux acceder à n'importe quel endroit en indiquant la bonne section, paragraph etc...

    Si tu veux un coup de main pour utiliser HWPF je pourrais peut être t'aider

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [POI] Problème de lecture des fichiers Word
    Oui, bien sûr

    J'ai beosin de savoir quelles classes tu utilises pour parser 1 fichier Word, et si t'as un exemple sous ta main, ça me permet de gagner du temps.

    Un grand Merci d'avance

  5. #5
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    Je n'ai pas créer de fichier WORD, juste lu.
    Mais j'avais trouvé cet article, peut être que cela pourra t'aider

  6. #6
    Membre régulier Avatar de kha_yassine
    Inscrit en
    Juin 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 126
    Points : 76
    Points
    76
    Par défaut
    Salut tout le monde;

    j'ais travailler avec la version POI 3.0,Pour l'exemple que vous avez donnez Dari, ca a bien marché

    mais il n'a pas récupérer tout le contenu du fichier Word que j'ais , il a laisser presque 6 lignes

    et un autre problème aussi recontré , c'est qu'il me donne des erreurs pour cette ligne de commande :
    WordDocument wd = new WordDocument("C:\\test.doc");
    lorsque le contenu du fichier est en Arabe ( et je pense que se n'est pas juste pour cette langue )


    Error reading document:C:\Users\yassine\Desktop\test.doc
    java.lang.NegativeArraySizeException
    java.lang.NegativeArraySizeException
    at org.apache.poi.hdf.extractor.data.ListTables.createLVL(ListTables.java:171)
    at org.apache.poi.hdf.extractor.data.ListTables.initLFO(ListTables.java:149)
    at org.apache.poi.hdf.extractor.data.ListTables.<init>(ListTables.java:43)
    at org.apache.poi.hdf.extractor.WordDocument.createListTables(WordDocument.java:1640)
    at org.apache.poi.hdf.extractor.WordDocument.findFormatting(WordDocument.java:365)
    at org.apache.poi.hdf.extractor.WordDocument.processComplexFile(WordDocument.java:292)
    at org.apache.poi.hdf.extractor.WordDocument.readFIB(WordDocument.java:244)
    at org.apache.poi.hdf.extractor.WordDocument.<init>(WordDocument.java:194)
    at org.apache.poi.hdf.extractor.WordDocument.<init>(WordDocument.java:183)
    at access.testDoc.getText(Access.java:36)
    at access.Access.main(Access.java:19)

    Si quelqu'un a une idée sur ca


    Et merci d'avance

  7. #7
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Malheuresement pour toi, la lecture/ecriture des documents word par POI est encore expérimentale. DOnc tu ne pourras pas te baser sur une API stable pour faire celà...
    Bref pour ce genre de projets mieux vaut largement utiliser .NET, au moins il y a des API fournies par microsoft qui sont stables et utilisables en production point barre.


    Et pourtant je ne suis de loin pas un fanboy Microsoft et çà m'embête de devoir donner cette recommandation, mais tu n'auras pas de moyen propre pour faire autrement.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  8. #8
    Membre régulier Avatar de kha_yassine
    Inscrit en
    Juin 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 126
    Points : 76
    Points
    76
    Par défaut
    Merci beaucoup sinok

    mais j'aimrai faire le programme en JAVA

    vous pouvez me recommander un type de stockage du texte (en Arabe) qui soit sécurisé , et accessible par un programme écrit en java ?!!

    Si je prend les fichiers PDF, quel API je pourait utilisé ?

  9. #9
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    SI tu veux stocker des données uniquement pour ton programme, utilises du XML.

    Si c'est pour permettre aux utilisateurs de visualiser des données, le PDF est la solution adéquate en java. Tu peux manipuler les PDF aisément avec la librairie IText qui propose de plus pas mal de documentation et exemples de code.
    http://www.lowagie.com/iText/docs.html
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  10. #10
    Membre régulier Avatar de kha_yassine
    Inscrit en
    Juin 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 126
    Points : 76
    Points
    76
    Par défaut
    Merci sinok,

    j'ais utiliser le projet BIRT, et j'ais pu créer des fichiers PDF et écrire dedant ...

    sauf que je rencontre des problèmes pour faire des choses avec , comme : ecrire en unicode , récupérer le contenu d'une page (just le texte)...

    En tout cas c'est bon

Discussions similaires

  1. POI - Problème de lecture de fichier
    Par david71 dans le forum Documents
    Réponses: 2
    Dernier message: 28/07/2010, 15h27
  2. [XL-2002] Problème de lecture des fichiers xls
    Par lucarno dans le forum Excel
    Réponses: 2
    Dernier message: 09/04/2009, 19h53
  3. [POI] Problème écriture/lecture dans un fichier Excel
    Par steuve dans le forum Documents
    Réponses: 6
    Dernier message: 02/07/2007, 15h47
  4. [POI]Problème de lecture des cellules vides
    Par ng.phung dans le forum Documents
    Réponses: 1
    Dernier message: 02/05/2007, 14h45
  5. [POI] Lecture de fichiers word
    Par log2n dans le forum Documents
    Réponses: 1
    Dernier message: 20/04/2006, 13h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo