extracción de datos en un archico PDF de forma automatizada

Jun 13, 2013 No Comments by

A veces la extracción de datos de un archivo PDF no es tarea facil :( , sin embargo, existen algunas librerías libres que nos permiten hacer esta tarea más amena, una de ellas es Xpdf que contiene al comando pdftotext (su nombre lo dice todo xD).

 
 

En sistema like Unix, como Debian, lo podemos instalar a través de un

apt-get install xpdf

El problema, es que si contamos con un sistema sin entorno X, vamos a instalar algunas librerías que tal vez están demás como libxfont1, etc. En estos casos podemos usar la versión precompilada disponible desde la fuente del proyecto.

Tambien disponemos de ejecutables para Windows, los pueden descargar (tanto Windows como Linux) en http://www.foolabs.com/xpdf/download.html

Ejemplo

Si necesitamos analizar los datos del Padron Electoral, información pública disponible por servel, solo debemos ejecutar

pdftotext A0835008.pdf --layout

Y obtendremos un archivo con extensión .txt como el del screenshot.

En este caso, mantuvo casi intacto el layout de la tabla original en pdf, ahora solo nos queda analizar el archivo de texto línea por línea para extraer los datos, en este caso (los archivos del Padron Electoral) nos puede servir el siguiente script en python.

rawdata = open("A0835008.txt")
users = []
for line in rawdata:
    if len(line) >= 157:
        user = {}
        user['nombre'] = line[0: 47].strip()
        user['rut'] = line[48:48+13].strip()
        users.append(user)
for user in users:
    print user['rut']
rawdata.close()

Este pequeño script, solo captura el nombre y el rut (en base a las posiciones) del archivo, para luego solo imprimir el rut de los inscritos.

Web Scraping

About the author

Ingeniero en Informática, Oracle Certified Master Java EE 6 Enterprise Architect, Oracle Certified Professional Java Programmer. Experto en distintas ramas de la computación y otras "yerbas" xD. Si te gusto este post, sígueme en @deerme_org, escríbeme a info AT deerme.org o contactame por linkedin.
No Responses to “extracción de datos en un archico PDF de forma automatizada”

Leave a Reply


5 * five =