Anar al contingut

Scanner Access Now Easy

De L'Enciclopèdia, la wikipedia en valencià
Archiu:XSane.png
Scanner Access Now Easy

Scanner Access Now Easy (SANE) és una interfaç de programació d'aplicacions (API) que proporciona accés estandardisat a qualsevol dispositiu d'escanege (escàner de sobretaula, escàner de mà, cambres i videocámaras, etc.). El API de SANE és de domini públic i la seua discussió i desenroll està obert a tot lo món.

SANE diferix de TWAIN en que diferencia clarament els frontends (programes d'usuari) i els backends (controladors dels escáneres) disminuint el temps de desenroll i la duplicació de còdic. Mentres que el controlador TWAIN maneja tant l'Interfaç d'usuari com les comunicacions en l'escàner, el controlador de SANE solament proporciona un interfaç en el dispositiu i descriu un número de "opcions" que controla cada escanege.

Estes opcions especifiquen paràmetros tals com la resolució d'escanege, l'àrea d'escanege, model de color, etc. Cada opció té un nom, i l'informació sobre el seu tipo, unitats, i ranc o valors possibles (per eixemple una llista enumerada). Per convenció hi ha vàries opcions "ben conegudes" en els que els frontends[1] poden interactuar en els GUI convenients p.i les opcions de l'àrea d'escanege poden establir-se arrastrant un requadro sobre una image preliminar. Atres opcions poden ser presentades utilisant elements GUI adequats al seu tipo p.i deslizadores, caixes de llistat, botons, etc.

Una conseqüència d'esta separació és que s'implementa fàcilment l'escanejat a través de la ret sense un control específic tant per part dels frontends com dels backends.[2] En un host en un escàner, s'eixecuta el dimoni saned que maneja les peticions en ret. En les màquines clients, el backend "net" (controlador) es conecta al servidor remot per a prendre les opcions de l'escàner, i realisar tant l'escanege preliminar com l'escanege final. El dimoni saned actua com un frontend localment, pero simplement passa les peticions i les senyes entre les conexions de ret i l'escàner local. D'igual manera, el backend "net" passa les peticions i les senyes entre el frontend local i el host remot.

Varis tipos de processament per lots són possibles en un mínim de soport necessari en el backend (controlador). Molts escáneres soporten l'utilisació d'alimentadors de documents que permeten que un gran número de fulls de paper siguen escanejades de forma successiva. Utilisant la API de SANE, el frontend simplement té que "eixecutar" el mateix conjunt d'opcions per a cada escanejat, controlant l'alimentador de documents entre escaneos per a carregar el següent full de paper. El frontend solament té que obtindre el conjunt d'opcions de l'usuari una volta.

Estructura

[editar | editar còdic]

Backends de SANE

[editar | editar còdic]

Els backends són els controladors que implementen les funcions que proporciona la capa d'abstracció de SANE per a la comunicació de les aplicacions d'usuari en els diferents dispositius d'escanege soportats.

Cada backend pot soportar un o varis dispositius ya que, en realitat, lo que el backend implementa és el protocol de comunicació en el chipset del dispositiu, el qual pot estar integrat en varis escáneres. Els identificadors dels dispositius soportats poden estar embebidos en el còdic font del backend o especificats en el seu archiu de configuració, el qual es troba en el directori 'sane.d' dins de '/etc' o ben '/usr/local/etc' (Pot variar en funció del sistema operatiu). Açò possibilita l'inclusió de nous escáneres especificant el seu ID sense necessitat de recompilar el software.


Els backends deuen aportar les següents funcions (a lo manco en la versió 1.0.25):[3]

Archiu:Sane-net.png
  • sane_init
  • sane_get_devices
  • sane_open
  • sane_get_option_descriptor
  • sane_control_option
  • sane_get_parameters
  • sane_start
  • sane_read
  • sane_cancel
  • sane_set_io_mode
  • sane_get_select_fd
  • sane_close
  • sane_exit

Estes funcions proporcionen la funcionalitat necessària per a inicializar el dispositiu, obtindre i establir les opcions d'escanege, començar l'escanege, llegir l'image durant l'escanege, cancelar i realisar les operacions prèvies a la finalisació del mateix.

La llista de backends en els dispositius soportats pot trobar-se en SANE Supported devices

Interfaç DLL

[editar | editar còdic]

Per damunt dels backends es troba l'interfaç DLL, una biblioteca d'enllaç dinàmic que pot entendre's com un backend més, ya que implementa les mateixes funcions que estos pero proporciona la possibilitat d'utilisar més d'un backend.

Per a fer us dels backends, estos han d'estar registrats. Per a això, deu existir l'entrada corresponent en l'archiu 'dll.conf' localisat en el directori 'sane.d'

Quan un frontend inicia l'interfaç dll de SANE, esta inicializa els backends registrats en dll.conf, els quals realisen una agranada en busca dels dispositius soportats tornant per mig de sane_get_devices aquells que s'han trobat. Si qualsevol dels trobats coincidix en el desijat pel usuari, contínua la càrrega del frontend i es inicializan les senyes destinades al control de l'escàner seleccionat.

Frontends de SANE

[editar | editar còdic]
Archiu:DigiKam ICC profile.png
Frontend DigiKam.
Archiu:Kooka.png
Frontend Kooka.

Els frontends són aplicacions que fan us de la capa d'abstracció proporcionada per SANE per a accedir als dispositius d'escanege. Estos programes no tenen per qué conéixer el funcionament intern de cada dispositiu ya que d'eixe treball s'encarreguen els backends. Açò presenta a lo manco dos ventages. Per una part, els programadors de frontends poden dedicar el seu esforç en adaptar els seus programes als diferents entorns de treball disponibles, a millorar les prestacions i a facilitar el maneig dels escáneres per mig d'interfaços amigables de cara a l'usuari. Per un atre costat, al contrari que lo que ocorre en implementacions TWAIN proporcionades pels fabricants per a entorns Windows, estes aplicacions perduren a lo llarc del temps ya que el soport de nous escáneres es realisa de forma transparent per al frontend, permetent a l'usuari utilisar l'aplicació que li siga més familiar independentment de l'escàner que adquirixca en un futur.

Alguns eixemples de frontends coneguts són:

  • scanimage: Aplicació per a consola (modo text)
  • xscanimage: Versió per a X11
  • XSane: Versió per a GTK+
  • kooka: Aplicació per a entorns KDE

Atres aplicacions especialisades fan us de mòduls o plugins que proporcionen la funcionalitat d'un frontend per a accés als escáneres per mig de SANE, com per eixemple GIMP o OpenOffice.org.

Vore també

[editar | editar còdic]

Referències

[editar | editar còdic]