Este proyecto es un script en Python diseñado para extraer texto de archivos PDF e imágenes, utilizando OCR (Reconocimiento Óptico de Caracteres) con Tesseract. Además, es capaz de manejar archivos individuales o carpetas completas, optimizando el rendimiento mediante procesamiento paralelo.
- Extracción de texto de PDFs: Utiliza PyMuPDF (fitz) para obtener texto embebido.
- OCR en Imágenes: Aplica OCR a imágenes extraídas de PDFs o proporcionadas directamente.
- Procesamiento paralelo: Maneja múltiples imágenes al mismo tiempo para mejorar la velocidad.
- Preprocesamiento de imágenes: Mejora los resultados del OCR mediante escalas de grises, aumento de contraste, y binarización.
- Soporte para múltiples idiomas: Configurable para español e inglés por defecto.
- Python 3.x
- Tesseract OCR instalado en el sistema
- Dependencias listadas en
requirements.txt
En sistemas basados en Arch Linux (como EndeavourOS), instala Tesseract con:
sudo pacman -S tesseract tesseract-data-eng tesseract-data-spa
En sistemas basados en Ubuntu, instala Tesseract con:
sudo apt update
sudo apt install tesseract-ocr tesseract-ocr-eng tesseract-ocr-spa
El archivo config.py contiene parámetros globales que puedes ajustar:
DEFAULT_LANGUAGE = 'spa+eng' # Idioma predeterminado para OCR DEFAULT_OUTPUT_FOLDER = 'output/' # Carpeta donde se guardarán los resultados
- Configura un entorno virtual (opcional pero recomendado):
python -m venv env
source env/bin/activate # En Linux/MacOS
env\Scripts\activate # En Windows
- Instala las dependencias:
pip install -r requirements.txt
- Ejecuta el script:
python main.py
- Sigue las instrucciones en pantalla para seleccionar un archivo o carpeta para procesar.
- Los textos extraídos se guardan en la carpeta configurada en DEFAULT_OUTPUT_FOLDER (por defecto output/).
- Puedes personalizar el nombre del archivo de salida.
- Error de "ModuleNotFoundError": Asegúrate de que todas las dependencias estén instaladas:
pip install -r requirements.txt
- Tesseract no funciona: Verifica que Tesseract esté correctamente instalado y configurado en tu sistema.
Este proyecto está bajo la Licencia MIT. Puedes consultarla en el archivo LICENSE.
¡Las contribuciones siempre son bienvenidas! Si tienes ideas, mejoras o encuentras errores, por favor abre un issue o envía un pull request.