¿Cómo crear PDF con páginas escaneadas pero texto seleccionable?


32

Hoy recibí un PDF de nuestro proveedor y contenía varias páginas impresas y escaneadas con firmas, etc. Lo abrí en Acrobat Reader DC. Pero para mi sorpresa, el texto de las imágenes evidentemente escaneadas podría seleccionarse y copiarse como texto. Ver la captura de pantalla:

PDF escaneado con texto seleccionable

Evidentemente, hay algo de OCR detrás de esto ya que el texto copiado contiene errores. Pero, ¿cómo es esto posible? Nunca he visto esto antes, ¿cómo se puede crear esto?


44
Paquetes como github.com/gkovacs/pdfocr permiten que esto suceda para imágenes
PDF

¿En qué se diferencia de los resultados que obtiene Batch-OCR en muchos archivos PDF ?
Dmitry Grigoryev

@DmitryGrigoryev Nunca antes había visto este tipo de PDF, así que pregunté qué era. No hay nada sobre el firmware de la impresora OCR o OCRMyPDF en las respuestas, tanto las preguntas como las respuestas son muy diferentes. No veo nada duplicado, excepto que ambas preguntas son sobre OCR y PDF.
Vojtěch Dohnal

Bueno, nunca he visto un PDF de OCR que sea diferente de lo que ha publicado, por eso su pregunta me parece extraña.
Dmitry Grigoryev

Respuestas:


53

Esto (al contrario de algunas otras respuestas aquí) probablemente no tenga nada que ver con Acrobat.

La mayoría de los escáneres de documentos profesionales (¿todos?) Y la mayoría de los semiprofesionales realizarán OCR automáticamente cuando seleccione "Guardar como PDF" y marque la casilla de verificación "búsqueda" en la configuración. Los modelos más baratos de "grado de consumidor" harán el OCR en la PC adjunta, los escáneres de red típicos lo hacen internamente.

La palabra "buscable" significa nada más y nada menos que el escáner realizará OCR, luego generará una página con los mapas de bits escaneados dentro y los superpondrá con caracteres invisibles del OCR, cada uno colocado sobre el carácter respectivo en el mapa de bits.

De esa manera, puede buscar, y también seleccionar, copiar y pegar el "mapa de bits" como por arte de magia. Sin embargo, no es magia en absoluto. En realidad, solo estás copiando texto invisible.

El escáner también puede hacer algo de magia adicional, como componer la imagen grande de muchos mosaicos pequeños que también se reutilizan. Esto da como resultado un tamaño de documento mucho más pequeño de lo que realmente sería posible, pero también puede dar lugar a sorpresas divertidas (¡no tan divertidas si le pasan a usted!) Como Xerox altera la historia de sus facturas , irónicamente, incluso cuando no se realiza OCR, dependiendo en el firmware


Sí, probablemente es así como lo crearon, dudo mucho que usen Adobe Acrobat completo.
Vojtěch Dohnal

Lo hicimos colocando todo el texto detrás de la imagen escaneada donde el OCR informó dónde encontró cada nodo de texto.
Thorbjørn Ravn Andersen

10

Pero, ¿cómo es esto posible?

Básicamente, un programa realiza OCR en el archivo de entrada y luego coloca una capa invisible de texto sobre la imagen. Alternativamente, también podría colocar una capa visible de texto debajo de la imagen, dando el mismo efecto.

Cuando selecciona algo, la imagen no importa porque se selecciona la capa de texto.

¿Cómo se puede crear esto?

Hay varias formas Dado que Acrobat ya ha sido sugerido, agregaré algunas opciones gratuitas (y afortunadamente no está obligado a tener Windows para usarlas).

PDF-XChange Viewer

Este es un programa nativo de Windows de Tracker Software . La versión gratuita funciona bien con Wine si usa la edición de 32 bits en un prefijo de 32 bits, por lo tanto , puede usarla en Windows, macOS y Linux. En los últimos dos casos, necesitaría PlayOnMac o PlayOnLinux respectivamente.

Aquí hay una foto de esta respuesta que dejé en Ask Ubuntu:

Captura de pantalla de PDF-XChange Viewer en Wine

OCRmyPDF

Este es un programa multiplataforma escrito en Python , basado en Ghostscript, Tesseract y Unpaper. De los documentos:

Lo que hace OCRmyPDF

