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

Persistance des données Java Discussion :

Questions : Ecriture dans un fichier texte + utilisation d'un logiciel


Sujet :

Persistance des données Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 11
    Points
    11
    Par défaut Questions : Ecriture dans un fichier texte + utilisation d'un logiciel
    Bonjour, j'ai le même probleme que anneti, en ce qui concerne l'écriture en fichier.
    J'ai réussi à extraire le texte d'un fichier pdf comme il suit :

    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
    import com.asprise.util.pdf.PDFReader;
    import java.util.*;
    import java.io.*;
     
    public class Extractionpdf {
     
     
        public static void main(String[] args) throws IOException {
     
            PDFReader reader = new PDFReader(new File("C:\\java\\Test\\Nouveau.pdf"));
            reader.open(); // open the file.
            int pages = reader.getNumberOfPages();
     
            for(int i=0; i < pages; i++) {
                String text = reader.extractTextFromPage(i);
                System.out.println("Page " + i + ": " + text);
            }
     
            reader.close();
     
        }
     
    }
    Mais comme vous voyez le texte s'affiche que dans la console java et non dans un fichier texte... ce que je voudrais...

    J'ai écris dans la boucle for le programme suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for(int i=0; i < pages; i++) {
                String text = reader.extractTextFromPage(i);
                System.out.println("Page " + i + ": " + text);
     
                File out = new File ("C:\\java\\Test\\Nouveau1.txt");
                FileWriter fw = new FileWriter(out);
                BufferedWriter bw = new BufferedWriter(fw);
     
                fw.write(text);
                fw.close();
                }
    Pour mettre le texte récuperer du pdf dans un fichier texte. Mais le probleme c'est qu'à chaqua page il réécrit par dessus les premières pages alors que moi je voudrais tout à la suite où alors en plusieurs pages (1 page texte pour une page PDF).
    Est il possible donc d'avoir une méthode qui ajouterait le texte page à page à la suite ?

    J'ai une autre question aussi : est il possible en java d'avoir un programme qui utilise un autre programme de l'ordinateur (un .exe) et qui récupère les données texte qu'il génère ?


    Merci pour votre attention

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Faut sortir de ta boucle la création du fichier et sa fermeture. Là, à chaque boucle, tu recrée le fichier pour le moment, c'est pas très malin.

    Pour exécuter un programme externe, c'est Runtime.exec(....), çà te renvoie un objet Process contenant les streams de sortie de l'application que t'a invoqué. T'as qu'à lire ces stream pour récupérer la sortie en question.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Oui j'avais bien compris qu'il fallait sortir de la boucle. Mais y'a un probleme car quand je fais le meme programme en sortant de la boucle, il n'arrive pas à prendre le "text" dans le fw.write(text), il ne reconnait pas la variable, où sinon il me demande de la mettre en static...


    Oui j'ai essayé d'utiliser la classe runtime, mais je n'ai pas de retour, rien ne se passe dans la console, je vosi pas quel argument je dois mettre.

    En gros je voudrais qu'elle fasse cette ligne de commande DOS :

    C:\....>pdfextract -h -lp -x C:\....\Monpdf.pdf

    Qui me permet d'extraire le texte d'un fichier pdf sous formes de plusieurs fichiers textes (un par page)...

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Djinner² Voir le message
    Oui j'avais bien compris qu'il fallait sortir de la boucle. Mais y'a un probleme car quand je fais le meme programme en sortant de la boucle, il n'arrive pas à prendre le "text" dans le fw.write(text),
    Ben le write doit, lui rester dans la boucle, forcément ^^


    Citation Envoyé par Djinner² Voir le message
    Oui j'ai essayé d'utiliser la classe runtime, mais je n'ai pas de retour, rien ne se passe dans la console, je vosi pas quel argument je dois mettre.
    Y aura rien dans la console, c'est à toi de récupérer l'output du programme et d'en faire quelque chose. (Via la variable de type Process que exec t'a renvoyé)

Discussions similaires

  1. [Tableaux] ecriture dans un fichier texte
    Par TiNoUcHe dans le forum Langage
    Réponses: 4
    Dernier message: 27/09/2006, 16h12
  2. probleme d'ecriture dans un fichier texte
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 21/06/2006, 17h51
  3. Ecriture dans un fichier texte
    Par Bmagic dans le forum MFC
    Réponses: 9
    Dernier message: 07/06/2006, 14h40
  4. ecriture dans un fichier text
    Par lerouzes dans le forum Langage
    Réponses: 19
    Dernier message: 30/04/2006, 16h29
  5. probleme d'ecriture dans un fichier texte
    Par azrael88370 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/01/2005, 17h33

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