Linux zur Kopierstation aufrüsten

Aus LinuxUser 03/2011

Linux zur Kopierstation aufrüsten

© Skvoor, 123rf.com

Kopieren auf Knopfdruck

Wer eines der modernen All-in-One-Geräte mit integriertem Drucker und Scanner besitzt, kopiert einfach per Knopfdruck. Aber auch einen schlichten Linux-Rechner rüsten Sie mit wenigen Handgriffen zum Fotokopierer um.

Wenn Sie schnell mal eine Kopie benötigen, ist jeder Handgriff zu viel: Erst das Scan-Programm starten, ein Bild einscannen, anschließend die Bildbearbeitung für den Ausdruck bemühen? Viel zu viel Arbeit – es genügt auch ein Mausklick aufs Kopierer-Icon.

Einzige Voraussetzung: Linux unterstützt Ihren Scanner per Sane und Ihren Drucker mit Cups. Beide unterscheiden zwischen sogenannten Frontends und Backends. Das Sane-Frontend (bekanntester Vertreter ist Xsane) sagt dem Backend, wie es zu scannen hat, empfängt von diesem die Daten und zeigt sie an. Beim Drucken verhält sich die Angelegenheit umgekehrt: Das Cups-Frontend schickt die Druckdaten samt Druckanweisungen an das Cups-Backend, also den Cups-Server, der dann die Daten ausdruckt.

Die Lösung für den Fotokopierer besteht also darin, das einfache Sane-Frontend scanimage mit dem Cups-Frontend lp so zu verheiraten, dass der Drucker die Kopie ohne zusätzliche Interaktion ausgibt.

Im Folgenden gehen wir nicht auf die Basiskonfiguration von Scanner und Drucker ein, sondern setzen voraus, dass beide bereits richtig funktionieren. Moderne Distributionen erledigen das Einrichten der beiden Geräte im Allgemeinen sehr zuverlässig während der Installation. Das Frontend-Programm scanimage befindet sich übrigens aus historischen Gründen völlig unpassend im Paket sane-backends.

Bild rein…

Nicht alle Scanner besitzen den gleichen Funktionsumfang. Deswegen enthält Scanimage nicht einen festen Satz an Optionen, sondern lädt die zum Gerät passenden. Für den Einstieg genügt der Aufruf des Befehls scanimage > kopie.pnm ohne weitere Parameter.

Falls Sie mehrere Scanner besitzen, wählen Sie mit der Option -d Scan-Device das gewünschte Gerät (etwa epson2:libusb:001:005) aus. Die Option -L listet die Namen der verfügbaren Geräte auf. Um alle Optionen des ausgewählten Geräts auszugeben, verwenden Sie beispielsweise den Befehl

$ scanimage -d "epson2:libusb:001:005" --help

Für den angestrebten Kopierer müssen Sie das Kommando noch etwas aufpeppen. Im folgenden Beispiel soll er Farbkopien mit 150 dpi im Format DIN A4 erstellen – beide Werte passen Sie aber unschwer Ihren Bedürfnissen an. Bei dem Epson-Scanner des Autors sehen die notwendigen Befehle so aus wie in den Zeilen 3 und 4 von Listing 1.

Listing 1

#!/bin/bash
scanimage --mode Color --depth 8 \
--resolution 150 -x 210 -y 297 | \
lp -d hp5550_color -o media=a4 -o scaling=100

Die Option --mode wählt den Farbmodus (color oder gray), --resolution bestimmt die Auflösung. Ein Wert von 150 genügt normalerweise, denn selbst hochwertiger Magazindruck erfolgt in der Regel nur mit 300 dpi. Die einzige Ausnahme, die eine höhere Auflösung erfordert, wäre eine Bild-vom-Bild-Kopie auf hochwertigem Fotopapier. Aber in diesem Fall würde man doch lieber den Scan vor dem Druck noch einmal optimieren wollen.

Die Angaben -x 210 und -y 297 bestimmen Breite und Höhe in Millimeter, auch ein Offset ist möglich. Wenn der eigene Scanner maximal DIN A4 scannt, erübrigen sich diese Angaben.

Bild raus…

Genauso einfach wie der Scan gestaltet sich der der Druck. Je nach verwendeter Distribution kommen unterschiedliche Druckprogramme zum Einsatz, aber alle verwenden als Backend den Cups-Server. Das folgende Beispiel verwendet das Druckprogramm lp aus dem Paket cups-client:

