Caso

Pasador de informes: extracción masiva de datos de PDFs a Excel para control de calidad

Aplicación de escritorio (Tkinter) con procesamiento en lote multihilo que extrae automáticamente datos técnicos de informes de laboratorios de hormigón en PDF a hojas de Excel mediante motores personalizados por proveedor.

live jul 2026 public
Portada del caso Pasador de informes: extracción masiva de datos de PDFs a Excel para control de calidad

Paso 01

Problema

Cada laboratorio de ensayos de hormigón (Horysu, ICEC, LTE, Torralba...) envía informes en PDF con formatos radicalmente distintos. Extraer manualmente los valores de resistencia, relación A/C, cemento y asentamiento implicaba abrir y transcribir cada documento a mano. Con cientos de informes por lote, la tarea era inviable y propensa a errores de digitación.

Paso 02

Contexto y restricciones

Para optimizar la carga histórica y las auditorías de calidad en AW Certificación, se requería una herramienta robusta y offline que permitiera procesar lotes masivos de PDFs rápidamente, respetando la estructura de datos original de cada proveedor y manteniendo la confidencialidad de la información local.

Rol: Desarrollo integral de la aplicación de escritorio: diseño de la interfaz gráfica con soporte para arrastrar y soltar (TkinterDnD), implementación de 7 motores independientes basados en expresiones regulares, gestión de concurrencia multihilo para evitar congelamientos de la UI y empaquetado autónomo en .exe.

Paso 03

Decisiones clave

  • Migrar de scripts en la nube a una aplicación de escritorio Windows (.exe) offline para procesar localmente los informes sin subir datos de clientes a la red.
  • Estructura multihilo (Threading) que separa el procesamiento en lote del hilo principal de la interfaz para que el usuario pueda ver el progreso y cancelar la tarea en cualquier momento sin bloqueos.
  • Uso de expresiones regulares robustas ajustadas por laboratorio para aislar los campos clave como albarán, cemento, relación A/C y resistencias de probetas.
  • Diseño de un selector desplegable intuitivo en la UI para elegir el motor de extracción adecuado al lote de informes cargados.
  • Empaquetado offline con PyInstaller incluyendo el icono del programa y dependencias empaquetadas sin necesidad de preinstalar Python o librerías externas.

Paso 04

Resultados

  • Procesamiento de decenas de informes en lote en cuestión de segundos, reduciendo jornadas enteras de transcripción a un solo clic.
  • 7 motores de extracción integrados que cubren los principales formatos del sector (Horysu, ICEC, LTE/Horpresol, Torralba, etc.).
  • Exportación limpia y automatizada a un único archivo Excel consolidado con todos los datos clave extraídos por columna.

Métricas

  • 7 laboratorios y formatos soportados en un único ejecutable.
  • Procesamiento masivo multihilo offline en segundos por lote.
  • Cero dependencias externas de red: funciona 100% local.
  • Censura digital física e irreversible de datos sensibles en PDFs de muestra.

Paso 05

Aprendizajes y próxima mejora

Arquitectura de la Aplicación

La aplicación se diseñó pensando en la usabilidad en oficinas técnicas y la velocidad de extracción local:

PDFs → [Tkinter GUI / Drop Area] → [Hilo de Procesamiento] → [Motores Regex por Laboratorio] → Excel

1. Interfaz de Usuario Intuitiva

  • Drag-and-Drop: Permite arrastrar carpetas o archivos PDF directamente a la ventana para listarlos e iniciar el procesamiento.
  • Menú Desplegable de Selección: El usuario puede seleccionar el motor de extracción correspondiente al formato del lote a procesar (ej. LTE, ICEC, Horysu).
  • Consola de Logs en Tiempo Real: Muestra el progreso detallado de la lectura, archivos omitidos, errores y confirmación del guardado de Excel.

2. Procesamiento Seguro y Multihilo

  • La extracción se ejecuta en un hilo secundario independiente. De este modo, la interfaz gráfica sigue respondiendo a las acciones del usuario, permitiendo cancelar el proceso si es necesario.
  • Todas las llamadas de diálogos y confirmaciones de guardado se enrutan de forma segura mediante self.after para evitar condiciones de carrera o congelamiento de la interfaz.

Descargas y Recursos de Prueba

⚠️ IMPORTANTE — Esto no es un fallo del programa

La aplicación no inventa datos. Si ves campos vacíos en el Excel — como conos de asentamiento, contenido mínimo de cemento o cualquier otra celda — es porque el PDF original que nos enviaron no contenía ese dato. El programa extrae fielmente lo que hay en el informe, ni más ni menos. Esto incluye también errores humanos en los PDFs originales, como el caso de "HA‑30/F/16/XD2/HIDROFUGO" (designación escrita junto por error en el informe original); la aplicación lo refleja exactamente como se envió.

La herramienta funciona correctamente y te ayuda precisamente a detectar estas inconsistencias en los informes que recibes.

Puedes probar el funcionamiento de la aplicación descargando el ejecutable y el lote completo de pruebas censurado:

📖 Instrucciones de la Demostración

  1. Descarga y extrae los PDFs del archivo .zip anterior.
  2. Abre la aplicación de escritorio Pasador de Informes.
  3. En el selector desplegable de la UI, selecciona el motor “LTE (Horpresol)” (es crítico seleccionar este motor ya que las plantillas de prueba siguen este formato específico; otros motores no interpretarán los campos correctamente).
  4. Arrastra los PDFs de prueba a la zona verde de la aplicación y haz clic en PROCESAR Y GUARDAR EXCEL.

Nota sobre Confidencialidad y Censura

Por motivos de estricta confidencialidad empresarial, los informes reales de clientes no pueden distribuirse. Para solucionar esto y permitir la prueba real del software, se proporciona un paquete de 49 informes de ensayo en formato PDF en los cuales se ha ejecutado un script de redacción y censura física.

Este proceso elimina de forma irreversible los flujos de texto que contienen nombres de empresas, técnicos, direcciones y referencias específicas de obras en el archivo interno del PDF y los sustituye por bandas negras, preservando la maquetación del laboratorio y los datos numéricos de los ensayos para demostrar la precisión de la automatización.

Paso 06

Recurso visual del proyecto Pasador de informes: extracción masiva de datos de PDFs a Excel para control de calidadRecurso visual del proyecto Pasador de informes: extracción masiva de datos de PDFs a Excel para control de calidad