OCR PDF
Haz que un PDF escaneado o una foto se puedan buscar con el reconocimiento de texto OCR, y obtén su texto como archivo .txt, en tu navegador.
Tu archivo no se sube. El OCR descarga su motor y los datos del idioma. Cómo comprobarlo
Cómo usar la herramienta OCR PDF
Funciones principales de la herramienta OCR PDF
Cada página se dibuja en un lienzo con pdf.js y la lee un worker de tesseract.js (Tesseract compilado a WebAssembly). El motor y los datos del idioma se descargan una vez desde una CDN; el documento en sí nunca sale de tu navegador.
Cada palabra reconocida se escribe sobre su posición con pdf-lib en el modo de renderizado de texto 3, así que la página se ve igual, pero puedes buscar, seleccionar y copiar el texto en cualquier visor de PDF.
Un JPG o PNG se envuelve primero en un PDF de una página y luego se reconoce de la misma forma, así que una foto también se convierte en un PDF en el que se puede buscar.
Las palabras reconocidas también llenan un cuadro editable bajo el resultado, una línea por cada línea reconocida, con una línea en blanco entre párrafos y una línea --- Page N --- antes de cada página de un archivo más largo. Descargar texto (.txt) guarda el cuadro tal cual, correcciones incluidas.
Acerca de la herramienta OCR PDF
OCR PDF rasteriza cada página hasta el doble de su tamaño (unos 144 DPI en A4 o Carta) con pdf.js, entrega el mapa de bits a un Web Worker de tesseract.js, y dibuja cada palabra reconocida de nuevo sobre su posición en Helvetica como texto invisible. Las palabras con una puntuación de confianza inferior a 40 sobre 100 se descartan en lugar de adivinarse. La imagen de la página en sí se deja exactamente igual.
Resulta útil para un contrato escaneado en el que necesitas buscar, un recibo fotografiado del que quieres copiar cifras, o un informe antiguo que llegó como imágenes de página. Dos límites: la capa de texto usa Helvetica, así que las palabras con caracteres fuera de su rango WinAnsi (por ejemplo, alfabetos no latinos) se omiten; y un escaneo borroso, torcido o de bajo contraste se reconocerá solo en parte.
Cuándo usar la herramienta OCR PDF
Una carpeta de cartas escaneadas o facturas de proveedores que quieres archivar: pasa cada archivo por el OCR antes de guardarlo, y las herramientas de búsqueda del escritorio que indexan el texto de los PDF podrán encontrarlo después por un nombre, una fecha o un número de factura.
Un escaneo cuyas palabras necesitas en otro programa: reconoce el texto aquí, corrígelo en el cuadro que aparece bajo el resultado y haz clic en Descargar texto (.txt) o en Copiar al portapapeles. Si prefieres un archivo de Word, lleva el archivo searchable_ a PDF a Word, que lee las palabras invisibles escritas aquí como cualquier otro texto.
Una foto en lugar de un escaneo: un cartel en una pared, la página de un libro, una carta de restaurante impresa. El JPG o PNG se convierte en un PDF de una página con las palabras debajo de la imagen, y puedes copiar un número de teléfono desde cualquier visor de PDF.
No la uses en un PDF que ya tenga texto seleccionable, como uno exportado desde un procesador de textos: la herramienta no puede distinguirlo y añade una segunda capa sobre la primera. Para páginas que todavía tienes que capturar, usa Escanear a PDF y aplica el reconocimiento al resultado, y si el escaneo pesa mucho, Comprimir PDF deja la capa de texto intacta en cualquiera de los dos órdenes en que las apliques.
Consejos y solución de problemas
- «No se pudo completar el OCR» seguido de un motivo detiene el proceso, e Intentar de nuevo recarga la página. Cuando no se reconoce ninguna palabra, la tarjeta dice «No se encontró texto legible» y no ofrece ningún archivo. Un PDF cifrado, aunque solo restrinja la impresión, es rechazado por pdf-lib; quita la protección con Desbloquear PDF primero. «El motor de OCR (tesseract.js) no se cargó» significa que la biblioteca no se pudo obtener desde la CDN.
- Solo se aceptan PDF, JPG y PNG. Un archivo WEBP, HEIC o TIFF soltado en el recuadro se detiene con «Este archivo no es un PDF, JPG ni PNG», porque la herramienta solo puede envolver imágenes JPEG y PNG. Pasa antes una foto WEBP por Escanear a PDF, que la convierte a JPEG, y luego aplica el reconocimiento a ese PDF. Escanear a PDF abre HEIC y TIFF solo en un navegador que pueda mostrarlos, como Safari; en otros, guarda primero la foto como JPG.
- Los mensajes de progreso indican cada etapa: Cargando el núcleo de tesseract y Cargando los datos del idioma (traineddata) son las descargas que ocurren una sola vez, y luego Reconociendo texto cuenta las páginas terminadas. Una página llena de texto puede tardar medio minuto o más, así que se leen hasta cuatro páginas a la vez, cada una con su propio worker, según lo permitan los núcleos del procesador y la memoria que indica el navegador. El renderizado usa la intención print de pdf.js, así que el proceso sigue aunque cambies a otra pestaña.
- El resultado es searchable_ más el nombre de tu archivo con la extensión .pdf, así que receipt.jpg se convierte en searchable_receipt.pdf, y Descargar texto (.txt) guarda receipt.txt. En el caso de una foto, la página tiene tantos puntos de ancho como píxeles tiene la imagen, así que una foto de 4000 px de ancho da una página de unas 55 pulgadas de ancho; los visores la ajustan a la ventana, pero hay que escalarla antes de imprimir.
- Un idioma por ejecución. Un documento que mezcla dos idiomas obtiene una capa para el que elegiste, y las palabras del otro con poca confianza se descartan.
- Una página guardada con un indicador de rotación se renderiza tal como se muestra, y las palabras se colocan de nuevo sobre ella y se giran el mismo ángulo, así que la capa queda alineada. Un escaneo que está físicamente de lado no tiene ese indicador; gíralo con Rotar PDF antes de aplicar el OCR.
- La guía cómo hacer que un PDF escaneado se pueda buscar explica qué afecta a la precisión y qué hacer con las fotos.
Cómo funciona la herramienta OCR PDF en tu navegador
El archivo se lee en memoria y se abre con pdf-lib; una imagen se incrusta primero en una página nueva de su propio tamaño. pdf.js recibe una copia de los bytes, ya que transfiere su búfer a un worker, y Tesseract.createWorker inicia el motor para el idioma elegido: el script del worker viene de cdnjs, y el núcleo WebAssembly y el archivo traineddata vienen de las CDN por defecto de la biblioteca. Cuando ese worker está listo, arrancan hasta tres más con los datos del idioma que dejó en caché, y cada worker toma la siguiente página sin leer. pdf.js dibuja la página en un lienzo al doble de su tamaño, sin pasar de 2400 píxeles en el lado largo; una página que ya es más grande, como una foto colocada en una página de su propio tamaño en píxeles, se dibuja a su propio tamaño, hasta 16 megapíxeles; una página mayor se reduce a 16 megapíxeles para no superar el límite de lienzo de los navegadores móviles. El worker devuelve las palabras con sus cuadros delimitadores y puntuaciones de confianza, y cada cuadro se convierte en puntos PDF. El tamaño de fuente es el 85% de la altura del cuadro, reducido si Helvetica se saliera del cuadro, y las palabras se dibujan entre establecer el modo de renderizado de texto en invisible y volver a establecerlo en relleno.
Cada lienzo se borra después de procesar su página, y los workers se cierran tras la última. El documento existe en la pestaña en dos copias, una para pdf-lib y otra dentro del worker de pdf.js; ninguna se envía a ningún sitio, y las únicas descargas son el motor y los datos del idioma. Al guardar con pdf-lib se generan los bytes que ofrece Descargar archivo, y Vista previa del documento los renderiza con pdf.js en una ventana modal.
Las mismas palabras también se unen en texto sin formato, una línea por cada línea reconocida, con una línea en blanco donde el espacio hasta la línea siguiente supera claramente el interlineado habitual de la página. Ese texto llena el cuadro bajo el resultado. Descargar texto (.txt) guarda lo que contenga el cuadro como un archivo UTF-8 con el nombre del tuyo, así que las correcciones hechas ahí nunca cambian el PDF.
Preguntas frecuentes
¿Se sube mi documento a algún sitio?
No. El reconocimiento se ejecuta en un Web Worker de tu navegador. Aparte de Google Analytics mientras está activado, el único tráfico de red es la descarga del motor tesseract.js y de los datos del idioma que elijas, la primera vez que lo ejecutas.
¿Qué idiomas son compatibles?
Inglés, español, francés, alemán, italiano, portugués y neerlandés. Elige el idioma del documento antes de ejecutarlo; cada idioma tiene su propio archivo de datos de entre 0,7 y 3 MB.
¿Qué precisión tiene el resultado?
Depende del escaneo. Las páginas rectas y de buen contraste dan la capa de texto más completa; las fotos borrosas, la escritura a mano y las páginas torcidas se reconocen solo en parte. Las palabras en las que el motor no tiene suficiente confianza se omiten en lugar de adivinarse, y el mensaje del resultado indica cuántas palabras se encontraron y en cuántas páginas.
¿Puedo aplicar OCR a un PDF que ya tiene texto?
Puedes hacerlo, pero no debería hacer falta. La herramienta no detecta el texto existente, así que dibuja una segunda copia invisible de cada palabra que reconoce sobre la primera, y una búsqueda podría entonces encontrar cada palabra dos veces. Comprueba antes el archivo con PDF a texto; si devuelve texto, omite el OCR.
¿El archivo será más grande?
Por lo general, un poco. Las imágenes de las páginas no se vuelven a codificar; lo que se añade es una cadena de texto invisible por cada palabra reconocida y una referencia a la fuente Helvetica incorporada, que no se incrusta. pdf-lib reescribe el archivo al guardarlo, así que la diferencia exacta varía de un archivo a otro.
¿Puedo aplicar OCR a varios archivos a la vez?
No, un archivo por ejecución. Para procesar un lote de una vez, une antes los PDF con Unir PDF, o convierte un conjunto de fotos en un solo PDF con Escanear a PDF, y luego aplica el reconocimiento a ese único archivo. El mensaje de progreso cuenta las páginas terminadas.
Última revisión: