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 :

extraire texte word


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Par défaut extraire texte word
    Bonjour

    Je viens d'essayer d'extraire du texte grâce à POI, ça ne fait que 2 mois que je fais du java mais j'ai un peu taté quelques heures l'api...
    Cependant j'ai une erreur con , j'ai des petits carrés à la place de mes sauts de ligne et je dois bientot rendre mon projet


    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
    else if(telecharger.letype.equals("application/msword"))
                            {
                             progressinfo.setString("parsage du lien"+a+" google ("+telecharger.lenght+" caracteres)");
                             try{
                               WordDocument ledoc = new WordDocument(nomtraitement);
                               Writer out = new OutputStreamWriter(lien = new FileOutputStream(path+"/"+"google ("+langagechoisi+")/"+"lien"+a+".txt"));
                               ledoc.writeAllText(out);
                               String tmp=out.toString();
                               // tmp=tmp.replaceAll("","\n\r");
                               out.flush(); 
                               out.close(); 
                               metabalise.close();
                            }catch(Exception exception){}
                            //  monparser.texteparse = "fichier word identifié \r\n";
                           }
    Voili voilou j'en suis assez fiere vu que je trouve aucune source qui marche pour extraire du texte d'un fichier word

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    mets des "\r\n" au lieu de "\n\r"

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Par défaut
    C'est pas le probleme, j'arrive même pas à les identifier dans mon buffer, et sinon je me suis dis qu'il doit bien y avoir un type de buffer qui gére ça , j'ai déja eut ce probléme en téléchargeant des fichiers, finalement je me suis servit de la fonction readline() d'un Bufferreader.
    Mais la je séche, je comprend pas comment java gére sa mémoire et le pourquoi du comment de ces sauts de lignes, sinon c'est vrai que j'ai essayé de remplacer ces petits carrés avec un replaceall, mais quand je colle le petit carré dans eclipse c'est un saut de ligne ... de quoi devenir fou ...

  4. #4
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    J'ai fait une petite appli qui devait extraire des donnée d'un word.
    en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WordExtractor extractor = new WordExtractor(is);
    		String text = extractor.getText().replace('\n', ' ').replace('\r', ' ').trim(
    Je n'avais plus de problème.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Par défaut
    Il manque la fin de ton code , je ne me suis jamais servi de trim.
    Et je n'ai pas la fonction getText() pour mes wordDocuments, je pense qu'elle est dans hpwf mais je ne l'ai pas trouvé dans
    - poi-2.5.1-final-20040804.jar
    - poi-contrib-2.5.1-final-20040804.jar
    - poi-scratchpad-2.5.1-final-20040804.jar

    Donc je crois qu'il me reste 2 solutions , ou
    - trouver cette classe hwpf et deduire la fin de ton code
    - ou ce que je demandais virer les petits carrés en les identifiant dans mon code ou en les traitant par des buffers différents que je ne connais pas ...


  6. #6
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    Citation Envoyé par cterra
    Il manque la fin de ton code , je ne me suis jamais servi de trim.
    Et je n'ai pas la fonction getText() pour mes wordDocuments, je pense qu'elle est dans hpwf mais je ne l'ai pas trouvé dans
    - poi-2.5.1-final-20040804.jar
    - poi-contrib-2.5.1-final-20040804.jar
    - poi-scratchpad-2.5.1-final-20040804.jar

    Donc je crois qu'il me reste 2 solutions , ou
    - trouver cette classe hwpf et deduire la fin de ton code
    - ou ce que je demandais virer les petits carrés en les identifiant dans mon code ou en les traitant par des buffers différents que je ne connais pas ...

    Après je ne fait que des manipulation sur la string text donc tu à tout mon code pour la partie extraction du text de word.
    J'utilise la version 3.0, ce qui explique peut-être que tu n'a pas les même classes que moi

    trim() ne sert qu'a supprimer les espace au début et à la fin d'une chaine.

    en relisant ton code j'ai l'impression que tu as inversé les arguments de ton replaceAll()
    replaceAll que j'ai dans mons code sous la forme .replace('\n', ' ').replace('\r', ' ')

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Par défaut
    je viens de mettre à jour :
    - poi-3.0-alpha2-20060616.jar
    - poi-contrib-3.0-alpha2-20060616.jar
    - poi-scratchpad-3.0-alpha2-20060616.jar


    Mais la classe WordExtractor n'est pas dedans ... c'est bien ce que je pense elle est dans "org.apache.poi.hwpf.extractor.WordExtractor" mais je ne sais pas ou la trouver ...

Discussions similaires

  1. Extraire Texte Word avec POIFS et non HWPF
    Par Sebou77 dans le forum Documents
    Réponses: 2
    Dernier message: 30/06/2007, 13h58
  2. Enregistrer les données d'une table dans un fichier texte word ou excel
    Par maamar1979 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 14/06/2006, 13h41
  3. archivage d'un texte word dans un site php mysql
    Par mambax dans le forum Outils
    Réponses: 1
    Dernier message: 14/04/2006, 10h52
  4. Creer une requéte access pour choisir des textes word
    Par mariekero dans le forum Access
    Réponses: 1
    Dernier message: 16/01/2006, 10h25

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