extraction données pdf avec pdfquery
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:
Code:
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 |
le pdf.load(0) permet d'accéder à la 1re page..
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