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

API standards et tierces Java Discussion :

Petit souci pour utilisation conversion de PDF


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 150
    Points : 45
    Points
    45
    Par défaut Petit souci pour utilisation conversion de PDF
    Bonsoir a tous,

    je suis en train de secher sur la création d'un fichier texte depuis un document PDF.
    Mon final étant cette création de fichier texte bref.

    dans un premier temps suite à la lecture du pdf qui se présente sous forme de tableau (l-cf. ma capture d'écranNom : Capture d’écran 2019-10-13 à 18.31.08.png
Affichages : 188
Taille : 278,5 Ko) j'obtiens un premier .txt AIRAC.txt
    dans ce fichier texte, on constate que les coordonnées au lieu d'etre a la ligne se trouve collée a la ligne précédente.(mon premier souci )

    in fine de ce premier texte je souhaite extraire le nom / les coordonnées / les Hauteurs minimales de survol

    pour cela j'utilise le code suivant

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package pdfclasses;
     
    /**
     *
     * @author xxxxx
     */
     
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Scanner;
     
    public class test {
     
        /**
         * @param args the command line arguments
         * @throws java.io.IOException
         */
     
        public static void main(String[] args) throws com.itextpdf.io.IOException, IOException {
            PDFManager pdfManager = new PDFManager();
            pdfManager.setFilePath("/Users/xxxxx/Desktop/FR-ENR-5.7-fr-FR.pdf");
     
             File AIRAC = new File("/Users/xxxxx/Desktop/AIRAC.txt") ;
             String text = pdfManager.toText();
             File AIRAC2 = new File("/Users/xxxxx/Desktop/AIRAC-2.txt") ;
     
             try (PrintWriter out = new PrintWriter(new FileWriter(AIRAC))) {
             out.write(text) ; //écris dans le fichier
             out.println();//fais un retour à la ligne dans le fichier
             out.close();//Ferme le flux du fichier, sauvegardant ainsi les données.
             } catch (IOException e) {
             e.printStackTrace();
            }
            Scanner in = new Scanner(AIRAC); //scanne le fichier AIRAC
            in.useDelimiter("FIR");
            in.useDelimiter("ASFC");
            while(in.hasNextLine()) {
            String line = in.next();
             System.out.println(line); // renvoie le resultat du delimiteur dans la console
     
            try (PrintWriter out = new PrintWriter(new FileWriter(AIRAC2))) {
             out.write(line) ; //écris  dans le fichier AIRAC2
             out.println();//fais un retour à la ligne dans le fichier
             out.close();//Ferme le flux du fichier, sauvegardant ainsi les données.
             }catch (IOException e) {
             e.printStackTrace();
            }
            }
        }
     
    }
    le resultat de mon fichier 2 ne correspond pas a ce qui s'affiche dans la console qui elle me renvoie la globalité

    auriez vous une idée svp ?

    par avance merci pour votre aide

  2. #2
    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,

    C'est parce que dans la boucle qui lit les lignes via le Scanner, à chaque ligne, tu crées un nouveau fichier dans lequel tu écris la ligne courante. Au final, tu te retrouves avec uniquement forcément la dernière ligne seulement. On pourrait s'en sortir en ouvrant le FileWriter en mode append (new FileWriter(AIRAC2,true)), en prenant soin de supprimer le fichier avant (sinon avec plusieurs exécution du programme, tu va cumuler). Mais ce serait plus logique d'ouvrir le fichier une fois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    try (PrintWriter out = new PrintWriter(new FileWriter(AIRAC2))) {
     
        while(in.hasNextLine()) {
            String line = in.next();
             System.out.println(line); // renvoie le resultat du delimiteur dans la console
             out.println(line) ; //écris  dans le fichier AIRAC2
        }
     
     }catch (IOException e) {
             e.printStackTrace();
     }
    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. [WEBLOGIC]Petits soucis pour déployer un ear
    Par Arnulf dans le forum Weblogic
    Réponses: 3
    Dernier message: 09/05/2006, 11h10
  2. petit soucis pour lire sur un port usb le createfile n'accep
    Par anthonycosson dans le forum Windows
    Réponses: 5
    Dernier message: 14/02/2006, 09h34
  3. petit soucis pour l'installation de mon ventirad
    Par arfy dans le forum Composants
    Réponses: 12
    Dernier message: 03/11/2005, 22h55
  4. petits soucis pour trouver un fichier autoexec.bat
    Par lestat69 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 20/10/2005, 14h11
  5. Petit soucis pour se connecter à l'adsl
    Par Blowih dans le forum Réseau
    Réponses: 4
    Dernier message: 28/07/2004, 00h16

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