Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
581 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Convertir un PDF en Texte via Java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Convertir un PDF en Texte via Java

n°1747629
Djinner111
Posté le 17-06-2008 à 15:10:48  profilanswer
 

Bonjour à tous,
 
J'ai utilisé la librairie itext de Lowalgie pour pouvoir créer et manipuler des fichiers PDF sur Eclipse, via les méthodes et les objets qu'elle propose.
Mais maintenant est il possible que via cet librairie (ou une autre) de convertir un fichier PDF (avec plusieurs pages) en fichier texte (.txt, .doc, ou encore .rtf).
 
J'ai trouvé quelques bribes de codes sur internet mais rien de très utiles. Un m'a aidé à pouvoir convertir une page, mais en utilisant des librairies que je ne connais pas (http://forum.java.sun.com/thread.jspa?threadID=5211294&messageID=9851731), mais le problème c'est qu'il converti qu'une page, je n'arrive pas à concaténer les autres pages en faisant une boucle (en récupérant le nombre de pages), car il écrase en mémoire ce que j'avais inscrit dans le fichier rtf et écrit la dernière page...
 
J'ai regardé quelques logiciels, mais n'étant pas extrement fortiche en anglais et en programmation (plus déjà XD), j'ai eu du mal a comprendre leur fonctionnement (sur le site de pdf tools par exemple).
 
Donc si jamais vous avez une idée, un code, ou une modification à faire dans le code que je vous ai montré ce serait excellent !
 
Merci encore !
 
Djinner

mood
Publicité
Posté le 17-06-2008 à 15:10:48  profilanswer
 

n°1777854
ordipus
Posté le 26-08-2008 à 17:12:42  profilanswer
 

merci djinner pour le lien ca m'a aide. ca fait 4 jours que je me prends la tete avec ce probleme. grace au code du lien j'ai pu resoudre le probleme. tu as peut etre garde l'instruction "FileOutputStream stream2=new FileOutputStream("D:\\Workspace\\Test\\HelloWorld.rtf" );" dans la boucle et c'est ce qui fait que le fichier est a chaque fois ecrase. voici mon code pour convertir tout le document pdf en .txt :
PdfReader pdfr = new PdfReader(ff.getAbsolutePath());
int nbpage= pdfr.getNumberOfPages();
  int x = 1;
  stream2=new FileOutputStream("D:\\monfichier.txt" );
  while (x<nbpage){
  PdfDictionary page = pdfr.getPageN(x);
  PRIndirectReference objectReference = (PRIndirectReference) page.get(PdfName.CONTENTS);
  PRStream stream = (PRStream) PdfReader.getPdfObject(objectReference);
  byte[] streamBytes = PdfReader.getStreamBytes(stream);
  PRTokeniser tokenizer = new PRTokeniser(streamBytes);    
        strbufe = new StringBuffer();
  while (tokenizer.nextToken()) {
  if (tokenizer.getTokenType() == PRTokeniser.TK_STRING) {
  strbufe.append(tokenizer.getStringValue());
    }
  }
  String test=strbufe.toString();
  StringReader reader1 = new StringReader(test);
  int t;
  while((t=reader1.read())>0)
  stream2.write(t);
  x++;
  }
   


---------------
bon courage

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Convertir un PDF en Texte via Java

 

Sujets relatifs
appel procedure stockée de MySQL avec du java[Résolu] Zone de Texte d'un Etats = fonction vba
javaGénération de PDF à partir de PHP
Java + fichier CSVjava + chmod
Vérifier si un e-mail contient un texte précisrecupérrer un texte selectionné dans un formulaire(ouf^^)
[Windev] Intégration de fichier texte venant d'un tab sage dans un HFJAIN-Sip java
Plus de sujets relatifs à : Convertir un PDF en Texte via Java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR