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/