OCR de PDF con capa de texto
Añade a PDF escaneados una capa OCR invisible buscable
Los archivos se procesan solo en este navegador. No se suben a ningún servidor.
Añade con OCR una capa de texto invisible a PDF escaneados para poder buscar y copiar
Este PDF está protegido con contraseña.
Seguir en otra herramienta
Procesando…
Todo se ejecuta dentro de este navegador. Tu archivo nunca se envía a un servidor.
Tu archivo está listo para descargar
Seguir con este resultado
Abrir vista previa de páginas
Confianza del 80 % o más 50–79% menos del 50 %
Al cambiar un ajuste se oculta el resultado anterior. Vuelve a generarlo para guardar los ajustes actuales.
Quita primero la contraseña de un PDF cifrado. El procesamiento se centra en el contenido de las páginas, por lo que no se garantiza conservar marcadores, adjuntos, formularios ni firmas. Conserva el original y revisa el resultado.
Procesando…
0.0
No se ha bloqueado: el resultado aparecerá cuando termine el cálculo.
Acerca de OCR de PDF con capa de texto
La herramienta trae dos motores de reconocimiento. El predeterminado, reconocimiento con IA, ejecuta en el navegador modelos de PaddleOCR mediante ONNX Runtime: PP-OCRv3 para localizar las líneas de texto y PP-OCRv5 mobile para leerlas. El reconocimiento básico usa el motor LSTM de Tesseract (tesseract.js) con los datos best_int de coreano e inglés. Ambos se descargan de este sitio y se ejecutan en tu equipo, así que el escaneo no viaja a ningún servicio de OCR.
El resultado no es una copia redibujada del PDF. El contenido de la página no se toca; cada palabra reconocida se añade encima, en su posición original, con el modo de renderizado de texto 3 de PDF, el que no rellena ni traza los glifos. Sigues viendo el escaneo, pero el visor usa esa capa oculta para buscar, seleccionar, copiar y para los lectores de pantalla.
Los dos motores leen la página de forma distinta
Tesseract analiza primero la maquetación de toda la página —bloques, párrafos, líneas— y después pasa cada línea a una red LSTM que devuelve la cadena de caracteres. Desde la versión 4.0 ese reconocedor neuronal de líneas es el predeterminado y sustituyó al antiguo clasificador de caracteres. Tesseract espera una imagen binarizada, así que antes de enviársela la herramienta aplana el fondo, aplica el umbral adaptativo de Sauvola y elimina motas. También le indica la resolución con user_defined_dpi para que no tenga que adivinar el tamaño de la letra.
La vía de PaddleOCR empieza con un detector DB (Differentiable Binarization) que genera un mapa con la probabilidad de que cada píxel sea texto. De ese mapa salen los recuadros de línea; cada línea se recorta y se escala a 48 píxeles de alto, y el reconocedor emite la cadena completa con decodificación CTC, sin tener que decidir dónde acaba cada letra. Las redes neuronales leen mejor los bordes suaves, por eso con la limpieza activada esta vía recibe una imagen en grises con el fondo aplanado, no una en blanco y negro.
El detector de IA mira la página reducida a 1600 píxeles en el lado largo. Subir los DPI casi no cambia dónde se encuentran las líneas; lo que mejora es la nitidez de cada línea recortada, que es donde se decide la precisión.
Por qué 300 DPI es el valor por defecto
La documentación de Tesseract afirma que funciona mejor con imágenes de al menos 300 DPI. Lo que cuenta de verdad es cuántos píxeles recibe cada carácter. A 200 DPI una línea de 10 puntos mide unos 28 píxeles de alto: suficiente para mayúsculas, pero justo para las tildes, la diéresis y la virgulilla, que ocupan unos pocos píxeles sobre la letra. Ahí es donde aparecen «publico» por «público» o «ano» por «año», errores que cambian el sentido.
Las opciones son 200, 300 y 400 DPI, y se parte de 300. Usa 400 para notas al pie, tickets y cualquier cosa por debajo de 8 puntos. Ten en cuenta que el ajuste solo controla cómo se renderiza la página para reconocerla: si el escaneo dentro del PDF se hizo a 150 DPI, renderizarlo a 400 agranda píxeles sin añadir detalle. Si pasar de 300 a 400 no cambia nada, has llegado al límite del escaneo original. Además el renderizado se detiene en 7000 píxeles de lado largo, así que los planos de gran formato se leen por debajo de los DPI elegidos.
Elegir idioma es elegir modelo
El reconocimiento con IA descarga un modelo por familia de escritura, una sola vez. Al elegir español se usa un modelo latino compartido (unos 7,7 MB) que también cubre francés, alemán, portugués y lenguas afines, con ñ, ç, acentos y diéresis. El coreano (unos 12,8 MB) lee además inglés y cifras, y el japonés usa un modelo CJK (unos 15,8 MB) que también lee caracteres chinos.
El reconocimiento básico solo incluye datos de coreano e inglés y no se ejecuta con español. Un documento en español debe ir por la vía de IA; con datos de inglés, cada tilde se forzaría a la letra sin acento más parecida.
Cómo decide si una página ya tiene texto
«Omitir páginas que ya tienen texto suficiente» no se salta cualquier página con algo de texto. Los escáneres suelen estampar el nombre del archivo o el número de página, y con una regla tan simple quedarían páginas escaneadas enteras sin reconocer. Solo cuenta como cubierta la página con al menos 80 caracteres cuyos recuadros ocupen al menos el 1 % de su superficie.
Aun así la herramienta comprueba algo más: renderiza la página a unos 100 DPI y busca tinta con forma de letra fuera de los recuadros de texto existentes, como una captura pegada en un documento de Word. Si hay mucha, la página se reconoce igualmente. Si una página ya tiene una capa OCR oculta de una pasada anterior, esa capa se elimina y se sustituye, para que la búsqueda no encuentre cada palabra dos veces.
Documentos que siguen dando problemas
La escritura a mano: ambos motores se entrenaron sobre todo con texto impreso, y las anotaciones en un formulario darán poco aprovechable. Los sellos sobre el texto, el subrayador intenso y los certificados con fondos de guilloché también bajan la precisión. El japonés vertical no se lee en la vía de IA, porque los recuadros altos y estrechos se descartan como líneas de tabla.
Conviene enderezar primero los escaneos torcidos con el modo de corrección de inclinación de la herramienta de mejora de escaneos. La detección trabaja con recuadros horizontales y basta una inclinación de tres o cuatro grados para que las líneas largas se mezclen con las de arriba y abajo.
Ejemplos
Presupuesto de píxeles para un A4 a 300 DPI
- Entrada
A4 (595×842 pt), 300 DPI- Resultado
Unos 2480×3508 px; texto de 10 pt de unos 42 px
La escala es 300 ÷ 72 ≈ 4,17: 595 × 4,17 ≈ 2480 y 842 × 4,17 ≈ 3508. Una línea de 10 puntos pasa a unos 42 px, vez y media los 28 px que tiene a 200 DPI.
Página escaneada con solo el número de página como texto
- Entrada
Página de imagen con una línea «- 3 -»; opción de omitir activada- Resultado
Se reconoce, no se omite
Menos de 8 caracteres cuenta como sin capa de texto y menos de 80 como capa escasa. Ambos casos se reconocen.
Revisar con los colores de la vista previa
- Entrada
Confianza media 88 %, algunos recuadros rojos- Resultado
Cotejar con el escaneo solo las palabras rojas (menos del 50 %)
Verde es 80 % o más; ámbar, 50–79 %. Una media alta puede esconder un NIF o un importe mal leído, así que revisa siempre cifras y nombres en rojo.
Cómo se usa
- Añade el PDF escaneado; primero se indican las páginas que ya tienen texto.
- Elige motor, idioma del documento, resolución (300 DPI por defecto) y rango de páginas.
- Ejecuta y revisa en la vista previa los recuadros de palabras y la confianza media.
- Descarga el PDF con capa de texto y el .txt, y prueba una búsqueda en tu visor.
Preguntas frecuentes
El texto copiado tras el OCR tiene espacios raros.
La capa oculta se coloca palabra a palabra y el visor deduce los espacios a partir de los huecos al copiar. Cada visor lo hace a su manera. Si necesitas el texto exacto, usa el .txt exportado.
¿Por qué no puedo usar el reconocimiento básico con español?
Los datos de Tesseract incluidos son solo de coreano e inglés. Para español, elige reconocimiento con IA, que usa el modelo de escritura latina.
El archivo apenas ha crecido. ¿Ha funcionado?
Una capa de texto son solo códigos de carácter y coordenadas, y la fuente incrustada (Noto Sans JP si se reconoce japonés, Noto Sans KR en los demás casos) se reduce a los glifos usados. Si Ctrl+F encuentra palabras, la capa está ahí.
¿Es lo mismo que «Hacer que se pueda buscar» de Acrobat?
La idea es la misma: una capa invisible sobre la imagen. Esta herramienta no modifica la imagen visible, así que no endereza ni limpia el escaneo; para eso usa antes la herramienta de mejora de escaneos.
Guías relacionadas
Fuentes
- Tesseract documentation — Improving the quality of the output
- Tesseract documentation — Neural nets in Tesseract 4.00 (LSTM)
- PaddleOCR — PP-OCRv5 introduction
- Liao et al. — Real-time Scene Text Detection with Differentiable Binarization (DB, AAAI 2020)
- ISO 32000-1:2008 (PDF 1.7) — 9.3.6 Text Rendering Mode
- tesseract.js
Revisado el: