Intermedio 12 minVisión

Tesseract OCR: leer un documento escaneado en local (guía francés)

Respuesta directa

Tesseract es el motor libre de referencia para OCR (Apache 2.0, más de 70.000 estrellas en GitHub, versión 5.5.3 en 2026): gratuito, sin conexión, disponible en cualquier lugar, y su precisión depende mucho más de la calidad de la imagen —resolución, corrección de la inclinación, contraste— que de sus propios ajustes. Con texto limpio sigue siendo rápido y fiable; con una maquetación compleja o un documento ligeramente inclinado, su precisión puede desplomarse de golpe.

Un PDF escaneado no contiene texto: es una imagen de texto. Mientras no se haya sometido a reconocimiento óptico, se indexa sin contenido y el asistente documental asegura que el documento no dice nada. Tesseract es el motor de software libre de referencia para este paso: gratuito, sin conexión, disponible en todas partes y mucho más dependiente de la calidad de la imagen que de sus propios ajustes.

Por Mohamed Meguedmi·Actualización 2026-09-29·Probado en Windows, macOS y Linux

#Qué es Tesseract y qué no es

Tesseract es un motor de reconocimiento óptico de caracteres publicado bajo licencia Apache 2.0. El repositorio oficial, descrito por sus mantenedores como el «Tesseract Open Source OCR Engine», supera actualmente las 70.000 estrellas en GitHub. La versión 4 le añadió un motor basado en redes neuronales LSTM, centrado en el reconocimiento de líneas; el motor histórico, que reconoce patrones de caracteres, sigue disponible como opción. Lee formatos de imagen comunes (PNG, JPEG, TIFF) y produce texto sin formato, hOCR, PDF o TSV. La última versión estable hasta la fecha, la 5.5.3, salió el 24 de julio de 2026. En la práctica: instala el archivo de idioma, cuida la imagen (300 puntos por pulgada, página bien alineada, contraste nítido), elige el modo adecuado de segmentación y luego verifica el resultado en unas veinte páginas antes de procesar un lote.

Lo que no es: una herramienta de comprensión de documentos. Genera texto, posiblemente con posiciones. No dice que un bloque sea un título, no reconstruye una tabla en filas y columnas, y no entiende lo que lee. Para un documento estructurado, el OCR es solo una pieza entre otras.

#El francés: el archivo de idioma

El kit de IA Local

Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.

  • Espacio en línea de por vida
  • PDF + archivos
  • Reembolsado 30 j

Por defecto, Tesseract lee inglés. En un documento francés, eso se traduce en acentos perdidos y palabras aproximadas, y muchas personas concluyen que el motor es deficiente. La documentación especifica que sin la opción -l se asume el inglés. Por tanto, hay que instalar el archivo de datos del idioma y especificar ese idioma explícitamente al ejecutar el programa. El proyecto afirma que reconoce más de cien idiomas una vez instalados los paquetes adecuados.

Reconocimiento de un documento escaneado en francés
# Debian/Ubuntu : installer les données françaises
sudo apt install tesseract-ocr tesseract-ocr-fra

# macOS (Homebrew) : le moteur puis les langues supplémentaires
brew install tesseract tesseract-lang

# Reconnaître une image en français, sortie texte
tesseract scan.png sortie -l fra

# Plusieurs langues dans le même document
tesseract scan.png sortie -l fra+eng

# Sortie PDF avec couche de texte interrogeable
tesseract scan.png sortie -l fra pdf
i
Un PDF no es una imagen
Tesseract espera imágenes. Al procesar una imagen, añadir pdf al final del comando genera un PDF con una capa de texto en la que se pueden realizar búsquedas. Para un PDF escaneado de varias páginas, una herramienta como OCRmyPDF, que se basa en Tesseract, rasteriza las páginas y luego añade la capa de texto al documento.

#La calidad de la imagen lo es todo

