2012-04-17 7 views
5

que tiene que extraer el texto de las facturas y archivos pdfRegla extracción de texto PDF en base a las facturas de los sutiles y facturas

Los diseños de los archivos pueden hacerse muy complejos, aunque su mayoría lleno de mesas.

He leído algunas docenas de artículos sobre el formato pdf, lo fácil que es para nuestro cerebro captarlo y lo difícil que es para una máquina entender su estructura.

También se descargaron algunas herramientas como el minminminer de python y algunas herramientas de Java, algunas incluso tienen extracción de disposición basada en reglas, como LA-PDBtext, todas son geniales bibliotecas, dejándole el paso final.

Adobe también tiene un servicio en línea llamado ExportPDF pero no se puede personalizar

En pocas palabras, entiendo que con el fin de extraer el texto de archivos PDF estructurados y convertirlo en XML, por ejemplo, que debería haber alguna nivel de trabajo manual.

También encontré From Data Extractor, una herramienta no gratuita con la capacidad de establecer reglas de extracción que pretende hacer el trabajo, aunque es difícil encontrar un manual adecuado y se ejecuta solo en Windows.

Pensé que incluso podría tratar de convertir esos archivos a imágenes y probar tesseract-ocr, pero decidí pedir consejo aquí antes de dedicarle más tiempo.

Estaré muy agradecido si alguien con tanta experiencia me da una pista.

+0

A menos que estos PDF sean conformes con PDF/A-1a, tendrá que hacer un montón de trabajo: básicamente tendrá que hacer OCR. PDF no es el formato correcto para esto; intente obtener las facturas y las facturas como XML correctamente estructurado o como EDIFACT en su lugar. –

+0

Hola, sé que esta es una publicación anterior, pero prueba con Tabula https://github.com/jazzido/tabula-extractor – blaze

Respuesta

7

He realizado una gran cantidad de extracción de PDF y puedo confirmar que ya ha descubierto que puede ser un proceso doloroso para comenzar. Una de las cosas importantes que hay que entender es que no existe el concepto de "tablas" dentro de un PDF, solo el texto que tiene líneas a su alrededor. Además, no hay garantía de que el orden lineal del texto en el código PDF coincida con el orden visual cuando se imprime. En otras palabras, no hay garantía de que "hello world" esté escrito en ese orden, podría ser draw 'word' at coord 20 then draw 'hello' at coord 10. La mayoría de los creadores de PDF no hacen esto, pero aún así no hay garantía. Cuanto más creativo sea un creador de PDF (InDesign, Illustrator, etc.), mayor será la probabilidad de que el texto sea más difícil de obtener. Y en realidad, una vez que un diseñador comienza a jugar con las fuentes demasiado, algunos programas a veces realmente generan palabras de a un carácter a la vez, cambiando la fuente ligeramente cada vez.

Dicho esto, recomendaría el primero que miró, LA-PDFText. Puede ejecutarlo en discovery mode (bloquear) desde donde puede crear reglas. Ya no tengo instalado Java, así que no puedo probarlo, pero parece muy prometedor.

Su segundo, Extractor de datos de formulario A-PDF, solo funciona realmente con formularios PDF reales. Si este es tu caso, te recomendaría usar una solución de código abierto como iText/iTextSharp.

El último OCR me hace temblar. Simplemente no puedo imaginar pasar por esos aros para obtener una mejor representación de texto que analizar el PDF. Pero, de nuevo, PDF es un formato visual, así que tal vez sería.

Personalmente uso iText/iTextSharp para este tipo de cosas, pero también me gusta hacer las cosas de la manera difícil.

3

No está claro si está buscando la herramienta de desarrollo para automatizar la extracción de datos de facturas o facturas o simplemente para la herramienta de una sola vez (utilidad) que puede ser utilizada por el no desarrollador.

De todos modos aquí están algunas herramientas especializadas que incluyen motores que utilizan:

  1. Tabula (-código abierto, especialmente diseñado para extraer datos de las tablas en PDF se puede exportar secuencias de comandos shell para el procesamiento por lotes, ejecución la web localhost. servicio, impulsado por JRuby Tabula engine)
  2. Viet OCR (utilidad de escritorio .NET de código abierto para la extracción de texto de PDF e imágenes, basado en tesseract oct engine)
  3. Bytescout PDF Viewer (utilidad de .NET software gratuito cerrado, detecta y extrac ts tablas, incluidas las facturas escaneadas, impulsado por PDF Extractor SDK)

RENUNCIA: Yo trabajo para ByteScout.

Cuestiones relacionadas