Convierte una carpeta de PDF escaneados en documentos buscables con OCRmyPDF
¿Tienes expedientes, facturas o actas escaneadas que no aparecen al buscar texto? Aprende a aplicar OCR en español a toda una carpeta desde Windows 11, conservar los originales y verificar el resultado con una prueba de búsqueda.
Por Equipo Starbyte
Convierte una carpeta de PDF escaneados en documentos buscables con OCRmyPDF
Tienes 40 actas escaneadas y necesitas encontrar en cuál aparece un número de expediente. Abres un PDF, pulsas Ctrl + F y el visor devuelve cero resultados, aunque puedes leer el número en la página. El archivo contiene una imagen del papel. Con OCRmyPDF puedes añadir una capa de texto buscable a una copia de cada PDF, con procesamiento local y reconocimiento en español.
Requisitos
- Windows 11 con Ubuntu en WSL. Si aún no lo tienes, ejecuta
wsl --install -d Ubuntuen PowerShell como administrador, reinicia y abre Ubuntu para completar la configuración. - Una carpeta
C:\OCR\entradacon copias de los PDF que vas a procesar. - Espacio para los archivos de salida. Los comandos siguientes se
ejecutan en Ubuntu, que ve la unidad C: como
/mnt/c.
1. Instala las herramientas y comprueba el idioma
sudo apt update
sudo apt install ocrmypdf tesseract-ocr-spa poppler-utils
tesseract --list-langs
Comprueba que en la lista aparezca spa. OCRmyPDF añade la capa de
texto, Tesseract reconoce los caracteres y pdftotext permite
comprobar qué texto quedó disponible para copiar o buscar.
2. Prueba con un PDF representativo
Renombra una copia a muestra.pdf. Elige un documento que tenga
acentos, números y al menos una página con texto pequeño.
cd /mnt/c/OCR
mkdir -p salida
ocrmypdf -l spa --output-type pdf --skip-text --rotate-pages --deskew \
"entrada/muestra.pdf" "salida/muestra.pdf"
--skip-text omite el OCR en páginas donde ya se detecta texto.
--rotate-pages corrige páginas giradas y --deskew endereza
inclinaciones leves.
3. Comprueba que puedes recuperar el dato que te interesa
Abre salida/muestra.pdf en tu visor y busca con Ctrl + F una
palabra que puedas leer en el escaneo. También puedes extraer el texto
de la primera página para revisar qué reconoció el OCR.
pdftotext -f 1 -l 1 -layout "salida/muestra.pdf" -
En un expediente, compara el número exacto con la imagen original. Una página puede ser buscable y aun así confundir un cero con la letra O. Para facturas, verifica también los importes y las fechas.
4. Procesa el resto de la carpeta
Ejecuta este bloque desde /mnt/c/OCR. Las comillas permiten nombres
con espacios y el bucle omite las salidas que ya existen.
shopt -s nullglob nocaseglob
for pdf in entrada/*.pdf; do
destino="salida/${pdf##*/}"
[[ -e "$destino" ]] && continue
if ! ocrmypdf -l spa --output-type pdf --skip-text --rotate-pages --deskew \
"$pdf" "$destino"; then
printf 'Revisar: %s\n' "$pdf" >&2
fi
done
El lote continúa si un archivo falla. Al terminar, revisa los
mensajes Revisar: y comprueba que cada PDF de entrada tenga su
correspondiente copia en salida.
Errores comunes y soluciones
- Falta el idioma
spa. Instalatesseract-ocr-spay vuelve a comprobar la lista de idiomas. - Una página tiene un encabezado buscable, pero el cuerpo sigue
siendo una imagen.
--skip-textactúa por página. Prueba--redo-ocren una copia de ese archivo, en lugar de--skip-text, y omite--deskewen esa prueba. - El PDF tiene firma digital. Conserva la versión firmada. OCRmyPDF rechaza estos archivos de forma predeterminada porque modificarlos invalida su firma.
- Las cifras salen mal. Si tienes el papel, vuelve a escanear una página de prueba a 300 ppp y compara la lectura antes de repetir el lote.
Buenas prácticas
- Conserva los escaneos originales y trata las salidas como copias de consulta. Si corriges un PDF, guarda el resultado con un nombre distinto para poder comparar ambas versiones.
- Para documentos en español e inglés, instala ambos paquetes de
idioma y usa
-l spa+eng. Prueba primero con una página bilingüe.
Documentación: Instalar WSL · Guía de OCRmyPDF · Manual de pdftotext
Idea clave
La prueba de un buen OCR es que puedas encontrar y copiar el dato que necesitas, y que ese dato coincida con el escaneo. Valida una muestra antes de procesar toda la carpeta.