Richtig digitalisieren
E-Books aus Buchscans als DjVu oder PDF mit OCR-Layer
Für Linux gibt es eine ganze Reihe von Werkzeugen zum Herstellen von hochwertigen E-Books aus Dokumenten- beziehungsweise Buch-Scans. Weit verbreitet ist es, unter Linux Dokumente mit Sane und seinen Frontends einzulesen. Dank ImageMagick bringen Sie die Ergebnisse dann komfortabel im Batch-Betrieb in Form. Der Prozessor Unpaper leistet beim automatischen Nachbearbeiten und Veredeln speziell von Buchscans gut Dienste.
Anschließend bietet es sich an, die Bilder in DjVu oder einer PDF-Datei zu verpacken und mit Bookmarks auszustatten. Das geht komfortabel auf der Kommandozeile. Als Sahnehäubchen statten Sie die digitalen Bücher bei Bedarf aber noch zusätzlich mit einem OCR-Layer aus: Das erlaubt es, den Text zu durchsuchen. Auch das funktioniert unter Linux auf hohem Niveau mit Open-Source-Werkzeugen ohne weiteres. Die freie Software dazu arbeitet mittlerweile so professionell, dass sie dem Vergleich mit kommerziellen Produkten durchaus standhält.
Werkzeuge
Die Scanner-Suite Sane [1] erfreut sich größter Beliebtheit und gehört zum festen Bestandteil der meisten Distributionen. Mit dem Frontend Xsane [2] fertigen Sie ohne weiteres einen Buchscan aus einer Reihe von Einzelscans an. Für ein optimales Ergebnis beim OCR empfiehlt es sich bei Textscans generell, mit der Auflösung nicht unter 300 dpi zu gehen.
Graustufen-Scans – etwa im Format PGM ("Portable Greymap") – wandeln Sie hinterher in Schwarzweiß (PBM, "Portable Bitmap") um. Das Programm nummeriert die Scans automatisch durch, scannt bei Bedarf Ausschnitte und speichert diese auf Wunsch um 90 Grad gedreht ab. Zum Drehen, Zurechtschneiden und Bearbeiten eignet sich aber auch ImageMagick [3]: Die Programmsammlung bringt eine Vielzahl von Tools mit (im folgenden Beispiel convert), die Sie ganz einfach in eine Shell-Schleife einbinden:
$ for i in *pgm; do convert $i -rotate 90 -verbose ${i%pgm}pbm; done
Mit diesem Einzeiler drehen Sie jede PGM-Datei im Arbeitsverzeichnis um 90 Grad und konvertiert sie zugleich ins PBM-Format. Den dicken schwarzen Streifen in der Mitte der Scans, der durch den Bund des Buches zustande kommt, reduzieren Sie, indem Sie mit dem Parameter -white-threshold beim Konvertieren einen geringeren Weißschwellenwert einstellen. Im der Praxis haben sich Werte im Bereich von 25 bis 35 Prozent bewährt.
Nach dem Konvertieren bietet es sich an, die Scans mit dem Grafikbetrachter durchzusehen. Dazu verwenden Sie zum Beispiel Geeqie [4]. Dieser erlaubt es, ebenso wie viele andere Bildbetrachter, über einen Rechtsklick oder Shortcut ein Bild in Gimp [5] zu laden. Dort lassen sich dann grobe Schmierereien, handschriftliche Notizen oder ähnliches manuell entfernen.
Unpaper
Mit Unpaper [6] von Jens Gulden steht ein raffiniertes Nachbearbeitungswerkzeug für Dokumentenscans bereit. Die derzeit aktuelle Version 0.3 finden Sie beispielsweise in Debian 5.0 "Lenny", Ubuntu 9.10 "Karmic Koala", OpenSuse 11.2 oder Fedora ab Version 10. Das Tool beseitigt Schmutz und Flecken, die von der Vorlage in den Scan gerieten, sowie schwarze Streifen. Es teilt Doppelseiten auf Wunsch in Einzelseiten auf und rotiert, entzerrt und zentriert Textblöcke. Damit ist Unpaper geradezu prädestiniert zum Bearbeiten von Scans, die von unansehnlichen, hektisch gemachten Fotokopien stammen (Abbildung 1).
Um für alle Fälle gewappnet zu sein, beeinflussen Sie bei Bedarf die Funktionen von Unpaper durch eine ganze Reihe von Optionen in allen Feinheiten. Meistens reichen die Standardeinstellungen aber für ein gutes Ergebnis (Abbildung 2). Als echtes Konsolen-Tool beherrscht Unpaper natürlich das reihenweise Bearbeiten von Dateien. Um die Ausgangsdateien nicht zu überschreiben, lenken Sie die Ausgabe am besten in ein anderes Arbeitsverzeichnis um:
$ unpaper --layout double --output-pages 2 %04d.pbm out/%04d.pbm
In diesem Beispiel handelt es sich bei der Eingabe um einen doppelseitigen Buchscan. Als Ausgabe erhalten Sie zwei einzelne Seiten. Mit dem Formatzeichen %04d erfassen Sie Dateien mit einem Namen, der aus vier Ziffern besteht (0001.pgm). Falls nicht vorhanden, gilt es, das Unterverzeichnis ./out natürlich vorher anzulegen. Verschluckt das Tool beim Verarbeiten Textteile, setzen Sie den Mask-Scan (-ms) probeweise auf einen höheren Wert, wie zum Beispiel 175,175.



