Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
unpaper ist ein mächtiges Kommandozeilenprogramm zur Nachbearbeitung von fotokopierten/gescannten Bild- und Textvorlagen. Es wurde für die automatische Stapelverarbeitung von großen Datenmengen konzipiert (z.B. E-Books). Hauptziel der Entwicklung war es, für den Bildschirm besser lesbare PDF-Dokumente erstellen zu können, unpaper kann aber z.B. zur Vorbereitung von Texterkennung, Digitalisieren, Konservieren und Archivieren von gescannten Vorlagen verwendet werden.
unpaper ist in den Paketquellen vorhanden, folgende Pakete
unpaper (universe)
libtiff-tools (universe, optional)
netpbm (universe, optional, um Konvertierungen der Ausgabedateien durchzuführen (siehe Beispiel))
mit apturl
Paketliste zum Kopieren:
sudo apt-get install unpaper libtiff-tools netpbm
sudo aptitude install unpaper libtiff-tools netpbm
müssen installiert werden[1].
Die in den Paketquellen für Ubuntu 12.04 vorliegende Version 0.3 ist von 2007, für Ubuntu 14.04 ist Version 0.4.2 in den Quellen verfügbar. Das Programm wurde lange nicht weiterentwickelt und wird vom ursprünglichen Entwickler nicht weiter betreut. Aufgelaufene Bugs werden aber in einem unpaper-Fork aufgegriffen und bearbeitet, dort existiert eine weiterentwickelte Version 6.1 (November 2015). Das Quellcode-Archiv kann von dort heruntergeladen, entpackt[2] und standardmäßig kompiliert/installiert werden[3], dazu wird allerdings eine aktuelle libav-Version nötig, die man sich aus dem Quellcode erstellen muss (getestet mit Version 6.0 mit libav 11 ). Ggf. kann man sich unter Ubuntu 12.04 mit einem Paket für eine neuere Ubuntu-Version behelfen, da in den Quellen ab Ubuntu 12.10 die gegenüber 0.3 deutlich verbesserte Version 0.4.2 verfügbar ist. Version 6.1 ist ab Ubuntu 16.04 in den Paketquellen enthalten.
unpaper verarbeitet pbm, pgm und ppm-Formate aus der netbm-Familie . Die Formate werden auch als Ausgabeformat verwendet; .ppm ist das Format, mit dem z.B. die Scanwerkzeuge scanimage (Teil von SANE) und scanadf arbeiten, auch XSane verwendet "intern" dieses Format. Ab Version 0.6 können auch .png und etliche .tiff-Varianten direkt verarbeitet werden.
Mit unpaper können eine Vielzahl von Verbesserungen vorgenommen werden, mit denen auch aus sehr dürftigen Vorlagen gute Resultate erzielt werden können. Der typische Ablauf stellt sich in folgenden Schritten dar:
Verarbeitungsschritte | ||
Aktion | Kurzbeschreibung | ggf. Deaktivierung, gefolgt von den Seitenangaben |
Laden der Vorlagen | Angabe aller zu bearbeitenden Vorlagen | |
Drehen, Spiegeln etc | gleiche Ausrichtung der Vorlagen | kein Standard |
Platzierung auf dem Blatt | Blattgröße wird automatisch anhand der Bildgrößen erstellt, wenn nicht anders festgelegt | --no-mask-center |
Flecken-, Rauschfilter | entfernt "Dreck" und unerwünschte Pixel aus der Vorlage | --no-noisefilter , --no-blurfilter |
Schwarz-, Graufilter | entfernt z.B. schwarze Randbalken und Hintergrundgrau | --no-blackfilter , --no-grayfilter |
Erkennung der Masken | Legt den zu verwendeten Ausschnitt aufgrund der angegebenen Markierung fest, mehrere Auschnitte sind möglich | --no-mask-scan |
Geradeziehen | Richtet Ausschnitte parallel zu den Blattkanten aus | --no-deskew |
Neue Maskierung | Neuausrichtung zur Präzisierung der gewählten Ausschnitte nach dem Geradeziehen | --no-scan-mask |
Zentrieren der Masken | Ausschnitte werden mittig gestellt | --no-mask-center |
Randerkennung | Randeinstellungen werden ausgelesen | --no-border |
Ausrichten des Randes | Anpassen der Ränder | --no-border-align |
Ausgabe | Speichern der Ergebnisse | Standard: Eingabeformat = Ausgabeformat, bestehende Dateinamen werden nicht überschrieben |
ggf. weitere Bearbeitungsschritte | z.B. weitere Maskierungen, Bildverbesserungen, Kompression etc. vorm Speichern ausführen |
Dabei lassen sich einzelne Schritte natürlich auch überspringen; sie können auch nur für bestimmte Seiten weggelassen/verwendet werden (so ist z.B. beim Schwarz/Graufilter Vorsicht geboten, wenn in einzelnen Vorlagen Grafiken/Fotos oder z.B. Balkendiagramme vorhanden sind). Mit unpaper können sowohl mehrere Seiten (einzelne Bild-Dateien) auf ein "Blatt" platziert werden, als auch doppelseitige Bild-Dateien (zweiseitige Scans) auf einzelne "Blätter" aufgeteilt werden.
Die einzelnen Schritte sind über eine Vielzahl von Optionen beeinflussbar, die komplette Dokumentation ist bei installiertem Programm über /usr/share/doc/unpaper/doc/index.html aufrufbar; die Optionen werden auch in der Manpage beschrieben.
Der Aufruf erfolgt im Terminal[4] nach folgendem Muster:
unpaper [options] input-file(s) output-file(s)
Der Aufruf kann dabei eine Variable zur Verwendung eines Seitenzählers für mehrseitige Projekte beinhalten, der mit "%
" beginnt; also z.B. document%03d.ppm
, um alle Vorlagen mit einer dreistelligen Zählung (document001.ppm, document002.ppm document003.ppm) der Reihe nach zu verarbeiten.
Um die Anwendung für bestimmte Optionen auf bestimmte Seiten zu verhindern, wird folgende Syntax verwendet
unpaper (...andere Optionen...) --no-greyfilter 5,23,25-31,48 ( weitere Optionen...)
Hier würde die Verwendung des Graufilters für die Seiten 5, 23, und 25 bis einschließlich 31 und 48 verhindert; auf alle anderen Seiten würden der Filter angewendet werden.
Es empfiehlt sich, vor Gesamtanwendung die Ergebnisse für einzelne Seiten zu überprüfen und ggf. anzupassen, insbesondere die Fleck- und Rauschfilter-Einstellungen müssen bei niedrigeren Auflösungen (200 dpi und kleiner) vermutlich angepasst werden.
Die Einstellungsmöglichkeiten sind sehr komplex, und können hier nicht in allen Einzelheiten erläutert werden. Als Anschauung das in der Dokumentation angegebene Beispiel einer "Komplettverarbeitung" mit anschließendem Erstellen eines PDF-Dokuments.
Ein idealtypischer Ablauf eines Bearbeitungsprozesses vom Scan bis zum PDF-Dokument könnte so aussehen:
Mit einem Scannner mit automatischem Einzug werden die Vorlagen als .pgm-Dateien gescannt:
scanadf [...scanner-spezifische Options...] -o scan%03d.pgm
Natürlich kann auch ein normaler Scanner mit anderer Scansoftware verwendet werden; die Ausgabedateien müssen aber nach dem Muster scan001.pgm, scan002.pgm scan003.pgm etc. durchnummeriert sein.
Es erfolgt die Anwendung von unpaper mit Durchführung aller automatischen Korrekturen für alle Seiten, bis auf die Titelseite. Außerdem werden die automatische Erkennung der Masken, sowie des Geradeziehens und Zentrieren der Ausschnitte für die Seiten 100-110 und die Seite 200 ausgesetzt:
unpaper -v --layout double --pre-rotate -90 --no-processing 1 --no-mask-scan 100-110,200 scan%03d.pgm unpaper%03d.pgm
Dabei führt die Option -v
("verbose") führt zu ausführlicheren Ausgaben im Terminal; --layout double
platziert jeweils zwei Seiten auf einem Blatt im Querformat --prerotate -90
dreht die Vorlagen vor allen anderen Bearbeitungsschritten um 90 Grad gegen den Uhrzeigersinn.
Alternativ wird unpaper im Folgenden so ausgeführt, dass zwei Vorlageseiten zusammen auf eine Ausgabeblatt platziert werden (dabei wird davon ausgegangen, dass die Eingabe-Dateien jeweils aus einer einzelnen Seite bestehen). Alle automatischen Korrekturen werden mit den Standard-Einstellungen durchgeführt, nachdem die Ausgabegröße auf eine DinA4-Seite im Querformat festgelegt wurde (andere verwendbaren Blattgrößen lassen sich in der Dokumentation für die Option --size
entnehmen).
Die erste Seite soll dabei auf der rechten Hälfte des ersten Ausgabeblattes erscheinen (wie bei Büchern allgemein üblich), daher muss zunächst an Anfang eine leere Halbseite eingefügt werden, damit die linke Hälfte des ersten Ausgabeblattes leer bleibt.
unpaper -v --layout double --size a4-landscape --input-pages 2 --insert-blank 1 scan%03d.pgm unpaper%03d.pgm
Die erstellten .pgm-Dateien werden nun in einzelne .tiff-Dateien umgewandelt
for i in `ls unpaper*`; do pnmtotiff $i > $i.tiff; done
und die einzelnen .tiff-Dateien zu einer mehrseitigen .tiff-Datei zusammengefasst:
tiffcp *.tiff all.tiff
Aus dieser mehrseitigen Datei wird jetzt ein PDF-Dokument erstellt
tiff2pdf -z -o Document.pdf all.tiff
Die Ausgangsdaten müssen natürlich nicht direkt gescannt werden, es lassen sich auf bestehende "digitale" Dokument (PDF oder andere Bild-Dateien) verwenden. So können bereits existierende Dokumente nachbearbeitet werden. Zum Konvertieren in das pgm/pbm/ppm-Format bieten sich verschiedene Werkzeuge an, (ImageMagick, GIMP u.a.)
Die Option zum Aufsplitten von Seiten (--output-pages 2
) funktioniert anscheinend nicht richtig; die Seiten werde zwar aufgeteilt, allerdings stimmen die Seitengrößen für die resultierenden Ausgaben nicht mit den eingestellten überein: es entstehen oft sehr hohe, schmale Ausgaben. Eine Lösung ist derzeit nicht bekannt.
gscan2pdf und OCRFeeder verwenden unpaper intern, und bieten einige (aber längst nicht alle) Einstellungsmöglichkeiten über ihre grafischen Oberflächen.
Scan Tailor bietet mit einer grafischen Oberfläche bessere direkte Einfluss- und Korrekturmöglichkeiten, kann aber nicht den Umfang an Funktionen zur Bearbeitung der Vorlagen liefern. Einige Möglichkeiten zur Bearbeitung biete auch das Kommandozeilenwerkzeug ImageMagick, siehe dort Gescannte Dokumente nachbesssern.
Projektseite der Weiterentwicklung von Unpaper (letzte Veröffentlichung Unpaper 0.6, August 2014) ) - Version 4.2 ist Ubuntu 14.04 in den Paketquellen
Fotografieren statt Scannen , Anleitung, Bücher mit SLR-Kamera zu "archivieren"
Thread mit ausführlichen unpaper-Anwendungsbeispielen auf essential-freebies.de
Diese Revision wurde am 10. November 2015 16:18 von nitsnatsnok erstellt.