AA-123RF-31118845-smileus-123RF.jpg

© smileus, 123RF

Durchsuchbare PDFs erstellen und optimal nutzen

Blätterwald

,
Das PDF-Format hat sich als Standard für den Austausch von Dokumenten etabliert. Unter Linux stehen eine ganze Reihe von Programmen bereit, mit denen Sie alle Möglichkeiten dieses Dateiformats optimal ausreizen.

Dokumente unterschiedlichster Art, von Rechnungen über Bedienungsanleitungen bis hin zu Büchern und wissenschaftlichen Arbeiten, werden heutzutage digital verschickt, verbreitet und genutzt – vorzugsweise im plattformunabhängigen PDF-Format. Durchsuchbare Dokumente erleichtern das schnelle Auffinden einer bestimmten Stelle innerhalb der Datei, Metadaten halten zusätzliche Informationen bereit.

Zudem gibt es zahlreiche Möglichkeiten, um PDF-Dokumente zu bearbeiten. Ganz nach Bedarf lassen sich einzelne Seiten entfernen, neue einfügen oder einzelne Seiten zu einer neuen PDF-Datei zusammenfügen. Auch können Sie in einer PDF-Datei, wie in einem gedruckten Text, Textstellen markieren oder Anmerkungen hinzufügen.

Texterkennung

Um die Möglichkeiten des PDF-Formats voll auszunutzen, sollten PDF-Dateien durchsuchbar sein. So durchstöbern Sie etwa gleich mehrere PDF-Dateien nach bestimmten Wörtern und finden innerhalb einer Datei mittels der Suchfunktion des PDF-Betrachters schnell die richtige Stelle. PDF-Dateien, die Sie mit LaTeX oder LibreOffice erstellen, lassen sich üblicherweise bereits durchsuchen. Anders sieht es jedoch bei PDF-Dateien aus, die Sie aus Scans erstellen: Sie bestehen nach dem Scan zunächst nur aus reinen Bilddaten, denen Sie mittels einer Texterkennung noch eine Textebene hinzufügen müssen.

Als Texterkennungsprogramm für Linux empfiehlt sich die OCR-Engine Tesseract [1]. Die meisten Distributionen führen das Programm in ihren Paketquellen, bei Debian oder Ubuntu finden Sie es im Paket tesseract-ocr. Zudem benötigen Sie ein Paket mit den Sprachen, die das Programm erkennen soll, wie etwa tesseract-ocr-deu oder tesseract-ocr-eng.

Das Programm selbst bringt keine grafische Oberfläche mit, doch auch aus der Kommandozeile lässt sich der Inhalt einer Bilddatei komplett in maschinenlesbaren Text übersetzen. Listing 1 gibt alle zur Verfügung stehenden Sprachen aus. Dort steht osd für "Orientation and Script Detection", also für das automatische Ermitteln der Orientierung des Scans sowie für die Erkennung von Texten in Spalten. Anschließend übergeben Sie Tesseract einen Scan als beispiel.jpg und lassen den erkannten Text eine gleichnamige Textdatei ausgeben.

Listing 1

$ tesseract --list-langs
List of available languages (3):
deu
eng
osd
$ tesseract -l deu beispiel.jpg beispiel.txt

Damit liegt nun eine durchsuchbare Textdatei auf der Festplatte. Das PDF selbst allerdings kennt weiterhin nur die Bilddaten. Anwendungen wie OCRmyPDF [2] gehen nun einen Schritt weiter und betten den von Tesseract per OCR ermittelten Text direkt ins PDF ein, wie man es etwa vom LibreOffice-Export gewohnt ist.

Das Programm lässt sich bisher nur unter Debian "Testing" aus den Paketquellen installieren. Bei aktuellen Distributionen müssen Sie daher in der Regel auf das Paketverwaltungsprogramm Pip für Python-Pakete zurückgreifen. Damit spielen Sie den Python-Paketmanager samt der von OCRmyPDF benötigten Abhängigkeiten ein, aktualisieren Pip und installieren dann abschließend das Programm (Listing 2).

Listing 2

$ sudo apt install python3-pip python3-pil python3-pytest python3-reportlab zlib1g-dev libjpeg-dev libffi-dev ghostscript qpdf unpaper
$ sudo pip3 install --upgrade pip
$ sudo pip3 install ocrmypdf

Um aus einem Scan eine durchsuchbare PDF-Datei zu erstellen, verwenden Sie die Kommandos aus Listing 3. Da Texterkennung mit Tesseract nicht einfach nur Buchstabe für Buchstabe analysiert, sondern das Ergebnis mit einem sprachspezifischen Wörterbuch abgleicht, müssen Sie den Aufruf mit -l deu auf die richtige Sprache einstellen. Ohne eine Angabe gehen OCRmyPDF und damit auch Tesseract von Englisch als Sprache aus.

Listing 3

$ ocrmypdf -l deu artikel.pdf artikel_ocr.pdf
$ ocrmypdf -l deu -c -d -i --title "Sherlock Holmes: Ein Skandal in Böhmen" --author "Arthur Conan Doyle" --subject Scan --keywords "Krimi, Kurzgeschichte" scan.pdf scan_ocr.pdf

Die beiden Optionen -c und -d veranlassen OCRmyPDF, Scan-Fehler wie dunkle Balken zu korrigieren und schief gescannten Text gerade auszurichten. Dazu greift OCRmyPDF auf das dafür optimierte Werkzeug Unpaper [3] zurück. Ohne weitere Angaben nutzt OCRmyPDF die mit Unpaper verbesserten Seiten nur intern zur Texterkennung, erst durch die Option -i landen die bereinigten Scans auch in der Ausgabedatei.

