| 
11.05.2009
 | 
17:05

Automatisches Skript für Cuneiform und hocr2pdf

In meinem letzten Artikel ging es um Cuneiform, hocr2pdf und das Erstellen von “Sandwich-PDFs” unter Linux. Heute will ich ein Skript vorstellen, mit dem man die Erstellung automatisieren kann.

Edit: Seit der Erstveröffentlichung des Artikels hat sich einiges getan. cuneiform und hocr2pdf sind beide in Ubuntu 10.04 vorhanden, für das Erstellen von Sandwhich-PDFs gibt es ein Tool auf der Seite http://pdfsandwich.origo.ethz.ch/.

Das Skript

Das Skript kann hier heruntergeladen werden: Download a2hocrpdf.sh.

Anpassungen müssen gegebenenfalls in den Pfadangaben der Konvertierungsprogramme vorgenommen werden (Zeilen 52-54 und 62).

Möglicherweise fehlen einige Pakete zur korrekten Ausführung, welche man nachinstallieren kann:

sudo apt-get install pdftk imagemagick

Cuneiform und hocr2pdf müssen compiliert werden, wie im letzten Artikel beschrieben.

Anwendung

Man kopiere das Skript in ein Verzeichnis (z.B. dort wo man es ausführen kann, in /usr/local/bin oder ~/bin, je nach Geschmack und Einstellungen im System). Man mache es dann ausführbar:

chmod +x a2hocrpdf.sh
(evt. auch mit sudo und vollständigem Pfad, sollte klar sein…)

Nun kann man loslegen – ein kurzes Beispiel zur Anwendung. Typischerweise wird man Scanvorlagen haben, welche durchnummeriert sind. Nehmen wir an, wir haben die Dateien scan0001.png, scan0002.png und scan0003.png. Wir wollen daraus ein Sandwich-PDF bauen, das den verheißungsvollen Namen text.pdf trägt. Es ist im Übrigen nicht notwendig, dass die Vorlagen als png vorliegen, jedes andere von ImageMagick gelesene und in PDF integrierbare Format funktioniert auch (in der Praxis dürften das bmp, gif, jpg, tiff, u.ä. sein).

Dazu wechseln wir in das Verzeichnis (bzw. starten dort eine Shell), in welchem die gescannten Bild-Dateien liegen. Dann führen wir folgenden Befehl aus:

a2hocrpdf.sh text.pdf scan0001.png scan0002.png scan0003.png

Gegebenenfalls muss man den Pfad zu a2hocrpdf.sh vollständig angeben, damit es funktioniert. Alternativ kann man in der Bash auch a2hocrpdf.sh text.pdf *.png angeben, solange keine weiteren png-Dateien im Verzeichnis liegen.

Das Skript fängt dann an zu laufen und prüft zuerst einige Plausibilitätsgeschichten (Zeilen 13-40). Dann werden die Dateien einzeln konvertiert (Zeilen 44-58. Das Vorgehen macht gemischte Eingangs-Formate möglich, also z.B. png und gif können als Parameter übergeben werden). Die resultierenden Bilder werden mit Hilfe des PDF-Toolkit in eine PDF-Datei zusammengefasst (Zeile 62). Am Ende wird aufgeräumt und Erfolg gemeldet (Zeilen 65-72).

Das Skript ist nicht perfekt, funktioniert in der Praxis jedoch ganz gut. Für Verbesserungsvorschläge bin ich natürlich offen.

  •  
  • 5 Kommentare
  •  
Gravatar: MaxMax
14.07.2009
07:32

Update

Update der Download-Datei: Beim Aufruf von hocr2pdf wurde die -s Option eingefügt, um Wörter besser zu gruppieren.
Max.

Gravatar: robrob
08.12.2009
22:08

cuneiform

Hi,
versuche mich auch gerade an cuneiform.
Leider erkennt dieses in den allermeisten Fällen nur ziemlich Schrott. In Ausnahmefällen, z.B. wenn ich mit Gimp das Bild unglaublich verschönere, 2-Bit Farben einstelle und die Auflösung hoch genug ist, fällt etwas sinnvolles dabei raus. Hast du auch diese Probleme? Welche Version benutzt du?
-rob

Gravatar: maxmax
09.12.2009
15:37

Re: cuneiform

Hallo Rob,
eigentlich habe ich diese Probleme nicht. Es hängt auch von der verwendeten Schriftart ab. Die verwendete Spracheinstellung ist essentiell für die Erkennung. Stellst du bei cuneiform den -l Switch richtig? Ich verwende im Moment noch cuneiform 0.7.0 und hocr2pdf 0.7.6. https://bugs.launchpad.net/cuneiform-linux/+bug/344790 berichtet über mögliche Verschlechterungen in Version 0.8.0 von cuneiform. Möglicherweise hängt dein Problem damit zusammen.
Max.

Gravatar: Martin WildamMartin Wildam
22.12.2009
13:06

Version 0.7.0

Ich habe die Version v0.7.0 zwar nicht lange probiert, aber ich finde, die Qualität ist generell wesentlich schlechter als zB ABBY FineReader.
Nichtsdestotrotz hilft es bei hocr2pdf, den Parameter -s mitzugeben, dann ist das Problem mit den zu vielen Spaces im Text weitgehend behoben – natürlich auf der anderen Seite fehlen dann irgendwo Spaces, wo sie eigentlich hingehören, aber mein Eindruch ist, daß die -s-Variante etwas besser ist.

Gravatar: MaxMax
27.11.2009
11:47

Danke

Gut zu wissen – danke!
Ja, stimmt, der Parameter -s ist wirklich eine große Hilfe, das habe ich inzwischen auch immer wieder festgestellt.
Max.

Mein Kommentar
Ich möchte über jeden weiteren Kommentar benachrichtigt werden.

Zurück