OCRmyPDF analiza cada página de un PDF para determinar el espacio de color y la resolución (DPI) necesarios para capturar toda la información en esa página sin perder contenido. Utiliza Ghostscript para rasterizar la página y luego se realiza en OCR en la imagen rasterizada para crear una "capa" de OCR. La capa se injerta nuevamente en el PDF original.

Se puede instalar fácilmente en derivados de Debian y Ubuntu:

apt-get install ocrmypdf

O en macOS:

brew tap jbarlow83/ocrmypdf
brew install ocrmypdf

En Windows, necesitaría usar la imagen Docker. Consulte los documentos oficiales para más detalles.

El uso es muy simple y le sugiero que utilice los parámetros opcionales -d(desalineación) y -c(limpieza) para obtener mejores resultados. Enderezará cada página y limpiará pequeños puntos / imperfecciones antes de ejecutar el proceso de OCR.

Puede (y debe) proporcionar el idioma -l.

Aquí hay un ejemplo tomado de este documento sesgado escrito en italiano:

Ejemplo para OCRmyPDF

El comando que usé fue:

ocrmypdf -l ita -d -c input.pdf output.pdf

Herramientas en línea

Hay algunas herramientas en línea que hacen lo mismo. Cabe destacar que PDF24 aloja una versión gratuita basada en la web de OCRmyPDF que se puede usar sin limitaciones.

Ver también:


Gracias por esta respuesta, probé OCRMyPDF y funcionó muy bien, pero desafortunadamente el soporte de idioma que necesito aún no está maduro, por lo que los resultados aún no fueron muy útiles.
Vojtěch Dohnal

@ VojtěchDohnal ¿en qué idioma está interesado? ¿Instaló el paquete de idioma relevante para Tesseract? Vea la lista aquí: macports.org/ports.php?by=name&substr=tesseract-
Andrea Lazzarotto

4

Esto posiblemente se deba a una función de Acrobat OCR :

Acrobat puede reconocer texto en cualquier archivo PDF o de imagen en docenas de idiomas. Todo lo que tiene que hacer es abrir el documento escaneado o la imagen que desea OCR, luego haga clic en el botón azul Herramientas en la parte superior derecha de la barra de herramientas. En esa barra lateral, seleccione la pestaña Reconocer texto, luego haga clic en el botón En este archivo.

...

Con el texto reconocido, ahora puede marcar el PDF utilizando todas las herramientas de marcado normales: puede resaltar, tachar texto y más . Incluso puede copiar el texto con el formato detectado, aunque a menudo es menos preciso que el reconocimiento de texto en sí.


¿Esto también funciona en Reader? Otros documentos no funcionan de esta manera para mí ...
Vojtěch Dohnal

Me temo que no, pero eche un vistazo a este artículo: pdf.wondershare.com/pdf-software-comparison/…
duDE

3

Desde el sitio web de Adobe

Reconocer texto en un archivo PDF escaneado

Cuando escanea documentos en papel a PDF, en realidad solo está tomando fotos de esos documentos. Eso es genial para fotos y otras imágenes impresas, pero ¿qué pasa si tiene un documento de 200 páginas en el que necesita encontrar una palabra o frase en particular? Use Acrobat para reconocer el texto en ese archivo escaneado, haciendo que el contenido de texto se pueda buscar y usar.

  1. Con el documento escaneado abierto en Acrobat, abra el panel Herramientas y expanda el panel Reconocimiento de texto. Si no puede ver "Reconocimiento de texto" en el panel Herramientas, puede agregarlo seleccionando el menú en la esquina superior derecha (imagen a continuación: ¿ve hacia dónde apunta esa pequeña flecha roja? Haga clic allí).
  2. Haga clic en "En este archivo" para escanear el documento que tiene abierto. Puede aceptar la configuración predeterminada y hacer clic en "Aceptar" cuando aparezca el cuadro Reconocer texto. Acrobat convertirá la imagen en texto utilizable; para probarlo, solo intente editar una palabra u oración con el panel Edición de contenido. ¿No es genial?

Gracias pero acabo de abrir el PDF en Reader DC y no hice nada especial con él, otros documentos PDF con páginas escaneadas no funcionan de esta manera automáticamente ...
Vojtěch Dohnal

55
El OCR se realizó ANTES de recibir el archivo, cuando se reconoce el texto, se guarda junto con el pdf.
Máté Juhász

@ VojtěchDohnal Probablemente necesites un acróbata completo, no solo el lector
Thorbjørn Ravn Andersen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.