France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
22 342 membres enregistrés - 1 872 901 posts - 95 150 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           [php]lire des fichier PDF
23 connectés dont 1 modérateur (knightmare)(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
[php]lire des fichier PDF

Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 23 mars 2006 - 17 h 27 m 34 s
bonjour,

pour mon entreprise il arrive maintenant de temps en temps que des devis arrivent par fichier PDF.

L'idée serait de recuperer le contenu du devis, l'intégrer dans la base de dnnées directement sans avoir a le taper comme actuellement on est oblige de le faire.

mais j ai deja etudie il y a longtemps le fait de convertir en pdf notament avec FPDF, mais jamais l'inverse.

est ce possible deja?

si oui, je serais pas contre des petits tuyaux :)

merci d'avance



- je cherche un emploi
ICI


grabber
Coordinateur
MacBook Pro 2,4 Powered

Messages : 8 510
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 24 mars 2006 - 03 h 01 m 04 s
comme ca, je n'ai jamais vu ca, mais bon c'est une sorte de curl sur du pdf, google indexe les pdf, cela veut dire que si c possible, il y a moyen de parser, comment ? j'en sais rien, mais ca devrait etre possible. as tu jete un oeil a la structure du pdf ? si ca se trouve tu verras le txt en clair, apres a toi de strstr-er le merdier :)

si tu trouves, reviens poster :)



Message édité 1 fois, la dernière par grabber le 24 mars 2006 - 03 h 01.

:firefox:

Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 24 mars 2006 - 09 h 12 m 01 s
malheureement j ai deja essaye de l'ouvrir comme ca betement avec le bloc note ou avec wordpad...mais c est hum...plus ou moins crypter j ai l impression enfin du moins ca arrive pas a le lire



- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 24 mars 2006 - 09 h 25 m 16 s
il existe une documentation de reference pour le PDF qui me dit ce qu il faut pour l'ecrire.. et comprendre comment ca marche mais pas me dire comment le lire autrement qu'avec le reader (d un autre cote qui aimerait devoiler qqch a la concurrence...)

http://partners.adobe.com/public/developer/pdf/index_reference.html



- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 24 mars 2006 - 09 h 36 m 10 s
    Code     
1. %PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream xœYÓ¥9mÇïûSœÊ dN{_¸ ³40fš%)nfi†¡f¦ „O›KàSÄ’}lýŸWš¢RIeú÷>>^$Y–eûnÿ~swçnº¹Û÷Çÿ~vûý³[åÞÜþÇ'¯áæýQiñëí“/ŸÝžÿÐßÞýúÙí§Ïno¿¼=áÇ_Þ^þúöÞËg\ •4Àú.´{è·—Ÿ~ûÝï¼ü-ÿÍ`Áß[ì=Á¢¿» ØÏKî>~ë°J©â‡}(X÷.˼IVîYÖ廂•K]äw%ÝK3ÚWÓ=7£}£#«¬§¬û{(‚yÉÚ½Eã;ïÊ=ÉB£„>Þ{±¾C‘£


joli non?



- je cherche un emploi
ICI


iraysyvalo
-

Messages : 9 647
Inscrit le 19/11/02
Ville : Lyon
Non connecté
  Posté le 24 mars 2006 - 09 h 51 m 04 s

Regardes du cotes des modules PHP qui peuvent servir a sortir du PDF si tu peux t'en inspirer ..

De facon generale, si les fichiers PDF qu'on vous envoie sont en format libre, ce sera tres difficile de faire l'impasse sur la partie manuelle.

Question apparentee : normalement, on vous envoie les devis comment ? Par une interface web ou sur papier ? Vous le scannez dans ce cas ou vous le rentrer a la main ??

Pour en revenir a ta question, non seulement Google le fait mais il y a une extension Firefox qui le fait faire. Enfin, plus precisement, ce qu'ils font, c'est le mettre en texte simple, ce qui n'est que la premiere etape de ce que tu veux faire. Sous *nix, le paquetage xpdf fournit aussi entre autres l'outil pdftotext.




Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 24 mars 2006 - 09 h 57 m 52 s



- je cherche un emploi
ICI


grabber
Coordinateur
MacBook Pro 2,4 Powered

Messages : 8 510
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 24 mars 2006 - 20 h 47 m 35 s
ouais ya pas mal de fonctions, j'utilise pour ma part fpdf pour faire l'inverse, tu peux ptet essayer de le decortiquer pour voir comment il le cree et surtout derriere comment il encode tout ce merdier. fpdf est bien foutu, je pense que tu devrais trouver ton bonheur dans les sources.

sinon j'ai ca sous la main, ca devrait aussi te permettre de commencer ;)
http://fpdi.setasign.de/

donnes des news, ca m'interesse hautement...



:firefox:

Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 25 mars 2006 - 15 h 37 m 00 s
de mon cote j ai pense a pdflib :)

je l ai telecharger hier matin en pensant exactement la meme chose que toi...
j ai pas ete decu (enfin je pense).
La derniere version de pdflib permet de modifier un pdf et j ai bien vu dans les exemples l'utilisation de la fonction open_pdi...
mais j ai eu un soucis qui m a empeche de tester les exemple...quand j ai voulu installer et active l'extension libpdf il m'a sorti des erreurs qu il ne pouvait activer les nouvelles fonctions...suite a un redemarrage ecran bleu de windows 2k...blocage de apache...enfin tu vois le genre...


