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 :

Extraction de données PDF


Sujet :

Documents Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut Extraction de données PDF
    Bonjour à tous,

    Je débute en java , je souhaite extraire des informations qui se trouve dans un fichier PDF vers un fichier txt.
    Est-ce réalisable avec java ou faut-il utiliser un autre langage de programmation pour y arriver ?
    Je n'ai aucune piste ni la moindre idée du comment faire, pourriez-vous m'aider .


    Je vous remercie d'avance pour votre aide.
    Cordialement

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Salut,

    regarde du cote d'iText et de la classe PDFReader.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    J'utilise NetBeans mais je ne comprends pas trop ce qu'il faut que je mette ici :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    package conversion_pdf;
     
    public class Conversion_PDF {
     
    public static void main(String[] args) {
    Mon code doit commencer à quelle endroit ?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    Voici le message d'erreur lorsque j'utilise itextpdf
    impossible de trouver ou charger la classe principale

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il faudrait nous montrer ton code qui cause cette erreur. C'est probablement un (ou plusieurs) import qui manque, mais bon, sans code, on ne peut être que dans la devinette, et on n'est pas sur un forum de divination.

    Citation Envoyé par solerian Voir le message
    J'utilise NetBeans mais je ne comprends pas trop ce qu'il faut que je mette ici :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    package conversion_pdf;
     
    public class Conversion_PDF {
     
    public static void main(String[] args) {
    Mon code doit commencer à quelle endroit ?
    Tu débutes vraiment en effet. Avant de commencer à traiter du PDF, il faudrait (re)voir les bases de Java.

    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    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
    import java.io.*;
     
     
    package LectureFichier 
     
     
    public class LectureFichier {
     
     
        public static void main(String[] args) {
         try {
     fileReader file = new file ("exemple_facture.pdf");
     BufferedReader reader = new BufferedReader(file);
     
     
     while (reader.ready()) {
    	String[] line = reader.readline().split(" ");
            for (String s : line){
         System.out.print(s);
     }
     System.out.println();
    }
     reader.close();
     fileReader.close();
         } 
    catch (FileNotFoundException e){
    	e.printstackTrace();
    }
    catch (IOException e){
    	e.printstackTrace();
    }
    }
    }

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    La classe principale n'est pas trouvée, parce qu'elle n'existe pas : ton source ne compile pas.
    1. Les imports doivent être mis après la déclaration de package.
    2. Java est sensible à la casse : donc fileReader n'existe pas (puisque c'est FileReader)
    3. Ton IDE, ou à défaut, le compilateur, t'indique ce qui ne va pas dans ton code source.



    Enfin, ce programme traite un fichier texte, pas PDF.

    Ensuite, ta boucle est incorrect :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     while (reader.ready()) {
    	String[] line = reader.readline().split(" ");
    Pas la peine d'utiliser la méthode ready() dans ton cas : elle sert à savoir si le flux est prêt à être lu sans bloquer. Tu es en monoprocessus, et tu dois le lire le fichier, qu'est-ce que ça peut faire d'être mis en attente lors du readLine ? En plus, dans ton cas, si le flux n'est pas prêt au moment du test, ton fichier n'est pas lu (while(false)).
    En revanche, readline() retourne null lorsqu'il n'y a plus rien à lire.

    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(String line = reader.readLine(); line != null; line = reader.readLine()) {
     
         for (String s : line.split(" ")){
             System.out.print(s);
         }
     
    }
    Ensuite, inutile de fermer le flux 2 fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     reader.close();
     fileReader.close();
    Fermer le plus le plus encapsulant sufft, soit reader.

    En revanche, en cas d'exception ton flux ne sera pas fermé, parce qu'on ira directement dans le catch. Il faut donc s'arranger pour que le close() soit exécuté même en cas d'exception. Il y a différents moyens de le faire, mais le plus simple depuis Java 7 est le try-with-resources :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    try (BufferedReader reader = new BufferedReader(new FileReader ("exemple_facture.txt"))) { // ici on ouvre un reader
     
       for(String line = reader.readLine(); line != null; line = reader.readLine()) {
     
          for (String s : line.split(" ")){
              System.out.print(s);
          }
     
       }
     
    }
    catch (IOException e){
    	e.printstackTrace();
    }
    Attention aussi à l'encodage du fichier (voir par exemple InputStreamReader). Regardes aussi la méthode Files.newBufferedReader(path, charset) qui pourra t'aider à faire encore plus simple, ou encore Files.readAllLines()).

    M'enfin, tout ceci n'a rien à voir avec l'extraction de données d'un PDF.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    Je cherche avant de vouloir extraire des données dans un PDF il faut bien que j'arrive à lire le fichier sans quoi je ne peux savoir ou se trouve mes informations

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par solerian Voir le message
    Je cherche avant de vouloir extraire des données dans un PDF il faut bien que j'arrive à lire le fichier sans quoi je ne peux savoir ou se trouve mes informations
    Certes, mais la lecture d'un PDF n'a pas grand chose à voir avec la lecture d'une fichier texte. Bien sûr, c'est important de savoir lire un fichier texte quand on apprend Java, mais ça ne te servira pas à apprendre à traiter un PDF, à part les problématiques d'ouverture et de fermeture de flux à la limite (avec iText, on ferme plutôt un Document).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Attention, dans mon exemple, il manque une accolade (je viens de l'ajouter).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. [PDF] - Extraction de données
    Par alliance dans le forum C#
    Réponses: 0
    Dernier message: 05/01/2010, 10h30
  2. Extraction de données d'un pdf
    Par Orel01 dans le forum MATLAB
    Réponses: 1
    Dernier message: 09/12/2009, 10h48
  3. Extraction de données d'un PDF et insertion dans SQL Server
    Par kadiato dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/03/2009, 17h16
  4. [PDF] Extraction données PDF dans un projet PHP
    Par Kaldyris dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 08/07/2008, 10h42
  5. [FPDF] Extraction de données pdf
    Par rafy79 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 14/03/2007, 11h41

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