Este es el punto que se descubre demasiado tarde: la documentación oficial dedica su página «Improve quality» al procesamiento de la imagen antes de abordar los ajustes del motor. Tesseract ya realiza operaciones internas (biblioteca Leptonica), pero no siempre bastan, y un preprocesamiento de unas pocas líneas suele bastar para hacer legible un escaneo mediocre. Koncile, una empresa de software de extracción de facturas, ilustra la magnitud del fenómeno en sus propias pruebas, publicadas en 2026: en una factura inclinada apenas entre tres y cinco grados, la tasa de lectura correcta pasa del 100 % al 31 %. No es un estudio independiente, pero el orden de magnitud coincide con la advertencia de la documentación oficial. Ningún ajuste del motor puede compensar una caída así; solo una corrección previa de la inclinación puede hacerlo.

Resolución
La documentación oficial indica que Tesseract funciona mejor con imágenes de al menos 300 puntos por pulgada, y sugiere redimensionar en caso contrario.
Enderezado
La documentación advierte que la calidad de la segmentación por líneas disminuye notablemente cuando la página está demasiado inclinada: hay que girar la imagen para que las líneas sean horizontales. Ver el número de arriba.
Contraste y binarización
Tesseract binariza internamente (algoritmo de Otsu), con resultados a veces mediocres cuando el fondo tiene una tonalidad desigual. La versión 5.0 añadió dos métodos, Adaptive Otsu y Sauvola, ajustables mediante los parámetros thresholding_*. Para un motor de versión 4 o superior, se necesita texto oscuro sobre fondo claro.
Bordes
Los márgenes muy amplios dificultan el funcionamiento del motor, pero también lo hace un recorte demasiado ajustado del texto: la documentación recomienda añadir un pequeño borde blanco (10 píxeles en su ejemplo) alrededor de un fragmento sin margen.
  1. 01
    Enderezar la página
    Detectar el ángulo dominante del texto y girar la imagen antes de todo lo demás; un simple script basado en la transformada de Hough basta para la mayoría de los escáneres de oficina.
  2. 02
    Mejorar el contraste
    Convertir a escala de grises y luego binarizar (aplicar un umbral adaptativo en lugar de uno fijo, que falla con una iluminación desigual) para obtener negro puro sobre blanco puro.
  3. 03
    Recortar y ejecutar el OCR
    Eliminar los bordes del escáner y los grandes márgenes vacíos, dejar un fino borde blanco alrededor del texto y luego llamar a Tesseract con el idioma y el modo de segmentación adecuados al tipo de documento tratado.

#Los ajustes que cambian el resultado

Las opciones que hay que conocer
OpciónPara qué sirveCuándo modificarla
Modo de segmentación de página (--psm)Indica al motor cómo está organizada la página: bloque único, columna, línea aislada (7), texto disperso (11)En un ticket, una etiqueta, una columna estrecha o un pequeño recorte: el modo predeterminado espera una página entera
Modo del motor (--oem)1: solo la red neuronal LSTM; 0: motor históricoRaramente: los archivos de idioma de los paquetes Linux comunes (tessdata_fast) solo manejan LSTM, y los modos 0 y 2 no funcionan con ellos
Lista de caracteres permitidos (tessedit_char_whitelist)Limita el reconocimiento a un subconjunto de caracteresEn un campo puramente numérico, para reducir las confusiones entre letras y cifras
Diccionarios (load_system_dawg, load_freq_dawg)Dos variables que activan las listas de palabras del motorEn recibos, listas de precios y códigos: desactivarlos puede ayudar cuando la mayor parte del texto no está compuesta por palabras comunes

El modo de segmentación es el ajuste que más a menudo se olvida. La documentación lo recuerda: por defecto, Tesseract espera una página de texto, y para leer una zona pequeña hay que elegir otro modo. En una imagen que contiene una sola línea, el modo 7 la trata como una línea única. Para texto disperso sin un orden particular —una captura de pantalla con etiquetas repartidas por distintas zonas—, el modo correspondiente evita el mismo problema. El modo del motor, por su parte, rara vez cambia el resultado, por una razón práctica: el motor antiguo solo está presente en los archivos de idioma del repositorio tessdata, no en las variantes rápidas o precisas que incluyen la mayoría de las distribuciones.