$ lp -d std_color -o media=a4 -o scaling=100 kopie.pnm

Der Aufruf des Standarddruckprogramms lpr unterscheidet sich nur darin, dass lpr den Zieldrucker per -P anstelle von -d erwartet.

Für den Fotokopierer verwendet das Shell-Skript aus Listing 1 sowohl scanimage als auch lp. Damit nicht nach jedem Kopiervorgang die letzte Seite als Datei kopie.pnm auf dem Rechner bleibt, verknüpft das Skript die beiden Aufrufe per Pipe. Diese leitet die Ausgabe des Scanprogramms direkt an den Druckbefehl weiter.

Das Einrichten eines Programmknopfs für das Script erfolgt abhängig vom verwendeten Desktop. Normalerweise enthält die Bildersammlungen der Desktop-Umgebung schon ein ansprechendes Bild, KDE bietet zum Beispiel ein Scanner-Icon an.

Feinheiten

Nicht jeder Drucker druckt randlos DIN A4, was eine 1:1-Kopie verhindert. Zwei Varianten sorgen jedoch für Abhilfe: Entweder Sie scannen nur einen Ausschnitt und schneiden somit die Ränder schon beim Scan ab, oder der Druck verkleinert das Bild etwas, damit die gesamte Seite auf den bedruckbaren Bereich passt. Letzteres erledigt der Druckbefehl aus Listing 1 mittels der Option -o scaling=100.

Wenn Sie verschiedenartige Vorlagen kopieren oder Tinte sparen wollen, dann richten Sie am besten mehrere Scan-Icons ein: Etwa eines für exakte Farbkopien mit 300 dpi und eines für schnelle Schwarzweiß-Kopien.

Natürlich wäre auch auch das Implementieren eines kleinen Dialogs möglich, der diese Parameter abfragt – allerdings entspräche das dann beinahe den bestehenden Oberflächen wie Xsane. Möchten Sie mehr als eine Seite auf einmal kopieren, profitieren Sie vom Skript aus Listing 2. Es enthält gegenüber dem aus Listing 1 zwei Änderungen.

Listing 2

#!/bin/bash
MODE="Color"
RESOLUTION="150"
WIDTH="210"
HEIGHT="297"
PRINTER="hp5550_color"
MEDIA="a4"
while true; do
  scanimage --mode "$MODE" --depth 8 \
  --resolution "$RESOLUTION" -x "$WIDTH" -y "$HEIGHT" | \
  lp -d "$PRINTER" -o media="$MEDIA" -o scaling=100
  read -p "Nächste Kopie (oder e für Ende): " || break
  [ "$REPLY" = "e" -o "$REPLY" = "E" ] && break
done

Zum einen definiert es alle Parameter sauber am Anfang, was das Anpassen des Skripts erheblich vereinfacht. Zum anderen läuft es in einer Endlosschleife. Nach jedem Kopiervorgang wartet es auf eine Eingabe. Jeder Tastendruck außer [E] oder [Umschalt+[E] löst den nächsten Kopiervorgang aus.

Zumindest Epson-Scanner bieten zudem Optionen zum Anpassen des Kontrasts, der Schärfe und weiterer Parameter, die das Ergebnis beeinflussen. Um beim Experimentieren Papier und Tinte zu sparen, verwenden Sie einen virtuellen Drucker, etwa cups-pdf: Er erzeugt anstelle eines Ausdrucks eine PDF-Datei.

Fazit

Das einfache Kopierskript beweist die Mächtigkeit von Linux. Im Grunde genügt ein Einzeiler, um aus einem Drucker und Scanner quasi ein Multifunktionsgerät zu basteln. Genauso einfach geschieht das Weiterleiten des Scans an eine Mail-Adresse oder eine Faxnummer. 

Der Autor

Bernhard Bablok betreut bei der Allianz Shared Infrastructure Services ein großes Data-Warehouse mit technischen Performance-Messdaten von Servern bis zu Mainframes. Wenn er nicht Musik hört oder mit dem Rad beziehungsweise zu Fuß unterwegs ist, beschäftigt er sich mit Themen rund um Linux und Objektorientierung. Sie erreichen ihn unter mail@bablokb.de.

LinuxUser 03/2011 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben