Sobre este proyecto
it-programming / web-development
Abierto
Se requiere el desarrollo de un script en php para la extracción de información textual de archivos de una sola página, tanto en formato pdf como jpg, y su posterior estructuración en un archivo json.
Requisitos clave del proyecto:
- Capacidad para leer y procesar archivos pdf y jpg.
- Implementación de una lógica de extracción que priorice el texto directo en PDFs nativos para una mayor eficiencia y precisión.
- Integración de OCR, preferentemente Tesseract, para ser utilizada como método de respaldo en los siguientes escenarios:
- Cuando el PDF contenga imágenes escaneadas y la extracción directa de texto falle.
- Para todos los archivos en formato jpg, siempre usar ocr .
- Generación de un archivo JSON con una estructura clara y definida, conteniendo el texto extraído de los documentos.
Tecnologías y herramientas requeridas:
- PHP (versión 8).
- Librería Tesseract ocr para php (se sugiere 'thiagoalessio/tesseract_ocr' ).
- Extensión Imagick o gd para el preprocesamiento y manejo de imágenes, crucial para optimizar la precisión del ocr.
- Librería PDFParser para la extracción directa de texto de PDFs (se sugiere 'smalot/pdfparser' ).
Funcionalidades a desarrollar:
- Detección automática del tipo de archivo (pdf o jpg).
- Fallback a ocr si la extracción inicial de pdf falla.
- Salida en formato JSON, garantizando que sea limpia, estructurada.
Entregables esperados:
- Código fuente completo y bien documentado.
- Instrucciones detalladas para la instalación y configuración de todas las librerías y dependencias necesarias (Tesseract, PDFParser, etc.).
- Un script funcional que pueda recibir rutas de archivos como entrada y devuelva el JSON resultante.
- Implementación de manejo de errores para situaciones como archivos corruptos, fallos en el proceso de OCR, etc.
Consideraciones adicionales (Plus):
- Optimización avanzada del preprocesamiento de imágenes para maximizar la precisión del OCR (magick o gd)
- Validación del JSON de salida.
Ambiente de desarrollo y ejecución:
- El script debe ser compatible y funcional en un entorno Linux, dada la compatibilidad de Tesseract.
Objetivo:
- Leer facturas de arca, tickets, formulario 931 de cargas sociales y boletas del sindicato.
- El script de php sera llamado con 2 variables: nombre del archivo (que esta alojado en una carpeta del servidor) y el tipo (1 para factura o ticket, 2 para formulario 931 y 3 para sindicato)
- El Json debe devolver:
- Fecha de factura
- tipo de factura (a, b, c, etc)
- numero factura
- cuit del proveedor
- nombre del proveedor
- importe total de la factura
- descripcion de la factura
datos similares para un ticket, los datos para el form. 931 y sindicato son mas sencillos
Se proveen datos de ejemplo
Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Cambio mediano
Plazo de Entrega: No definido
Habilidades necesarias