GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie extrahiert man Text mit OCR aus einem PDF unter Linux?

Ich hatte Erfolg mit der BSD-lizenzierten Linux-Portierung des Cuneiform OCR-Systems.

Es scheinen keine Binärpakete verfügbar zu sein, also müssen Sie es aus dem Quellcode erstellen. Stellen Sie sicher, dass die ImageMagick C++-Bibliotheken installiert sind, damit sie praktisch jedes Eingabebildformat unterstützen (andernfalls wird nur BMP akzeptiert).

Obwohl es abgesehen von einer kurzen README-Datei im Wesentlichen undokumentiert zu sein scheint, fand ich die OCR-Ergebnisse ziemlich gut. Das Schöne daran ist, dass es Positionsinformationen für den OCR-Text im hOCR-Format ausgeben kann, sodass es möglich wird, den Text in einer versteckten Ebene einer PDF-Datei wieder an der richtigen Position einzufügen. Auf diese Weise können Sie "durchsuchbare" PDFs erstellen, aus denen Sie Text kopieren können.

Ich habe hocr2pdf verwendet, um PDFs aus den ursprünglichen Nur-Bild-PDFs und OCR-Ergebnissen neu zu erstellen. Leider scheint das Programm das Erstellen mehrseitiger PDFs nicht zu unterstützen, daher müssen Sie möglicherweise ein Skript erstellen, um damit umzugehen:

#!/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"

Bitte beachten Sie, dass das obige Skript sehr rudimentär ist. Beispielsweise werden keine PDF-Metadaten gespeichert.


Sehen Sie, ob pdftotext für Sie funktioniert. Wenn es sich nicht auf Ihrem Computer befindet, müssen Sie das Paket poppler-utils installieren

sudo apt-get install poppler-utils 

Vielleicht finden Sie auch das pdf-Toolkit von Nutzen.

Eine vollständige Liste der PDF-Software finden Sie hier auf Wikipedia.

Bearbeiten: Da Sie brauchen OCR-Fähigkeiten, ich denke, Sie müssen einen anderen Ansatz ausprobieren. (d.h. ich konnte keinen Linux-pdf2text-Konverter finden, der OCR macht).

  • PDF in ein Bild umwandeln
  • Scannen Sie das Bild mit OCR-Tools in Text

PDF in Bild umwandeln

  • gs:Der folgende Befehl sollte mehrseitige PDF-Dateien in einzelne TIFF-Dateien konvertieren.

    gs -SDEVICE=tiffg4 -r600x600 -sPAPERSIZE=Buchstabe -sOutputFile=Dateiname_%04d.tif -dNOPAUSE -dBATCH -- Dateiname

  • ImageMagik-Hilfsprogramme:Auf der SuperUser-Site gibt es weitere Fragen zur Verwendung von ImageMagik, die Ihnen bei der Konvertierung helfen könnten.

    konvertieren foo.pdf foo.png

Bild mit OCR in Text umwandeln

  • GOCR:Wikipedia-Seite
  • Ocrad:Wikipedia-Seite
  • Ocropus:Wikipedia-Seite
  • tesseract-ocr:Wikipedia-Seite

Entnommen aus der Wikipedia-Liste der OCR-Software


Google Docs verwendet jetzt OCR, um Ihre hochgeladenen Bild-/PDF-Dokumente in Text umzuwandeln. Ich habe damit gute Erfolge erzielt.

Sie verwenden das OCR-System, das für das gigantische Google Books-Projekt verwendet wird.

Es ist jedoch zu beachten, dass nur PDFs bis zu einer Größe von 2 MB zur Bearbeitung akzeptiert werden.

Aktualisieren
1. Um es auszuprobieren, laden Sie ein <2 MB-PDF von einem Webbrowser in Google Docs hoch.
2. Klicken Sie mit der rechten Maustaste auf das hochgeladene Dokument und klicken Sie auf „Mit Google Docs öffnen“.
...Google Docs wird in Text konvertiert und in eine neue Datei mit demselben Namen ausgegeben, aber Google Docs gibt denselben Ordner ein.


Linux
  1. So formatieren Sie wissenschaftliche Arbeiten unter Linux mit groff -me

  2. So erstellen Sie ein Video aus PDF-Dateien unter Linux

  3. gImageReader – Extrahieren Sie Text aus Bildern und PDFs unter Linux

  4. So senden Sie eine E-Mail mit Anhang und Text von Linux

  5. Wie zeigt man bestimmte Zeilen aus einer Textdatei in Linux an?

So zeigen Sie Daten aus einer Textdatei in Linux an

So sichern Sie Linux-Server mit SE Linux

Arbeiten mit Nano Editor unter Linux

So extrahieren Sie E-Mail-Adressen aus einer Textdatei unter Linux

So konvertieren Sie eine Webseite unter Linux in PDF

So öffnen Sie eine PDF-Datei im Linux-Terminal