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

Langage Java Discussion :

Extraction des données spécifiques depuis un document PDF


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut Extraction des données spécifiques depuis un document PDF
    Bonsoir,

    Je cherche comment spécifier la récupération des données depuis un document pdf (plus de 50 pages) et les enregistrées dans la BD . c'est- à- dire, j'ai dans le document des paragraphes comme ceci:

    1. Patchs et mises à jour logicielles

    1.1 Installer les mises à jour, les correctifs et les logiciels de sécurité supplémentaires (non évalués)

    Applicabilité du profil:

    Level 1

    Description:

    Les correctifs périodiques sont publiés pour les logiciels inclus, soit en raison de défauts de sécurité, soit pour inclure des fonctionnalités supplémentaires ....
    Donc j'en sais pas comment créer un algorithme qui récupérer le grand titre seulement (1 Patching and Software Updates) et stocker dans une variable, le sous titre (1.1 Install Updates, Patches and Additional Security Software (Not Scored)) et le mettre dans une autre variable.

    D’après une recherche sur l'internet ,j'ai trouvé la librairie "pdfbox" qui facilite l'extraction des données et le parcoure du document PDF.

    Alors , j'ai appliqué cette biblio et j'ai bien extraire les données du fichier FDF. Voilà 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
     
    public Boolean ExtractPDF() {
     
            try {
                String filename = "CIS_Ubuntu_12.04_LTS.pdf";
                String directory = "src/main/resources/static/pdf";
                String filepath = Paths.get(directory, filename).toString();
     
                 System.out.println("*********** path file pdf "+filepath);
     
                PDDocument document = null;
                document = PDDocument.load(new File(filepath));
                document.getClass();
                if (!document.isEncrypted()) {
     
                    PDFTextStripperByArea stripper = new PDFTextStripperByArea();
                    stripper.setSortByPosition(true);
                    PDFTextStripper Tstripper = new PDFTextStripper();
                    String st = Tstripper.getText(document);
                    System.out.println("********Text:***** " +st); // j'ai le texte du document PDF
                         }
     
                        } catch (Exception e) {
                          e.printStackTrace();
                       }
            return true; 
      }
    J'ai eu des problèmes dans la spécification des données à récupérer?

    Merci de m'aider à trouver la bonne solution,

  2. #2
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut
    a t-il une proposition d'une solution pour savoir comment récupérer des données spécifiques depuis un document PDF.
    Merci,

  3. #3
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Salut,

    Le format PDF sert à représenter des informations, y extraire des informations est une très tâche ingrate.
    Je crains hélas que tu vas devoir extraire le texte brut du PDF, et utiliser des regex.
    Tu as essayé de voir si l'information que tu recherches était disponible autrement ? Un web service, un fichier Excel/CSV, un fichier brut ou une page web ?

    A+
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  4. #4
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut
    Salut,

    Merci pour ta réponse.

    Mon problème n'est pas l'extraction du texte but depuis un document PDF car j'ai déjà fais à travers le code que j'ai mis ici. Mais comment chercher une chaîne dans le document puis récupérer le contenu qu'elle contient.
    je dois développer mon propre web service REST (Jax-rs).
    En effet, le document représente toujours les chaines suivants:


    *(non évalués)

    *Applicabilité du profil:

    *Level 1

    *Description:
    J'en sais pas le "regex", merci de m'envoyer des tutoriels explicatifs.

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Comme on te l'a dit, extraire des donnée du pdf c'est ingrat. Je dirait même c'est fragile, degueulasse et au final t'a honte du code que t'obttiens. Pour te donnée une idée, dans le PDF:

    1) ce n'est pas parce que les mot se suivent à l'écran qu'ils sont dans le même ordre dans le texte brut, tu aura peut être le texte mélangé, coupé en blocs, ....
    2) le pdf n'a pas de notion de paragraphe, juste des lettre à afficher à des endroits.
    3) la solution que tu obtiendra sera dépendante des des pdfs en question, la moindre variation dans leur génération et le travail sera à refaire.


    La première chose à faire c'est d'extraire le texte (ou essayer). Ensuite seulement tu pourra envisager de le parcourir pour l'analyser.

Discussions similaires

  1. extraction des données précises d'un fichier pdf
    Par hamzaHDR dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/03/2017, 17h51
  2. Extraction des données du PDF vers MySql : code Java
    Par Colonel-Essaid dans le forum Général Java
    Réponses: 1
    Dernier message: 08/04/2011, 14h37
  3. extraction des données du PDF vers MySql
    Par Colonel-Essaid dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 02/04/2011, 15h00
  4. Réponses: 9
    Dernier message: 26/03/2011, 09h46
  5. Réponses: 1
    Dernier message: 03/02/2010, 13h38

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