Das Hinzuziehen von Unpaper funktioniert gut – allerdings meist nur dann, wenn der Scan ausschließlich Fließtext enthält. Finden sich im gescannten Dokument auch Bilder und grafische Elemente, dann kommt es durchaus vor, dass Unpaper auch diese als Scan-Fehler ansieht und löscht. Verzichten Sie daher im Zweifel besser auf die Option.

Am Ende definieren Sie Metadaten wie Titel, Autor, Betreff und Schlagwörter für das ausgegebene PDF-Dokument. Einzelne Wörter tragen Sie einfach hinter dem entsprechenden Schalter ein, mehrere Wörter oder ganze Sätze gehören in Anführungszeichen. Am Ende steht der Name der Eingabedatei, gefolgt vom Namen der Ausgabedatei. Als Ergebnis erhalten Sie eine durchsuchbare PDF-Datei.

TIPP

Neben zahlreichen anderen Sprachen unterstützt Tesseract über das Paket tesseract-ocr-deu-frak auch Deutsch in Fraktursatz (im Aufruf dann -l deu-frak). Auf diese Weise lassen sich auch ältere Dokumente oder Bücher leicht mit eingebetteten OCR-Daten ergänzen.

Gesucht, gefunden

Innerhalb einer durchsuchbaren PDF-Datei kommen Sie nun über die in den PDF-Betrachter integrierte Suchfunktion zur gewünschten Textstelle. Möchten Sie mehrere PDF-Dateien nach bestimmten Ausdrücken durchsuchen, greifen Sie auf das Programm Pdfgrep [4] zurück. Die gängigen Distributionen listen es üblicherweise unter demselben Namen in ihren Paketquellen. Möchten Sie beispielsweise alle gescannten Rechnungen aus dem Jahr 2016 finden, dann nutzen Sie folgenden Befehl:

$ pdfgrep -i -n 'rechnung|2016' *.pdf

Durch die Option -i ignoriert Pdfgrep bei der Suche Groß- und Kleinschreibung. Die Option -n gibt zusätzlich zur jeweiligen Fundstelle aus, auf welcher Seite der PDF-Datei sie sich befindet (Abbildung 1).

Abbildung 1: Mit pdfgrep durchsuchen Sie den Inhalt PDF-Dateien von der Kommandozeile aus. Das kleine Werkzeug wc hilft Ihnen beim Schreiben eines Artikels auf Länge.

Bei Artikeln für Zeitschriften oder Abschlussarbeiten an Universitäten erfordern die Richtlinien oft eine minimale und eine maximale Wort- oder Zeichenzahl. Diese Werte lassen sich nach dem Einsatz von OCRmyPDF nun sehr einfach mit dem Kommando wc ("word count", bei Debian/Ubuntu im Paket coreutils) ermitteln (Listing 4). Ersetzen Sie die Option -m durch -w, dann gibt das Kommando die Anzahl der Wörter aus.

Listing 4

$ wc -m masterarbeit.pdf
302605 masterarbeit.pdf
$ wc -w masterarbeit.pdf
13385 masterarbeit.pdf

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 8 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Ein Multifunktionsgerät für die Arbeit mit PDF-Dateien
    Zur Verarbeitung der Papierberge im Büro nutzen wir die moderne Bürotechnik. Wir müssen Dokumente abheften und entheften, kopieren, neu zusammenstellen, abstempeln, untersuchen oder klassifizieren. Bei der täglichen Arbeit mit elektronischen Dokumenten kann ein ganz spezielles Multifunktionsgerät verwendet werden: Pdftk ­ das PDF-Toolkit.
  • Bits statt Papier
    Mit einem digitalen Archiv sparen Sie Platz im Aktenschrank – aber Paperwork macht das Leben nicht unbedingt leichter.
  • Richtig digitalisieren
    Einfach nur Bücher einscannen war gestern. Mit dem richtigen Werkzeugkasten erstellen Sie heute E-Books inklusive Volltextsuche und Inhaltsverzeichnis weitgehend automatisch.
  • Texte scannen und mit OCR nachbearbeiten
    Mit einem kleinen Skript verarbeiten Sie große Mengen an Textscans zu PDF-Dateien, die Sie dank OCR mit typischen Unix-Werkzeugen im Volltext durchsuchen.
  • Innere Werte
    Postscript- und PDF-Dokumente führen Zusatzdaten mit, die Aufschluss über das Dokument und dessen Autor geben. Diese Meta-Informationen lassen sich auch setzen und bearbeiten.
Kommentare

Infos zur Publikation

LU 09/2017 PERFEKTE FOTOS

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 4 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...
WLan mit altem Notebook funktioniert nicht mehr
Stefan Jahn, 22.08.2017 15:13, 0 Antworten
Ich habe ein altes Compaq-6710b Notebook mit Linux Mint Sonya bei dem WLan neulich noch funktioni...
Würde gerne openstreetmap.de im Tor-Browser benutzen, oder zu gefährlich?
Wimpy *, 21.08.2017 13:24, 2 Antworten
Im Tor-Netzwerk (Tor-Browser) kann ich https://www.openstreetmap.de/karte.html# nicht nutzen....
Samsung VG-KBD1500 - Bluetooth-Tastatur mit Touchpad mit Xubuntu 16.04.2 LTS
Linux- & BSD-UserGroup im Weserbergland, 16.08.2017 19:16, 0 Antworten
Bin grad mit "meinem Latein am Ende" darum hier mal so in den Raum geworfen. Samsung VG-KBD1500 -...