Con texto impreso limpio y bien encuadrado, Tesseract sigue siendo competitivo: FastOCR, un servicio de OCR en línea que vende una alternativa en la nube, indica una precisión del 95 al 97,2 % para Tesseract v5 con texto inglés limpio, frente a una precisión del 98,2 al 99,1 % para Google Cloud Vision. Son cifras de una parte interesada, sin un protocolo publicado: tómalas como un orden de magnitud, no como una medición. La elección del motor debería basarse en la naturaleza real de los documentos: si están limpios y son impresos, Tesseract basta de sobra; si están dañados, son manuscritos o tienen una estructura densa, se convierte en el eslabón débil de la cadena.

#Tesseract o un modelo de visión

Dos familias, dos usos
CriterioTesseractModelo de visión local
RecursosSolo procesadorGPU deseable, varios gigaoctetos
VelocidadMuy rápidoMucho más lento
Texto limpio en una columnaExcelenteEquivalente, más caro
Diseño complejo, tablasBaja: la documentación del proyecto reconoce un problema conocido con las tablasMucho mejor
Escritura manuscritaMuy bajo: 25 a 40 % según FastOCRSignificativamente mejor
Comprensión del contenidoNingunaPuede responder a una pregunta sobre el documento
Riesgo de invenciónBajo: confunde caracteres en lugar de generar valoresReal: un modelo puede alucinar un valor plausible

Esta última línea es importante para cualquier control documental: Tesseract se equivoca al confundir caracteres, mientras que un modelo de visión puede generar un número perfectamente formado pero falso. La diferencia no es absoluta, porque un 0 leído como un 8 en un importe tampoco se detecta, pero un texto aberrante delata con más frecuencia a un motor de OCR que un valor plausible inventado. Una comparativa publicada en 2026 resume cómo ha cambiado el panorama: las verdaderas alternativas ya no son motores OCR clásicos, sino modelos de visión y lenguaje de código abierto, y menciona expresamente PaddleOCR-VL entre ellos. Esto tiene un coste como contrapartida, ya que estos modelos requieren una GPU, mientras que Tesseract se conforma con un procesador corriente.

#El verdadero costo de un proyecto Tesseract

El motor en sí no cuesta nada, lo que a menudo oculta a qué se dedica realmente el tiempo de un proyecto OCR. El verdadero trabajo está en las tareas que rodean al motor: preprocesamiento de imágenes (corrección de la inclinación, binarización, bordes) y verificación del resultado. Un presupuesto realista reserva tiempo para estas dos etapas desde el principio, en lugar de descubrir su necesidad tras un primer lote de resultados decepcionantes.

Escáner o foto tomada con el teléfono
Un escáner plano produce páginas más rectas y mejor iluminadas que una foto tomada a pulso; priorizar el escáner siempre que el volumen lo justifique.
Formato de salida
El texto en bruto basta para la indexación; el formato hOCR conserva las posiciones, lo que resulta útil para resaltar un fragmento en la interfaz original.
Control de calidad
Una muestra revisada manualmente después de cada cambio de fuente de escaneo permite detectar una desviación antes de que afecte a todo el lote.
Volumen y paralelización
Tesseract es multihilo por defecto (OpenMP), lo cual no es adecuado para grandes lotes. La sección de preguntas frecuentes del proyecto recomienda lanzar un proceso por núcleo con la variable OMP_THREAD_LIMIT=1, que elimina el sobrecoste del multihilo.

Un último aspecto que suele olvidarse: cómo nombrar los archivos generados. Cuando hay varios miles de páginas, hay que poder identificar qué texto corresponde a qué escaneo; conservar el mismo nombre base para la imagen y el texto reconocido resuelve el problema desde el principio.

#Insertarlo en una cadena local

En una instalación documental local, Tesseract interviene en un solo punto: justo antes de la indexación, en los documentos que carecen de capa de texto. La prueba que hay que automatizar es sencilla: si la extracción de texto de un PDF devuelve menos de unas pocas decenas de caracteres por página (umbral que debes ajustar según tu corpus), probablemente se trate de un documento escaneado y se envía al OCR. Sin esta prueba, documentos enteros entran vacíos en el índice sin que nadie lo advierta, hasta que un usuario se extraña.

