BEZEICHNUNG
sane-bh - SANE-Backend für Dokumentenscanner der Bell+Howell Copiscan II-SerieBESCHREIBUNG
Die Bibliothek sane-bh implementiert ein SANE- (Scanner Access Now Easy-) Backend, das Zugriff auf Dokumentenscanner der Bell+Howell Copiscan II-Serie ermöglicht. Während der Entwicklung und des Testens war der Copiscan II 6338 das primäre Scanner-Modell, aber da die Programmierschnittstelle für die gesamte Serie konsistent ist, sollte es für die folgenden Scanner-Modelle funktionieren:COPISCAN II 6338 Duplex-Scanner mit ACE
COPISCAN II 2135 Simplex-Scanner
COPISCAN II 2137(A) Simplex-Scanner (mit ACE)
COPISCAN II 2138A Simplex-Scanner mit ACE
COPISCAN II 3238 Simplex-Scanner
COPISCAN II 3338(A) Simplex-Scanner (mit ACE)
Falls Sie einen Bell+Howell-Scanner haben und in der Lage sind, ihn mit diesem
Backend zu testen, informieren Sie bitte (auf Englisch)
[email protected] mit der Modellnummer und den
Testergebnissen. Schauen Sie auf
http://www.sane-project.org/mailing-lists.html bezüglich des
Abonnements von Sane-devel. Zusätzlich ist der Autor bezüglich
der Wahrscheinlichkeit, dieses Backend mit den neueren Scannern der 4000- und
8000-Serie zu verwenden, neugierig. Falls Sie so ein Teil haben, lassen Sie es
mich wissen.
Die Dokumentenscanner der Bell+Howell Copiscan II-Serie sind für
Dokumenten-Scan-Anwendungen für große Mengen und hohen Durchsatz
entwickelt. Daher sind sie Lineart-/Graustufen-Scanner, die eine feste Anzahl
an relativ geringen Auflösungen unterstützen (z.B. 200/240/300
DPI). Allerdings verfügen sie über eine Reihe von interessanten
und nützlichen Funktionalitäten, die für die
Bedürfnisse von Dokumentdarstellungsanwendungen geeignet sind. Dieses
Backend versucht, so viele dieser Funktionalitäten wie möglich
zu unterstützen.
Die beim Schreiben dieses Backends verwendete zentrale technische Referenz war
das Technical Manual Version 1.5 des Bell and Howell Copiscan II
Remote SCSI Controller (RSC) OEM. Das Linux-SCSI-Programmier-HOWTO, die
SANE-API-Dokumentation und der SANE-Quellcode waren auch extrem wertvolle
Ressourcen.
GERÄTENAMEN
Dieses Backend erwartet Gerätenamen der folgenden Form:Spezialdatei
Die angegebene Spezialdatei ist der Pfadname eines Spezialgeräts,
das einem SCSI-Scanner entspricht. Für SCSI-Scanner muss der Name des
Spezialgeräts ein generisches SCSI-Gerät oder ein symbolischer
Link zu so einem Gerät sein. Unter Linux hat ein solcher
Gerätename beispielsweise das Format /dev/sga oder
/dev/sg0. Siehe sane-scsi(5) für Details.
OPTIONEN
- Scanmodus-Optionen:
- --preview[=(yes|no)] [no]
- fordert einen Scan in Vorschau-Qualität an. Wenn --preview auf »yes« gesetzt ist, wird die Bildkomprimierung deaktiviert und das Bild wird in einem SANE_FRAME_GRAY-Rahmen geliefert.
- --mode lineart|halftone [lineart]
- wählt den Scan-Modus (z.B. lineart, monochrome oder color).
- --resolution 200|240|300dpi [200]
- wählt die Auflösung des gescannten Bildes. Jedes Scanner-Modell unterstützt eine Reihe von Standardauflösungen; nur diese Auflösungen können verwendet werden.
- --compression none|g31d|g32d|g42d [none]
- setzt den Kompressionsmodus des Scanners. Bestimmt die Art der Daten, die vom Scanner zurückgeliefert werden. Werte sind:
- Geometrie-Optionen:
- --autoborder[=(yes|no)] [yes]
- aktiviert/deaktiviert die automatische Bildkantenerkennung. Die RSC-Einheit wird automatisch den Bildbereich erkennen und die passende Fenstergeometrie setzen, wenn diese Option aktiviert ist.
- --paper-size Custom|Letter|Legal|A3|A4|A5|A6|B4|B5 [Custom]
- gibt die Scanfenster-Geometrie an, indem die Papiergröße der einzuscannenden Dokumente angegeben wird.
- --tl-x 0..297.18mm [0]
- Obere linke x-Position des Scanbereichs.
- --tl-y 0..431.8mm [0]
- Obere linke y-Position des Scanbereichs.
- --br-x 0..297.18mm [297.18]
- Untere rechte x-Position des Scan-Bereichs.
- --br-y 0..431.8mm [431.8]
- Untere rechte y-Position des Scan-Bereichs.
- Einzug-Optionen:
- --source Automatic Document Feeder|Manual Feed Tray [Automatic Document Feeder]
- wählt die Scan-Quelle (wie einen Dokumenteneinzug). Diese Option wird bereitgestellt, um mehrfache Bildscans mit xsane(1) zu erlauben, sie hat keinerlei anderen Zweck.
- --batch[=(yes|no)] [no]
- aktiviert/deaktiviert Stapelmodusscannen. Stapelmodus erlaubt das Scannen bei maximalem Durchsatz durch Puffern innerhalb der RSC-Einheit. Diese Option wird empfohlen, wenn mehrere Seiten-Scans durchgeführt werden, bis die Zuführung leer ist.
- --duplex[=(yes|no)] [no]
- aktiviert Duplex- (doppelseitiges) Scannen. Der Scanner nimmt ein Bild von jeder Seite des Dokuments auf, während eines einzigen Durchlaufs durch den Scanner. Die Vorderseite wird ausgeliefert, gefolgt von der Rückseite. Die meisten Optionen, wie Komprimierung, betreffen sowohl die Vorder- als auch die Rückseite.
- --timeout-adf 0..255 [0]
- setzt die Zeitüberschreitung in Sekunden für den automatischen Dokumenteneinzug (ADF). Der Wert 0 legt die Hardware-Vorgabe fest, die vom Scanner-Modell abhängt.
- --timeout-manual 0..255 [0]
- setzt die Zeitüberschreitung in Sekunden für semi-automatische Dokumentenzuführungen. Der Wert 0 legt die Hardware-Vorgabe fest, die vom Scanner-Modell abhängt.
- --check-adf[=(yes|no)] [no]
- prüft vor dem Starten des Scans den ADF-Status mittels des Befehls »OBJECT POSITION«. Beachten Sie, dass diese Funktionalität die RSC-Firmwarestufe 1.5 oder höher benötigt und der Kippschalter 4 in der Ein-Position sein muss. Beachten Sie: Diese Option wurde nicht ausführlich getestet und könnte unerwünschte Ergebnisse liefern.
- Verbesserung:
- --control-panel[=(yes|no)] [yes]
- aktiviert das Steuerfeld des Scanners zur Auswahl von Bildverbesserungsparametern. Wenn die Option auf »no« gesetzt ist, werden die folgenden Optionen zur Steuerung der Bildverbesserung verwendet. Siehe die Benutzeranleitung der Bell+Howell-Scanner für die vollständigen Informationen über die ACE-Funktionalität.
- --ace-function -4..4 [3]
- legt die automatische Kontrastverbesserungs- (ACE-)Funktion fest.
- --ace-sensitivity 0..9 [5]
- legt die Empfindlichkeit der Kontrastverbesserung (ACE) fest.
- --brightness 0..255 [0]
- steuert die Helligkeit des aufgenommenen Bildes. Für ACE-fähige Scanner wird dies ignoriert.
- --threshold 0..255 [0]
- wählt die minimale Helligkeit, um einen Weißpunkt zu erhalten. Für ACE-fähige Scanner wird dies ignoriert.
- --contrast 0..255 [inactive]
- steuert den Kontrast des aufgenommenen Bildes. Diese Option wird derzeit vom Scanner nicht verwendet (und wird dies wahrscheinlich auch nie).
- --negative[=(yes|no)] [no]
- tauscht schwarz und weiß, führt zu einem invertierten Bild.
- Icon:
- --icon-width 0..3600pel (in Schritten von 8) [0]
- Breite des Icons (Minibildes) in Pixel.
- --icon-length 0..3600pel (in Schritten von 8) [0]
- Länge des Icons (Minibildes) in Pixel.
- Barcode-Optionen:
- --barcode-search-bar <siehe Liste> [none]
- legt den Barcodetyp fest, nach dem gesucht werden soll. Falls diese Option nicht oder mit einem Wert »none« angegeben ist, dann wird die Barcode-Dekodierfunktionalität komplett deaktiviert. Die gültigen Barcodetypen sind:
- --barcode-search-count 1..7 [3]
- Anzahl, wie oft der RSC den Dekodieralgorithmus durchführen soll. Um die Leistung zu erhöhen, geben Sie den kleinstmöglichen Wert an. Falls Probleme beim Erkennen des Barcodes auftreten, wird empfohlen, dass Sie diese Option auf ihren Maximalwert (7) erhöhen.
- --barcode-search-mode <siehe Liste> [horiz-vert]
- wählt die Orientierung der Barcodes, nach denen gesucht werden soll. Die gültigen Orientierungen sind:
- --barcode-hmin 0..1660mm [5]
- setzt die minimale Höhe des Barcodes in Millimetern (größere Werte erhöhen die Erkennungsgeschwindigkeit). Natürlich müssen die tatsächlichen Barcodes im Dokument von geeigneter Größe sein.
- --barcode-search-timeout 20..65535us [10000]
- setzt die Zeitüberschreitung für die Barcode-Suche in Millisekunden. Wenn die Zeitüberschreitung abgelaufen ist, wird der Dekoder aufhören zu versuchen, nach Barcodes zu suchen.
- --section <Zeichenkette> []
- legt eine Reihe von Bildabschnitten fest. Ein Abschnitt kann zum Erfassen eines Teilbildes oder eines kleineren Bereichs für die Suche nach Barcodes verwendet werden. Jeder Abschnitt wird in dem folgenden Format angegeben (Einheiten sind Millimeter):
- --barcode-relmax 0..255 [0]
- legt die maximale Beziehung vom breitesten zum schmalsten Balken fest.
- --barcode-barmin 0..255 [0]
- legt die minimale Anzahl an Balken in Bar-/Patch-Code fest.
- --barcode-barmax 0..255 [0]
- legt die maximale Anzahl an Balken in Bar-/Patch-Code fest.
- --barcode-contrast 0..6 [3]
- legt den beim Dekodieren verwendeten Bildkontrast fest. Verwenden Sie höhere Werte, wenn es mehr weiße Pixel im Code gibt.
- --barcode-patchmode 0..1 [0]
- steuert die Erkennung des Patch-Codes.
KONFIGURATION
Der Inhalt der Datei bh.conf ist eine Liste von Dateinamen, die Bell+Howell-Scannern entsprechen. Siehe sane-scsi(5) bezüglich der Details, wie ein gültiger Dateiname aufgebaut ist. Zusätzlich können Optionen angegeben werden; diese Zeilen beginnen mit dem Wort »option«. Jede Option wird im Detail nachfolgend beschrieben. Leere Zeilen und solche, die mit einer Raute (#) beginnen, werden ignoriert.OPTIONEN
Die folgenden Optionen können in der Datei bh.conf festgelegt werden:- disable-optional-frames
- Diese Option verhindert, dass das Backend optionale Rahmen sendet. Diese Option kann nützlich sein, wenn Oberflächen ins Spiel kommen, die diese zusätzlichen Rahmen nicht unterstützen. Wenn diese Option wirksam ist, werden die Daten in einem SANE_FRAME_GRAY-Rahmen gesendet. Die von diesem Backend optional gesendeten Rahmen sind: SANE_FRAME_G31D, SANE_FRAME_G32D, SANE_FRAME_G42D und SANE_FRAME_TEXT. Diese Rahmen werden basierend auf den Komprimierungs- und Barcode-Optionen gesendet. Diese Rahmen werden niemals im Vorschaumodus gesendet.
- fake-inquiry
- Diese Option ist im Fehlersuchmodus nützlich und wird nicht empfohlen. Im Kern erlaubt sie es dem Backend, sich auch ohne vorhandenen Scanner zu initialisieren. Dies ist nur zu Entwicklungszwecken nützlich. Diese Option muss vor den Geräten, die fingiert werden sollen, in der Konfigurationsdatei festgelegt werden.
DATEIEN
- /etc/sane.d/bh.conf
- Die Backend-Konfigurationsdatei (siehe auch die nachfolgende Beschreibung von SANE_CONFIG_DIR).
- /usr/lib/x86_64-linux-gnu/sane/libsane-bh.a
- Die statische Bibliothek, die dieses Backend implementiert.
- /usr/lib/x86_64-linux-gnu/sane/libsane-bh.so
- Die dynamische Bibliothek, die dieses Backend implementiert (auf Systemen verfügbar, die dynamisches Laden unterstützen).
UMGEBUNGSVARIABLEN
- SANE_CONFIG_DIR
- Diese Umgebungsvariable gibt eine Liste von Verzeichnissen an, die die Konfigurationsdatei enthalten können. Auf *NIX-Systemen sind die Verzeichnisse durch Doppelpunkte (:) getrennt, unter OS/2 durch Semikola (;). Falls diese Variable nicht gesetzt ist, wird in zwei Standardverzeichnissen nach der Konfigurationsdatei gesucht: zuerst im aktuellen Arbeitsverzeichnis (.) und dann in /etc/sane.d. Falls der Wert der Umgebungsvariable mit dem Verzeichnis-Trennzeichen endet, dann werden die Standardverzeichnisse nach den explizit angegebenen Verzeichnissen durchsucht. Wenn Sie beispielsweise SANE_CONFIG_DIR auf »/tmp/config:« setzen, wird in den Verzeichnissen »tmp/config«, ».« und »/etc/sane.d« gesucht (in dieser Reihenfolge).
- SANE_DEBUG_BH
- Falls die Bibliothek mit Debug-Unterstützung kompiliert wurde, steuert diese Umgebungsvariable die Debug-Stufe für dieses Backend. Beispielsweise bewirkt ein Wert von 255 die Anzeige sämtlicher Debug-Ausgaben. Kleinere Werte reduzieren die Ausführlichkeit.
UNTERSTÜTZTE FUNKTIONEN
- ADF-Unterstützung
- Bei Dokumentenscannern ist die Unterstützung des automatischen Dokumenteneinzugs (ADF) eine Kernfunktionalität. Das Backend unterstützt standardmäßig ADF und liefert SANE_STATUS_NO_DOCS zurück, wenn die »Papier leer«-Bedingung aufgetreten ist. Die SANE-Oberfläche scanadf(1) ist eine Befehlszeilenoberfläche, die Mehrseiten-Scans unterstützt. Sie wurde mit diesem Backend erfolgreich verwendet. Die SANE-Oberfläche xsane(1) ist eine verbesserte GUI-Oberfläche von Oliver Rauch. Die Unterstützung für Mehrseiten-Scans ist in Xsane seit Version 0.35 enthalten.
- Duplex Scannen
- Einige Modelle, wie der COPISCAN II 6338, unterstützen das Duplex-Scannen. Das bedeutet, sie können während eines einzelnen Durchlaufs durch den Scanner beide Seiten eines Dokuments scannen (der Scanner hat zwei Kameras). Dieses Backend unterstützt Duplex-Scannen (mit der Option --duplex). Die Bilder der Vorder- und Rückseite werden nacheinander ausgeliefert, als ob sie separat gescannte Seiten wären.
- Hardware-Komprimierung
- Der Scanner ist in der Lage, die Daten in einer Reihe von Industriestandardformaten (CCITT G3, CCITT G3-2D, CCITT G4) zu komprimieren. Dies führt zu erhöhter Leistung, da weniger Daten vom Scanner über den SCSI-Bus an den Rechner weitergegeben werden müssen. Das Backend unterstützt diese Komprimierungen über die jeweiligen Optionen --g31d, --g32d, --g42d. Allerdings sind viele SANE-Oberflächen nicht dazu ausgerüstet, mit diesen Formaten umzugehen. Die SANE-Oberfläche scanadf(1) unterstützt diese optionalen Rahmenformate. Die komprimierten Bilddaten werden in eine Datei geschrieben und können dann über ein Scan-Skript mit der Option --scan-script weiterverarbeitet werden. Beispiele hierfür finden Sie auf der Homepage von scanadf(1).
- Automatische Randerkennung
- Der Scanner kann automatisch die Papiergröße erkennen und die Scan-Fenster-Geometrie entsprechend anpassen. Das Backend unterstützt diese nützliche Funktionalität mit der Option --autoborder. Sie ist standardmäßig aktiviert.
- Stapelmods-Scannen
- Der Stapelmodus-Scan erlaubt maximalen Durchsatz. Die »Set Window«-Parameter müssen während des gesamten Durchlaufs konstant bleiben.
- Icon-Erstellung
- Die Icon-Funktion erstellt ein Miniaturbild des vollständigen Seitenabbilds, das übertragen werden kann, als ob es eine getrennte Seite wäre. Dies ermöglicht es dem Rechner, während des Scannens schnell ein Miniaturbild anzuzeigen. Vielleicht wäre dies eine großartige Art, einen Vorschau-Scan zu implementieren, da aber der normale Scan so schnell ist, könnte dies den Arbeitsaufwand nicht rechtfertigen.
- Mehrere Abschnitte
- Mehrere Abschnitte (Scan-Teilfenster) können für die Vorder- und Rückseiten definiert werden. Jeder Abschnitt kann über andere Charakteristiken (z.B. Geometrie, Komprimierung) verfügen. Die Abschnitte werden zurückgeliefert, als ob sie getrennt gescannte Bilder wären. Zusätzliche Abschnitte können zur massiven Verbesserung der Genauigkeit und Effizienz des Barcode-/Patchcode-Dekodierungsprozesses verwendet werden, indem der Suchbereich auf einen kleinen Teil der Seite reduziert wird. Die meisten Scanner der Copiscan II-Serie unterstützen bis zu 8 benutzerdefinierte Abschnitte.
- Unterstützung für die Barcode-/Patchcode-Dekodierung
- Die RSC-Einheit kann Bar- und Patch-Codes verschiedener Typen erkennen, die in die Seite eingebettet sind. Die Codes werden dekodiert und die Daten an die Oberfläche als Textrahmen zurückgeliefert. Der Text ist in XML kodiert und enthält einen großen Umfang an Informationen über die dekodierten Daten, wie den Ort, wo sie gefunden wurden, die Orientierung und die Zeit, die zum Finden benötigt wurde. Weitere Informationen über den Inhalt dieses Textrahmens sowie ein paar Barcode-Dekodier-Beispiele können auf der Homepage des Backends gefunden werden.
EINSCHRÄNKUNGEN
- Dekodierung eines einzelnen Barcode-Typs pro Scan
- Die RSC-Einheit kann nach bis zu sechs verschiedenen Barcode-Typen pro Scan auf einmal suchen. Während der Code dies im Allgemeinen gut unterstützt, erlaubt die Option --barcode-search-bar nur die Angabe eines einzelnen Barcode-Typs. Vielleicht könnte eine weitere Option hinzugefügt werden, die dem Benutzer die Angabe einer Kommata-getrennten Liste an Barcode-Typen erlauben würde, um das zu erreichen.
- Scannen einer festen Seitenanzahl im Stapelmodus
- Die Trennung von Backend- und Oberflächenfunktionalität in SANE stellt ein Problem dar, die Funktionalität »Stapelverarbeitung abbrechen« beim Scanner zu unterstützen. Im Stapelverarbeitungsmodus ist der Scanner dem Rechner immer eine Seite voraus. Der Rechner, der vorab weiß, welche Seite die letzte sein wird, kann den Stapelverarbeitungsmodus abbrechen, bevor er den letzten Scan-Befehl initiiert. Derzeit ist für die Oberfläche kein Mechanismus verfügbar, um dieses Wissen an das Backend weiterzugeben. Falls der Stapelverarbeitungsmodus aktiviert ist und --end-count eine Scanadf-Sitzung abbricht, wird eine zusätzliche Seite durch den Scanner gezogen, die aber weder gelesen noch an die Oberfläche ausgeliefert wird. Dieses Problem kann vermieden werden, indem --batch=no beim Scannen einer festen Seitenanzahl verwendet wird.
- Revision 1.2 Patch-Erkenner
- Es gibt einen erweiterten Patchcode-Erkennungsalgorithmus, der in der RSC mit Version 1.2 oder höher verfügbar ist, der schneller und zuverlässiger als der Standard Bar-/Patchcode-Dekodierer ist. Dies wird derzeit nicht unterstützt.
FEHLER
Dies ist ein neues Backend, detaillierte Fehlerberichte (auf Englisch) werden begrüßt und erwartet ;) Falls Sie glauben, einen Fehler gefunden zu haben, versuchen Sie ihn zu reproduzieren, nachdem Sie die Umgebungsvariable SANE_DEBUG_BH auf 255 gesetzt haben und schicken Sie auf Englisch einen Bericht mit den detaillierten Bedingungen rund um den Fehler an [email protected].SIEHE AUCH
sane(7), sane-scsi(5), scanimage(1), scanadf(1), xsane(1)AUTOR
Das Backend sane-bh wurde von Tom Martone, basierend auf dem Backend sane-ricoh(5) von Feico W. Dillema und dem Programm Bnhscan von Sean Reifschneider von tummy.com ltd. geschrieben. Mark Temple fügte rund 8000 Verbesserungen hinzu.ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <[email protected]> und Helge Kreutzmann <[email protected]> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer10. Juli 2008 |