kaffeeringe.de

Digitalisierung: Eigene Scans in durchsuchbare PDFs umwandeln

Scan
Beispielscan

Aus selbst gescannten Dokumenten lassen sich relativ einfach durchsuchbare PDFs erzeugen – zumindest unter Linux.

Schon vor einiger Zeit habe ich mich damit beschäftigt, wie man unter Ubuntu alte Dokumente digitalisieren kann. Das ist weiterhin ein gutes Verfahren, wenn man nur an die Text-Inhalte herankommen will, ohne alles abtippen zu müssen.

PDF bietet aber auch die Möglichkeit, über die gescannten Bilder eine unsichtbare Ebene Text zu legen. So erhält man den alten Look der Dokumente, kann aber die Texte durchsuchen, markieren und kopieren. Das Ergebnis nennt sich Sandwich-PDF.

Zunächst hatte mir mein Scanner nur einen Stapel JPG-Grafiken ausgeworfen, die alle in einem Verzeichnis lagen. Daraus lässt sich mit GraphicsMagick sehr leicht ein PDF erstellen. Dazu musst du GraphicsMagick installieren, wenn Du das noch nicht getan hast:

1
sudo apt-get install graphicsmagick

Dann kannst Du die Bilder zu einem PDF zusammenfügen. Dazu musst Du die Dateien in der richtigen Reihenfolge angeben:

1
gm convert datei1.jpg datei2.jpg datei3.jpg ergebnis.pdf

Das resultierende PDF ist dann noch nicht durchsuchbar. Dazu musst Du ein kleines Skript benutzen, das ich bei auxnet gefunden habe. Allerdings lief das bei mir nicht korrekt durch, weil die Dateiendung der temporären Dateien eine andere war, als das Skript annimmt.

Installier dazu folgende Tools – da ist auch Tesseract mit den deutschen Interpretations-Dateien dabei, falls Du es noch nicht installiert hast:

1
sudo apt-get install pdftk poppler-utils tesseract-ocr tesseract-ocr-deu

Kopier Dir dieses Skript…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#/bin/bash

if [ $# -eq 0 ]
then
echo "PDF-Datei als ersten Parameter erwartet"
exit 1
fi

echo "Lese: $1"

# Basisnamen für später merken
pdfbase=$(basename "$1" .pdf)

# Extrahiere Bilder aus PDF
pdfimages "$1" temp

# Lese Bilder einzeln und wende OCR an
for image in temp-*.ppm
do
base=$(basename "$image" .ppm)
echo "OCR auf $base"
tesseract -l deu "$image" "${base}" pdf
done

# Fasse einzelne PDFs wieder zusammen
echo "PDFs zusammenfassen"
pdftk temp-*.pdf output "${pdfbase}_sandy.pdf"

# Lösche temporäre Dateien
echo "Aufräumen..."
rm temp-*.pdf temp-*.ppm

echo "Fertig!"

…und speicher es unter sandy.sh in Deinem Home-Verzeichnis und mach es ausfürbar:

1
chmod +x sandy.sh

Leg Dein ergebnis.pdf in das gleiche Verzeichnis und starte das Skript:

1
./sandy.sh ergebnis.pdf

Dabei kommt dann die Datei ergebnis_sandy.pdf heraus, die durchsuchbar ist. Fertig.

Ein wenig problematisch ist, dass man das Ergebnis natürlich nicht richtig überprüfen und nachbessern kann. Ob Tesseract die Texte korrekt erkannt hat, kann man nur feststellen, wenn man die Texte kopiert und in einen Editor einfügt. Besser als gar nichts, ist das aber alle mal.

Kommentare

SammysHP

Eine weitere Möglichkeit, die alles sehr elegant in einem einzigen Schritt kombiniert: gscan2pdf

MAWSpitau (@MAWSpitau)

Ich bevorzuge an der Stelle

https://github.com/fritz-hh/OCRmyPDF
http://wiki.ubuntuusers.de/OCRmyPDF

Schnell, unkompliziert und einige Optionen die ich mitgeben kann. Unter Anderem der Parameter -g, der eine Kontrollansicht baut!

Steffen

@SammyHP: Der Tipp ist prima – wenn man direkt vom Rechner scannt. Bei Netzwerkscannern kann man sich die Scans soweit ich weiß nur zumailen lassen. Mal sehen was sich da noch automatisieren lässt.

@MAWspitau: Sieht gut aus! Das muss ich ausprobieren!

Bastian Baum

PyPdfOcr wäre auch noch eine alternative, besonders die Watch-Funktion ist interessant.

https://github.com/virantha/pypdfocr

Steffen

@Bastian: Oh, ja, die Watch-Funktion ist genau das, was ich gesuch habe! Jetzt muss ich nur noch herausfinden, wie ich über eine extra eingerichtete Mail-Adresse die Attachements in so ein Verzeichnis bekomme. Projekt fürs nächste Wochenende. 😀

Ceelight

HI,

ich habe hierzu mal ein Script veröffentlicht, welches interactiv ein DMS auf dieser techn. Basis realisiert:

Hier: http://blog.goldies-place.de/2013/10/06/scan2dms-skript-zum-dokumentenscan-pdf-erstellung-ablage/

Und hier: http://blog.goldies-place.de/2013/10/11/scan2dms-2-0/

Vielleicht hilft es ja dem ein oder anderen…

Cee

Steffen Voß

Danke für die vielen guten Tipps, Leute! <3

MAWSpitau (@MAWSpitau)

Hui. pypdfocr macht wahrlich einen schlanken Fuß 😉 Großartiger Hinweis! Vielen Dank @Bastian! Ist bereits installiert und für gut befunden worden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Möchtest Du benachrichtigt werden, wenn Dir hier jemand antwortet?