La corrección de la inclinación y la binarización deberían automatizarse en este mismo pipeline en lugar de decidirse página por página: un script que detecta el ángulo dominante y corrige la inclinación antes de llamar al motor evita buena parte de las sorpresas desagradables descritas más arriba. En un lote homogéneo —siempre el mismo escáner, el mismo tipo de documento— este preprocesamiento se configura una vez y luego funciona sin supervisión.

→
Medir antes de optimizar
Antes de hacer cualquier ajuste, preparar un pequeño lote de veinte a treinta páginas representativas del corpus real y anotar la tasa de error antes y después de cada cambio. Es la única forma de saber si la corrección de la inclinación, la binarización o un cambio en el modo de segmentación ha ayudado realmente con tus documentos y no solo con un ejemplo aislado.

#FAQ

¿Tesseract es gratuito?+
Sí, es software libre bajo la licencia Apache 2.0, que puede utilizarse comercialmente sin pagar regalías y funciona sin conexión, sin coste por página ni clave de API. El repositorio oficial supera las 70.000 estrellas en GitHub, señal de una base de usuarios amplia y de un proyecto que sigue manteniéndose activamente en 2026, con una versión estable publicada en julio.
¿Cómo hacerle leer francés?+
Al instalar el archivo de datos del francés y pedirlo explícitamente al hacer la llamada, con la opción -l fra. Sin ello, el motor lee en inglés y malinterpreta los acentos, transformando un «é» en un carácter aproximado. Se pueden combinar varias lenguas al mismo tiempo, por ejemplo fra+eng para un documento bilingüe.
¿Por qué mi resultado es ilegible?+
Lo más frecuente es que se deba a la calidad de la imagen: resolución insuficiente, página inclinada, contraste bajo. Un documento inclinado solo entre tres y cinco grados puede reducir la tasa de lectura del 100 % a aproximadamente el 31 % en las pruebas del desarrollador Koncile. Enderezar, binarizar y buscar una resolución de 300 puntos por pulgada suele aportar más que los ajustes del motor.
¿Sabe Tesseract leer tablas?+
Devuelve el texto, no la estructura, y la documentación oficial menciona un problema conocido con tablas sin segmentación personalizada. Las filas y columnas se pierden, y un importe puede acabar asociado a la etiqueta incorrecta. Para las tablas, se necesita una herramienta de análisis de la disposición de la página como PaddleOCR o un modelo de visión capaz de reconstruir las celdas antes de confiar en las cifras extraídas.
¿Se debe preferir un modelo de visión?+
En diseños complejos o en escritura manuscrita, sí: FastOCR, un servicio competidor, sitúa a Tesseract v5 entre un 25 y un 40 % de precisión en manuscritos, cifra que debe tomarse con precaución. En texto impreso limpio, Tesseract sigue siendo más rápido, más ligero y genera menos valores plausibles: confunde caracteres, mientras que un modelo puede producir un valor falso pero creíble.
¿Qué es el modo de segmentación de página?+
Un ajuste que indica al motor la forma del documento antes de leerlo: página completa, columna única, línea aislada, palabra aislada o texto disperso sin un orden particular. Es el primer ajuste que hay que cambiar cuando un recorte que claramente contiene texto no devuelve nada. Añadir un borde blanco fino alrededor de un fragmento recortado demasiado cerca del texto también ayuda, según la documentación.
¿Cómo hacer que se puedan realizar búsquedas en un PDF escaneado con Tesseract?+
Para una imagen, añade pdf al final del comando: Tesseract genera un PDF con una capa de texto oculta. Para un PDF de varias páginas, utiliza OCRmyPDF, que se basa en Tesseract, rasteriza las páginas y luego añade esta capa al documento. En ambos casos, indica el idioma con -l fra, de lo contrario se asume inglés y se pierden los acentos.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.