Skip to content

Carlosff02/captura-ocr-python

Repository files navigation

OCR + Indización de PDFs

Proyecto para extraer nombres desde PDFs (primera página) utilizando TrOCR y subir los resultados a PostgreSQL.

Resumen

  • Extrae texto de la primera página de PDF, aplica limpieza (eliminación de líneas) y correcciones con regex, e inserta/actualiza la indización en la base de datos.
  • Modelo OCR: microsoft/trocr-large-printed.

Requisitos

Instalación rápida

  1. Crear y activar un entorno virtual:
python -m venv .venv
.venv\Scripts\activate  # Windows
  1. Instalar dependencias:
pip install -r requirements.txt
# Instale torch adecuado para su entorno (CPU/GPU) según https://pytorch.org
pip install torch
  1. Copiar y editar variables de entorno:
copy .env.example .env
# editar .env con credenciales DB

Variables de entorno (ejemplo en .env.example)

  • DB_HOST - Host de la base de datos
  • DB_NAME - Nombre de la base de datos
  • DB_USER - Usuario
  • DB_PASSWORD - Contraseña
  • DB_PORT - Puerto (por defecto 5432)

Esquema de base de datos Se incluyen instrucciones en schema.sql para crear las tablas mínimas documento e indizacion.

Uso

  1. Editar ocr.py si desea cambiar prefijos o la carpeta por procesar.
  2. Ejecutar el script:
python ocr.py

Notas

  • Por defecto el script procesa sólo la primera página de cada PDF.
  • La indización usa metadataid=3. Cambia si tus metadatos difieren.
  • Ajusta recorte_nombre dentro de OCRProcessor para cambiar la zona recortada.

Mejoras sugeridas

  • Añadir soporte para procesar todas las páginas.
  • Añadir CLI para especificar carpeta/prefijos por argumento.
  • Registrar métricas y manejar fallos/reintentos.

Soporte Si necesitas ayuda adicional para adaptar, integrar en pipelines o pruebas, puedo ayudarte.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages