Saltar al contenido

¿Cómo extraer texto con OCR de un PDF en Linux?

José, miembro de este equipo de trabajo, nos ha hecho el favor de crear este escrito ya que controla a la perfección el tema.

Solución:

He tenido éxito con el puerto Linux con licencia BSD del sistema Cuneiform OCR.

Parece que no hay paquetes binarios disponibles, por lo que debe compilarlo desde la fuente. Asegúrese de tener instaladas las bibliotecas ImageMagick C++ para admitir prácticamente cualquier formato de imagen de entrada (de lo contrario, solo aceptará BMP).

Si bien parece estar esencialmente indocumentado aparte de un breve archivo LÉAME, he encontrado que los resultados de OCR son bastante buenos. Lo bueno de esto es que puede generar información de posición para el texto OCR en formato hOCR, por lo que es posible volver a colocar el texto en la posición correcta en una capa oculta de un archivo PDF. De esta forma, puede crear archivos PDF “que permiten búsquedas” desde los que puede copiar texto.

He usado hocr2pdf para recrear archivos PDF a partir de los resultados de OCR y PDF de solo imagen originales. Lamentablemente, el programa no parece admitir la creación de archivos PDF de varias páginas, por lo que es posible que deba crear un script para manejarlos:

#!/bin/bash
# Run OCR on a multi-page PDF file and create a new pdf with the
# extracted text in hidden layer. Requires cuneiform, hocr2pdf, gs.
# Usage: ./dwim.sh input.pdf output.pdf

set -e

input="$1"
output="$2"

tmpdir="$(mktemp -d)"

# extract images of the pages (note: resolution hard-coded)
gs -SDEVICE=tiffg4 -r300x300 -sOutputFile="$tmpdir/page-%04d.tiff" -dNOPAUSE -dBATCH -- "$input"

# OCR each page individually and convert into PDF
for page in "$tmpdir"/page-*.tiff
do
    base="$page%.tiff"
    cuneiform -f hocr -o "$base.html" "$page"
    hocr2pdf -i "$page" -o "$base.pdf" < "$base.html"
done

# combine the pages into one PDF
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$output" "$tmpdir"/page-*.pdf

rm -rf -- "$tmpdir"

Tenga en cuenta que el script anterior es muy rudimentario. Por ejemplo, no conserva ningún metadato PDF.

Vea si pdftotext funcionará para usted. Si no está en su máquina, deberá instalar el paquete poppler-utils

sudo apt-get install poppler-utils 

También puede encontrar el kit de herramientas pdf de uso.

Una lista completa de software pdf aquí en wikipedia.

Editar: Desde que tu necesitar Capacidades de OCR, creo que tendrá que probar una táctica diferente. (es decir, no pude encontrar un convertidor de pdf2text de Linux que haga OCR).

  • Convertir el pdf a una imagen
  • Escanea la imagen a texto usando las herramientas de OCR

Convertir pdf a imagen

  • gs: el siguiente comando debería convertir pdf de varias páginas en archivos tiff individuales.

    gs -SDEVICE=tiffg4 -r600x600 -sPAPERSIZE=letra -sOutputFile=nombre de archivo_%04d.tif -dNOPAUSE -dBATCH -- nombre de archivo

  • Utilidades de ImageMagik: hay otras preguntas en el sitio SuperUser sobre el uso de ImageMagik que podría usar para ayudarlo a realizar la conversión.

    convertir foo.pdf foo.png

Convertir imagen a texto con OCR

  • GOCR: página de Wikipedia
  • Ocrad: página de Wikipedia
  • ocropus: página de Wikipedia
  • tesseract-ocr: página de Wikipedia

Tomado de la lista de Wikipedia de software OCR

Google docs ahora usará OCR para convertir sus documentos de imagen/pdf subidos a texto. He tenido buen éxito con eso.

Están utilizando el sistema OCR que se utiliza para el gigantesco proyecto de Google Books.

Sin embargo, debe tenerse en cuenta que solo se aceptarán para su procesamiento archivos PDF con un tamaño de 2 MB.

Actualizar

1. Para probarlo, suba un pdf de <2 MB a Google Docs desde un navegador web.
2. Haga clic derecho en el documento cargado y haga clic en "Abrir con Google Docs".
...Google Docs se convertirá en texto y generará un archivo nuevo con el mismo nombre pero el tipo de Google Docs en la misma carpeta.

Si haces scroll puedes encontrar las crónicas de otros administradores, tú además puedes mostrar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *