Bonjour
je souhaite extraire des données de fichier que nous recevons malheureusement en pdf (pas de csv ou type exploitable aisément)
J'ai trouvé un module qui permet d'extraire le texte, ca semble bien fonctionné.
https://pypi.python.org/pypi/pdfquery
maintenant je trouve peu de documentation quant à la récupération d'informations sur le fichier pdf (le nombre de pages notamment)
un exemple de code qui me permet de récuperer des infos selon des coordonnées:
le pdf.load(0) permet d'accéder à la 1re page..
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 # -*- coding: utf-8 -*- import pdfquery pdf = pdfquery.PDFQuery("C:\\temp\\eugen maersk.pdf") pdf.load(0) # chargement 1ere page #champs textes lab_transp = pdf.pq('LTTextLineHorizontal:contains("Transport Plan")') lab_pin = pdf.pq('LTTextLineHorizontal:contains("Pin")') lab_interim = pdf.pq('LTTextLineHorizontal:contains("Interim")') # coordonnées l_c_transp = float(lab_transp.attr('x0')) b_c_transp = float(lab_transp.attr('y0')) l_c_pin = float(lab_pin.attr('x0')) b_c_pin = float(lab_pin.attr('y0')) l_c_interim = float(lab_interim.attr('x0')) pins = pdf.pq('LTTextLineHorizontal:in_bbox("%s, %s, %s, %s")' % (l_c_pin,b_c_transp ,l_c_interim ,b_c_pin )).text() print pins
Apres je dois recuperer les mêmes infos sur les autres pages.
Je pourrais bien faire une boucle avec un try mais je prefererais connaitre avant si il y a pas plus propre en récupérant les infos de structure du pdf
La documentation sur le site m'aide pas beaucoup, ou alors je regarde pas au bon endroit.
Merci pour votre aide
Partager