Muchas gracias por tu aportación Luis, si me pudieras compartir tu código
te lo agradecería mucho. Porque de momento estoy jugando todavía a prueba y
error con la interpretación del texto extraído.

Saludos.

by:

ISC. Manuel Alejandro Estévez Fernández



El 2 de junio de 2014, 3:16, Luis Iglesias <luis.igles...@vigo.org>
escribió:

> ----- Mensaje original -----
> De: "Manuel A. Estevez Fernandez" <stvz...@gmail.com>
> Para: "La lista de python en castellano" <Python-es@python.org>
> Enviados: Jueves, 29 de Mayo 2014 19:03:47
> Asunto: [Python-es] Analizar cadena y extraer valores
>
>
>
>
> Saludos a todos
>
>
> Tengo la siguiente necesidad:
>
>
> Extraer el texto de un archivo PDF (una factura), el cual lo resolví
> utilizando pyPdf, sin embargo el texto texto resultante de la lectura, es
> una sola linea de texto de la cual debo extraer.
> El patrón de la información siempre es el mismo:
>
>
> COMMERCIAL INVOICESeller [Datos] Consignee [Datos] Notify Party [Datos]
> Departure Date: [datos] Delivery and Payment Term [Datos] Country of origin
> [Datos] Invoice No. & Date [Datos] PO no. & Date [Datos] Buyer Reference NO
> & Date [Datos] Buyer [Datos] Remarks [Datos] Other References [Datos ]Goods
> description Model code Quantity Unit priceAmount [descripcion] [Modelo]
> [Cantidad] [PrecioUnitario][Monto] Total: [Descripcion] [Cantidad]
> [Importe][Moneda][descripcion] [Modelo] [Cantidad] [PrecioUnitario][Monto]
> Total: [Descripcion] [Cantidad] [Importe][Moneda][descripcion] [Modelo]
> [Cantidad] [PrecioUnitario][Monto] Total: [Descripcion] [Cantidad]
> [Importe][Moneda] /////////END OF DATA//////////////
>
>
> Las que se encuentran en negritas son los tags que se repiten de forma
> fija.
>
>
> Sería de mucha ayuda si me pudieran indicar cuáles herramientas utilizar o
> algún método general para realizar este proceso.
>
>
> Gracias de antemano.
>
> by:
>
> ISC. Manuel Alejandro Estévez Fernández
>
> -------------------------------------------
> Hola.
> No conozco pyPDF.
> Para analizar PDFs uso el programa pdftotext incluido en el paquete
> poppler-utils en linux. Creo que hay algo parecido también en Windows. La
> salida es un html en el que separa cada palabra con sus coordenadas
> indicando también los saltos de página.
>
> $ pdftotext -htmlmeta -bbox impreso.pdf impreso.html
>
> Y el documento generado tiene este aspecto:
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html xmlns="
> http://www.w3.org/1999/xhtml";>
> <head>
> <title></title>
> <meta name="Producer" content="Acrobat Distiller 4.0 for Windows"/>
> <meta name="CreationDate" content=""/>
> </head>
> <body>
> <doc>
>   <page width="595.000000" height="842.000000">
>     <word xMin="462.760000" yMin="30.882720" xMax="476.708536"
> yMax="37.320720">Sello</word>
>     <word xMin="478.599568" yMin="30.882720" xMax="501.197992"
> yMax="37.320720">registro</word>
>     <word xMin="41.699520" yMin="197.208240" xMax="48.137520"
> yMax="243.360000">SOLICITANTE</word>
>     <word xMin="54.040000" yMin="176.562820" xMax="66.043216"
> yMax="183.000820">DNI</word>
>     <word xMin="77.422120" yMin="176.562820" xMax="88.506616"
> yMax="183.000820">CIF</word>
>   </page>
> </doc>
> </body>
> </html>
>
> Puede ser un poco pesado tener que tratar palabra a palabra pero en mi
> caso es porque los programas que pasan pdf a texto plano, en caso de texto
> en tablas pueden mezclar unos campos con otros. Con esta solución, no es
> difícil hacer algunas funciones que recojan el texto en una región
> determinada. Las tengo en python, si te interesa te las paso.
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a