OCR · Por lotes
OCR a una carpeta de PDFs
Tienes una carpeta entera de escaneos y reconocerlos uno por uno sería interminable. Un bucle en la terminal pasa OCRmyPDF por todos los PDFs de golpe, deja los originales intactos y todo ocurre en tu computadora sin subir nada.
1. Instala OCRmyPDF
Se instala una sola vez y queda para siempre. Es gratis y de código abierto:
# macOS (Homebrew) — incluye Tesseract y el idioma español
brew install ocrmypdf
# Ubuntu / Debian — agrega el paquete de español
sudo apt install ocrmypdf tesseract-ocr-spa
Si nunca has usado la terminal, empieza por la guía de la terminal.
2. El comando exacto
Coloca todos los PDFs en una carpeta, abre la terminal ahí y ejecuta esto. Recorre cada archivo y lo procesa, guardando el resultado con el prefijo ocr_:
for f in *.pdf; do ocrmypdf -l spa "$f" "ocr_$f"; doneCada documento sale como ocr_nombre.pdf, buscable, mientras que los originales se quedan sin tocar. Funciona en la terminal de macOS y Linux.
Añadir limpieza o compresión al lote
El bucle admite las mismas banderas que un solo archivo, así que puedes enderezar y optimizar toda la carpeta de una vez:
for f in *.pdf; do ocrmypdf -l spa --deskew --optimize 3 "$f" "ocr_$f"; doneSi un documento del lote ya tenía texto y OCRmyPDF lo salta, añade --skip-text para que continúe con los demás en lugar de detenerse. Para un solo archivo, está la tarea Hacer buscable un PDF escaneado.
Tareas relacionadas
Preguntas frecuentes
¿Se modifican mis archivos originales?
No. El bucle escribe cada resultado en un archivo nuevo con el prefijo ocr_, así que los PDFs de partida se conservan exactamente como estaban. Si algo no te convence del resultado, siempre tienes el original intacto para volver a intentarlo.
¿Qué pasa si un PDF del lote ya tiene texto?
Por defecto OCRmyPDF se detiene en ese archivo para no duplicar la capa de texto, lo que cortaría el bucle. Para que siga adelante con el resto, añade --skip-text (omite los que ya tienen texto) o --redo-ocr (rehace el reconocimiento desde cero) según lo que necesites.