Scanner Access Now Easy
Scanner Access Now Easy, kurz SANE, ist eine freie Programmierschnittstelle (API) für den Zugriff auf bildgebende Geräte wie Scanner, Digitalkameras, Videokameras und andere über verschiedene Schnittstellen (USB, SCSI etc.). Es findet hauptsächlich unter Linux Verwendung, mit Portierungen auf OS/2 bzw. eComStation, macOS und Windows. Es ist eine Alternative zu TWAIN als Programmierschnittstelle. Die zur Distribution gehörenden Anwendungs- und Hilfsprogramme stehen unter der GNU GPL, die Schnittstellenbeschreibung selbst ist jedoch gemeinfrei. AufbauIm Gegensatz zu TWAIN sind bei SANE die Funktionalitäten von Frontend und Backend strikt getrennt. Aufgabe der Backends ist die Kommunikation mit dem jeweiligen Bilderfassungsgerät über eine der zahlreichen unterstützten Schnittstellen (USB, FireWire, SCSI, Parallele Schnittstelle oder Serielle Schnittstelle). Daneben existieren auch Backends ohne eine physische Bildquelle, z. B. zum Generieren von Weißem Rauschen oder beliebigen anderen Bilddaten aus einem Prozess oder einer Bilddatei. Dazu kommt das spezielle net-Backend (siehe unten). Unabhängig von ihrer Implementierung stellen alle Backends eine einheitliche Schnittstelle zum Ansprechen der von ihnen unterstützten Quellen zur Verfügung, die den Kern der SANE-Definition bildet. Die Frontends stellen den zum Benutzer gerichteten Teil des Arbeitsablaufes dar und sind normalerweise in ein Anwendungsprogramm integriert. Durch die standardisierte Schnittstelle können alle Frontends mit allen Backends ohne Probleme verwendet werden, die verfügbaren Optionen werden lediglich durch die tatsächlichen Fähigkeiten der Bildquelle (Auflösung, Farbtiefe, mit oder ohne Einzelblatteinzug, Diawechsler usw.) beschränkt. Eine besondere Form eines Frontends stellt der zum Projekt gehörende saned dar (siehe unten). Die SANE-Distribution enthält bereits einige fertige Frontends, wie z. B. das Programm scanimage, mit dem sich in einem Skript automatisch Bilder einlesen lassen, ohne dafür eine grafische Benutzeroberfläche zu benötigen. Beispiele für FrontendsFrontends können sowohl auf das reine Bildeinlesen beschränkt sein als auch weitergehende Funktionen bieten.
NetzwerkscannerDie Aufgabenteilung zwischen Backend und Frontend macht es verhältnismäßig einfach, via SANE einen im Netzwerk verfügbaren Scanner zu betreiben. Der mitgelieferte Daemon saned greift als spezielles Frontend auf das zum Scanner gehörende Backend zu und stellt seine Dienste via TCP/IP (auf Port 6566) zur Verfügung. Am anderen Ende des Netzes agiert das net-Backend gegenüber dem lokalen Frontend und sorgt für die Weiterleitung aller Daten zum Daemon. Folge ist, dass alle anderen Frontends und damit auch Anwendungsprogramme keine Anpassungen benötigen, um einen (oder mehrere) Netzwerkscanner zu verwenden. SANE bietet keinen Schutz des Zugriffes auf den Scanner, es erfolgt keine Authentifizierung oder Autorisierung, alle Daten werden unverschlüsselt übertragen. Mittels TCP-Wrapper lässt sich die Verwendung begrenzen oder über SSH durch einen gesicherten Tunnel führen. Dank des net-Backends sind dafür nur Änderungen an dessen Konfiguration, nicht aber den eingesetzten Programmen nötig. Hilfsprogramme & Ergänzende Informationen
Weblinks
Einzelnachweise
|