Bonjour je souhaiterais savoir comment lire un fichier pdf, car dans mon application je dois récupérer des informations contenues dans un fichier pdf.
Bonjour je souhaiterais savoir comment lire un fichier pdf, car dans mon application je dois récupérer des informations contenues dans un fichier pdf.
salut kkajout,
j'ai déjà implémenter une fonction qui lisser les PDF, j'utilisais l' API Itext
voici le lien :
http://www.lowagie.com/iText/
Voila tu peux toujours me demander si tu as des problèmes
++
Merci de ta réponse.
J'utilise deja cette Api dans mon programme pour créer des pdf, mais je n'arrive pas trouver comment on peut lire un pdf:par page par exemple ou en String ....
tu as de la chance j ai garder un bout de 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 /* * Affichage de la page ( texte + balise ) * */ try{ // we create a PdfReader object PdfReader reader = new PdfReader(System.getProperty("user.dir")+"/"+uri); String chaine=new String(); byte[] b = reader.getPageContent(1); for(int i=0; i<b.length; i++) chaine = chaine + (char)b[i]; System.out.print(chaine); } catch (IOException e) { e.printStackTrace(); }
Apres tu peux avoir des info pas rapport au documetn s lui meme
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 try { // we create a PdfReader object PdfReader reader = new PdfReader(System.getProperty("user.dir")+"/"+uri); // Some general document information System.out.println("=== Document Information ==="); System.out.println("PDF Version: " + reader.getPdfVersion()); System.out.println("Number of pages: " + reader.getNumberOfPages()); System.out.println("File length: " + reader.getFileLength()); System.out.println("Encrypted? " + reader.isEncrypted()); System.out.println("Rebuilt? " + reader.isRebuilt()); // Some information on the page size System.out.println("=== Page Size ==="); System.out.println("Page size p1: " + reader.getPageSize(1)); System.out.println("Rotation p1: " + reader.getPageRotation(1)); System.out.println("Page size p3: " + reader.getPageSize(3)); System.out.println("Rotation p3: " + reader.getPageRotation(3)); System.out.println("Size with rotation p3: " + reader.getPageSizeWithRotation(3)); } catch (IOException e) { e.printStackTrace(); }
et puis apres si tu as des difficultés auxquelles personne ici ne peux répondre tu as possibilité de poser directement tes questions aux développeurs de l API via leur site internet ..
Voila et dans l affichage du PDF si je me souviens bien tu as le texte plus les balises donc il faudrat peut etre que tu trouve la significations des balises ( cf
ADOBE site .. tu peux aussi demander ux dev de ITExt c 'est eux qui m avait donner le lien ves le site PDF ) ....
Voila j'espere que tu vas avancer![]()
Merci de ta rapide réponse je parts tester ca.
Encore merci
Bon apres avoir essayer le résultat en sortie est difficillement exploitable, je m'orientes donc vers une convertion du pdf en xml, ou en doc.
" Difficilement exploitable " : tu as le texte et les balises .... il faut juste que tu sache ce que veulent dire les balises avec la doc adobe et après tu les traduit .. c pas bien compliqué mais bon a toi de voir ...![]()
Salut,
Si tu veux lire le texte dans un pdf qui en contient utilise l'application gratuite de adobe IFilter.
merci pour la solution mais je n'arrive pas à lire de balises :
...
0 -1.1353 TD
( )Tj
/TT6 1 Tf
12 0 0 12 211.02 783.9203 Tm
-0.0001 Tc
0.0023 Tw
(Formulaire de demande de croque monsieur )Tj
/TT8 1 Tf
8.7 -1.11 TD
0 Tc
0 Tw
( )Tj
-7.23 -1.115 TD
...
ça ne veut pas dire grand chose...
ne serait-il pas possible de récupérer le model objet ?
ou comment completer un document pdf existant ?
De mémoire il n'y a pas de modèle objet, c'est une représentation de document. C'est notamment la raison pour laquelle avec iText on ne peut pas compléter un tableau, car la notion de tableau n'existe pas dans le PDF résultant.
En revanche il est possible d'ajouter du contenu à un PDF existant. Cherche sur le forum ou sur le site d'iText.
Merci djsnipe pour ta réponse, mais comme je l'ai écris ici : http://www.developpez.net/forums/d38...t/#post3767366
je me retrouve bloqué après le parcourt de cette dernière collection (xobj) :
si tu as une astuce (ou le lien d'un topic, parcequ'honnetement je suis bloqué là)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 PdfDictionary res = (PdfDictionary)PdfReader.getPdfObject(pg.get(PdfName.RESOURCES)); PdfDictionary xobj = (PdfDictionary)PdfReader.getPdfObject(res.get(PdfName.XOBJECT));
Partager