merci de ton lien je regarde
> aussi pour info, vu que je n ai malheureusement un temps infini, il est possible que je fasse des pauses dans ce projet...t etonne pas vu que tu es interesse que par moment je poste plus rien :) mais si j'avance aucun problème je poste :)

iraysyvalo > pour te repondre, en principe ca arrive par fax (fax pc donc pas de papier), mais vu la progression des vente par internet et on y coupe pas, maintenant les devis arrive bien par mail direct sous format PDF

Pour completer, je dirais que meme si j'arrive a lire le pdf et que j essai de correctement le decomposer il y aura forcement un travail manuel a faire pour controler voir un peu corriger. Mais au moins le travail de saisie sera largement simplifiée et ca sera deja pas mal ...dans un premier temps :)

Enfin j ai vu qil existe le logiciel pdftohtml (version libre) qui permet comme le nom l'indique de convertir le pdf en page html. Jai pu teste sur un devis c est bof, il est pratiquement impossible de refaire une mise en page correcte car il met des <br> dans tous les sens (alors que le devis avait un tableau) et le ponpon c est qu il mettait des espaces entre les lettres de certains mots
alimentation 350W devenait -> a l i m e n t a t i o n 3 5 0 W
ce qui est bien sur TRES pratique...


Message édité 1 fois, la dernière par Florent42 le 25 mars 2006 - 16 h 10.

- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 25 mars 2006 - 16 h 17 m 30 s
je me suis lance sur fpdi...

avec ce code:
    Code     
 1.  <?php
 2. define('FPDF_FONTPATH','font/');
 3. require('fpdi.php');
 4. $pdf= new fpdi();
 5. $pagecount = $pdf->setSourceFile("DE01030162.PDF");
 6. $tplidx = $pdf->ImportPage(1);
 7. 
 8. $pdf->addPage();
 9. $s = $pdf->useTemplate($tplidx,10,10,90);
10. 
11. $pdf->SetY(10);
12. $pdf->SetFont("arial");
13. 
14. // write all fetched Informations of the PDF document
15. foreach($pdf->current_parser->infos AS $k => $v) {
16.     $pdf->SetX(10 + $s['w']);
17.     $pdf->Cell(0, 6, $k .": ".$v, 0, 1);
18. }
19. 
20. $pdf->SetXY(10 + $s['w'], $pdf->y + 6);
21. $pdf->Cell(0, 6, "Page count: ".$pdf->current_parser->page_count." pages");
22. $pdf->SetXY(10 + $s['w'], $pdf->y + 6);
23. $pdf->Cell(0, 6, "PDF-Version: ".$pdf->current_parser->pdfVersion);
24. 
25. 
26. $pdf->Output("newpdf.pdf","I");
27. 
28. ?> 


(il etait fourni en exemple)

et bien sur l'erreur:
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\fpdf\essai.php:1) in c:\program files\easyphp1-8\www\fpdf\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file

le fichier d edemo marche parfaitement...



- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 25 mars 2006 - 16 h 30 m 56 s
je retire ce que j ai dis ca marche :)



- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 25 mars 2006 - 16 h 52 m 50 s
bon voila le resultat d'essai:

le code complet
    Code     
 1. <?php
 2. define('FPDF_FONTPATH','font/');
 3. require('fpdi.php');
 4. 
 5. $pdf= new fpdi();
 6. 
 7. $pagecount = $pdf->setSourceFile("DE01030162.pdf");
 8. $tplidx = $pdf->ImportPage(1);
 9. 
10. $pdf->addPage();
11. $s = $pdf->useTemplate($tplidx,10,10,90);
12. 
13. $pdf->SetY(10);
14. $pdf->SetFont("Arial");
15.  	$fp = fopen("connexion.txt","a+"); 
16. 
17. // write all fetched Informations of the PDF document
18. foreach($pdf->current_parser->infos AS $k => $v) {
19.     $pdf->SetX(10 + $s['w']);
20.     $pdf->Cell(0, 6, $k .": ".$v, 0, 1);
21. 
22. 
23. 	fwrite($fp, $v."\n");
24. }
25. 
26. $pdf->SetXY(10 + $s['w'], $pdf->y + 6);
27. $pdf->Cell(0, 6, "Page count: ".$pdf->current_parser->page_count." pages");
28. $pdf->SetXY(10 + $s['w'], $pdf->y + 6);
29. $pdf->Cell(0, 6, "PDF-Version: ".$pdf->current_parser->pdfVersion);
30. 
31. 
32. $pdf->Output("newpdf.pdf","I");
33. 
34. ?> 


Comme vous pouvez le constater j ai pratiquement rien modifie au code precedent simplement j ai rajoute l'ecriture dans un fichier connexion, histoire de voir si il y a bien c eque je veux recuperer.

Et après lancement voici le contenu du fichier connexion:

WinDev 8.0 (8.00Ek

donc je sais que mon fournisseur utilise windev 8.0...

Y a un truc qui m inquiete malgre tout, d'après ce que j ai lu, fpdf cree un template "image" es ce qu on peut lire le contenu d'une image?

qu en pensez vous?
Si non c est vrai qu il m'affiche bien sur le pdf de sorti le nombre de page, la version de pdf et le "producer"



- je cherche un emploi
ICI


Page genérée en 0.6792 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory