sane-bh(5) SANE: ,,Scanner Access Now Easy" sane-bh(5)
NUME
sane-bh - controlor SANE pentru scanerele de documente Bell+Howell din
seria Copiscan II
DESCRIERE
Biblioteca sane-bh implementeaza un controlor SANE (Scanner Access Now
Easy) care ofera acces la scanerele de documente din seria Bell+Howell
Copiscan II. Copiscan II 6338 a fost modelul principal de scaner
utilizat in timpul dezvoltarii >i testarii, dar deoarece interfa>a
de programare pentru intreaga serie este consecventa, controlorul ar
trebui sa func>ioneze pentru urmatoarele modele de scaner:
COPISCAN II 6338 - Scaner duplex cu ACE
COPISCAN II 2135 - Scaner simplu
COPISCAN II 2137(A) - Scaner simplu (cu ACE)
COPISCAN II 2138A - Scaner simplu cu ACE
COPISCAN II 3238 - Scaner simplu
COPISCAN II 3338(A) - Scaner simplu (cu ACE)
Daca ave>i un scaner Bell+Howell >i pute>i sa il testa>i cu
acest controlor va rugam sa contacta>i
sane-devel@alioth-lists.debian.net cu numarul modelului >i
rezultatele testarii. Arunca>i o privire la
http://www.sane-project.org/mailing-lists.html cu privire la abonarea
la sane-devel. In plus, autorul este curios cu privire la
probabilitatea de a utiliza acest controlor cu scanerele mai noi din
seriile 4000 >i 8000. Daca ave>i o astfel de ,,bestie", va rog
sa-mi spune>i.
Scanerele de documente Bell+Howell din seria Copiscan II sunt scanere
de volum mare, cu randament ridicat, concepute pentru aplica>ii de
scanare a documentelor. Ca atare, acestea sunt scanere lineare/in scara
de gri care accepta un numar fix de rezolu>ii destul de scazute (de
exemplu, 200/240/300 dpi). Cu toate acestea, ele dispun de o serie de
caracteristici interesante >i utile, adaptate nevoilor aplica>iilor
de procesare a imaginilor din documente. Acest controlor incearca sa
asigure suport pentru cat mai multe dintre aceste caracteristici.
Principala referin>a tehnica utilizata la scrierea acestui controlor
este Bell and Howell Copiscan II Remote SCSI Controller (RSC) OEM
Technical Manual Version 1.5. HOWTO-ul de programare Linux SCSI,
documenta>ia SANE API >i codul sursa SANE au fost, de asemenea,
resurse extrem de valoroase.
Cea mai recenta versiune a controlorului, informa>ii suplimentare
>i sfaturi utile sunt disponibile pe pagina principala a
controlorului:
http://www.martoneconsulting.com/sane-bh.html
NUME DE DISPOZITIVE
Acest controlor a>teapta nume de dispozitive de forma:
special
Unde special este numele de ruta pentru dispozitivul special care
corespunde unui scaner SCSI. In cazul scanerelor SCSI, numele
dispozitivului special trebuie sa fie un dispozitiv SCSI generic sau o
legatura simbolica catre un astfel de dispozitiv. In Linux, un astfel
de nume de dispozitiv are un format ca /dev/sga sau /dev/sg0, de
exemplu. Pentru detalii, consulta>i sane-scsi(5).
OP>IUNI
Op>iuni pentru modul de scanare:
--preview[=(yes|no)] [no]
Solicita o scanare cu calitate de previzualizare. Atunci cand
previzualizarea este stabilita la ,,yes", compresia imaginii
este dezactivata >i imaginea este livrata intr-un cadru
SANE_FRAME_GRAY.
--mode lineart|halftone [lineart]
Selecteaza modul de scanare (de exemplu, lineart (desen grafic),
monocrom sau color).
--resolution 200|240|300dpi [200]
Stabile>te rezolu>ia imaginii scanate. Fiecare model de
scaner accepta o lista de rezolu>ii standard; numai aceste
rezolu>ii pot fi utilizate.
--compression none|g31d|g32d|g42d [none]
Stabile>te modul de compresie al scanerului. Determina tipul
de date returnate de scaner. Valorile sunt:
none - date necomprimate - livrate intr-un cadru SANE_FRAME_GRAY
g31d - CCITT G3 1 dimension (MH) - livrate intr-un cadru
SANE_FRAME_G31D
g32d - CCITT G3 2 dimensions (MR, K=4) - livrate intr-un cadru
SANE_FRAME_G32D
g42d - CCITT G4 (MMR) - livrate intr-un cadru SANE_FRAME_G42D
NOTA: Utilizarea valorilor de compresie g31d, g32d >i g42d
determina controlorul sa genereze formate de cadre op>ionale
care pot sa nu fie acceptate de toate interfe>ele SANE.
Op>iuni geometrie:
--autoborder[=(yes|no)] [yes]
Activeaza/dezactiveaza detectarea automata a marginii imaginii.
Atunci cand este activata, unitatea RSC detecteaza automat zona
imaginii >i ajusteaza geometria ferestrei pentru a se potrivi.
--paper-size Custom|Letter|Legal|A3|A4|A5|A6|B4|B5 [Custom]
Specifica geometria ferestrei de scanare prin specificarea
dimensiunii hartiei documentelor care urmeaza sa fie scanate.
--tl-x 0..297.18mm [0]
Pozi>ia x din stanga-sus a zonei de scanare.
--tl-y 0..431.8mm [0]
Pozi>ia y din stanga-sus a zonei de scanare.
--br-x 0..297.18mm [297.18]
Pozi>ia x din dreapta-jos a zonei de scanare.
--br-y 0..431.8mm [431.8]
Pozi>ia y din dreapta-jos a zonei de scanare.
Op>iuni pentru alimentator:
--source Automatic Document Feeder|Manual Feed Tray [Automatic Document
Feeder]
Selecteaza sursa de scanare (cum ar fi un alimentator de
documente). Aceasta op>iune este oferita pentru a permite
scanarea mai multor imagini cu xsane(1); nu are alt scop.
--batch[=(yes|no)] [no]
Activeaza/dezactiveaza scanarea in modul lot. Modul lot permite
scanarea la capacitate maxima prin stocarea datelor in memoria
tampon din unitatea RSC. Aceasta op>iune este recomandata la
scanarea mai multor pagini pana cand alimentatorul este golit.
--duplex[=(yes|no)] [no]
Activeaza scanarea duplex (fa>a-verso). Scanerul capteaza o
imagine a fiecarei fe>e a documentului in timpul unei singure
treceri prin scaner. Prima pagina este livrata urmata de pagina
din spate. Majoritatea op>iunilor, cum ar fi compresia,
afecteaza atat pagina din fa>a, cat >i cea din spate.
--timeout-adf 0..255 [0]
Stabile>te timpul de a>teptare in secunde pentru
alimentatorul automat de documente (ADF). Valoarea 0 specifica
valoarea implicita hardware care variaza in func>ie de modelul
scanerului.
--timeout-manual 0..255 [0]
Stabile>te timpul de a>teptare in secunde pentru
alimentatorul semiautomat. Valoarea 0 specifica valoarea
implicita hardware care variaza in func>ie de modelul
scanerului.
--check-adf[=(yes|no)] [no]
Verifica starea ADF inainte de a incepe scanarea utilizand
comanda OBJECT POSITION (Pozi>ia obiectului). Re>ine>i ca
aceasta func>ie necesita nivelul de firmware RSC 1.5 sau mai
mare >i comutatorul dip 4 trebuie sa fie in pozi>ia pornit.
NOTA: Aceasta op>iune nu a fost testata extensiv >i poate
produce rezultate nedorite.
Imbunata>ire:
--control-panel[=(yes|no)] [yes]
Activeaza panoul de control al scanerului pentru selectarea
parametrilor de imbunata>ire a imaginii. Atunci cand
op>iunea este stabilita la ,,no", urmatoarele op>iuni sunt
utilizate pentru a controla imbunata>irea imaginii.
Consulta>i ghidul de utilizare a scanerului Bell+Howell pentru
informa>ii complete privind func>ionalitatea ACE.
--ace-function -4..4 [3]
Specifica func>ia de imbunata>ire automata a contrastului
(,,Automatic Contrast Enhancement": ACE).
--ace-sensitivity 0..9 [5]
Specifica sensibilitatea imbunata>irii automate a contrastului
(ACE).
--brightness 0..255 [0]
Controleaza luminozitatea imaginii achizi>ionate. Ignorata
pentru scanerele compatibile ACE.
--threshold 0..255 [0]
Selecteaza luminozitatea minima pentru a ob>ine un punct alb.
Ignorata pentru scanerele compatibile ACE.
--contrast 0..255 [inactive]
Controleaza contrastul imaginii achizi>ionate. Aceasta
op>iune nu este utilizata in prezent de scaner (>i poate ca
nu va fi niciodata).
--negative[=(yes|no)] [no]
Interschimba albul >i negrul, ob>inand o imagine video
inversa.
Pictograma:
--icon-width 0..3600pel (in pa>i de 8) [0]
La>imea imaginii pictogramei (miniaturii) in pixeli.
--icon-length 0..3600pel (in pa>i de 8) [0]
Lungimea imaginii pictogramei (miniaturii) in pixeli.
Op>iuni cod de bare:
--barcode-search-bar [none]
Specifica tipul de cod de bare care trebuie cautat. Daca aceasta
op>iune nu este specificata sau este specificata cu o valoare
de ,,none" (niciunul), func>ia de decodificare a codurilor de
bare este complet dezactivata. Tipurile de coduri de bare valide
sunt:
none
ean-8
ean-13
reserved-ean-add
code39
code2-5-interleaved
code2-5-3lines-matrix
code2-5-3lines-datalogic
code2-5-5lines-industrial
patchcode
codabar
codabar-with-start-stop
code39ascii
code128
code2-5-5lines-iata
--barcode-search-count 1..7 [3]
Numarul de ori in care RSC efectueaza algoritmul de
decodificare. Specifica>i cel mai mic numar posibil pentru a
cre>te performan>a. Daca ave>i probleme cu recunoa>terea
codurilor de bare, se sugereaza sa mari>i aceasta op>iune la
valoarea maxima (7).
--barcode-search-mode [horiz-vert]
Alege orientarea codurilor de bare care urmeaza sa fie cautate.
Orientarile valide sunt:
horiz-vert
horizontal
vertical
vert-horiz
--barcode-hmin 0..1660mm [5]
Stabile>te inal>imea minima a codului de bare in milimetri
(valorile mai mari cresc viteza de recunoa>tere). Desigur,
codurile de bare reale din document trebuie sa aiba dimensiuni
suficiente.
--barcode-search-timeout 20..65535us [10000]
Stabile>te timpul limita pentru cautarea codurilor de bare in
milisecunde. Cand expira timpul de a>teptare, decodificatorul
nu va mai incerca sa decodifice coduri de bare.
--section <>ir> []
Specifica o serie de sec>iuni de imagine. O sec>iune poate
fi utilizata pentru a colecta un subset de imagini sau pentru a
oferi o zona mica pentru decodificarea codurilor de bare.
Fiecare sec>iune este specificata in urmatorul format
(unita>ile sunt in milimetri):
ime>xime>++[:
cod-func>ie...]
Mai multe sec>iuni pot fi specificate prin separarea lor cu virgule.
De exemplu, 76.2x25.4+50.8+0:frontbar identifica o zona de 3 inch
la>ime >i 1 inch inal>ime, cu un col> stanga sus in partea de
sus a paginii, la doi inch de marginea stanga a paginii. Aceasta
sec>iune va fi utilizata pentru decodificarea codurilor de bare numai
pe prima pagina.
De exemplu, 50.8x25.4+25.4+0:frontbar:front:g42d identifica o zona de 2
inci la>ime >i 1 inci inal>ime, cu un col> stanga sus in partea
de sus a paginii, la un inci de marginea stanga a paginii. Aceasta
sec>iune va fi utilizata pentru decodificarea codurilor de bare pe
prima pagina, precum >i pentru generarea unei imagini comprimate in
format g42d.
In mod normal, codurile de bare sunt cautate in intreaga imagine. Cu
toate acestea, atunci cand specifica>i sec>iuni, toate cautarile
codurilor de bare se fac in sec>iunile specifice identificate. Acest
lucru poate accelera semnificativ procesul de decodificare.
Sunt disponibile urmatoarele coduri de func>ie:
front - genereaza o imagine pentru sec>iunea din fa>a a
paginii
back - genereaza o imagine pentru sec>iunea din partea din
spate a paginii
frontbar - efectueaza cautarea codului de bare in sec>iunea
din fa>a a paginii
backbar - efectueaza cautarea codului de bare in sec>iunea din
partea din spate a paginii
frontpatch - efectueaza cautarea de patchcode in sec>iunea din
fa>a a paginii
frontpatch - efectueaza cautarea de patchcode in sec>iunea din
partea din spate a paginii
none - nu utilizeaza compresia imaginii
g31d - utilizeaza compresia unidimensionala a imaginii grupului
3
g31d - utilizeaza compresia bidimensionala a imaginii grupului 3
g42d - utilizeaza compresia bidimensionala a imaginii grupului 4
Daca omite>i un cod de func>ie de compresie, se utilizeaza valoarea
de compresie a paginii complete. Daca specifica>i mai multe coduri de
func>ie de compresie, se utilizeaza numai ultimul.
--barcode-relmax 0..255 [0]
Specifica rela>ia maxima de la bara cea mai lata la cea mai
ingusta.
--barcode-barmin 0..255 [0]
Specifica numarul minim de bare din codul Bar/Patch.
--barcode-barmax 0..255 [0]
Specifica numarul maxim de bare dintr-un cod Bar/Patch.
--barcode-contrast 0..6 [3]
Specifica contrastul imaginii utilizat in decodificare.
Utiliza>i valori mai mari atunci cand exista mai mul>i
pixeli albi in cod.
--barcode-patchmode 0..1 [0]
Controleaza detectarea codului de bare-patch.
CONFIGURARE
Con>inutul fi>ierului bh.conf este o lista de nume de dispozitive
care corespund scanerelor Bell+Howell. Consulta>i sane-scsi(5) pentru
detalii despre ce constituie un nume de dispozitiv valid. In plus, pot
fi specificate op>iuni; aceste linii incep cu cuvantul ,,option".
Fiecare op>iune este descrisa in detaliu mai jos. Liniile goale >i
liniile care incep cu un simbol hash (#) sunt ignorate.
OP>IUNI
Urmatoarele op>iuni pot fi specificate in fi>ierul bh.conf:
disable-optional-frames
Aceasta op>iune impiedica controlorul sa trimita orice cadre
op>ionale. Aceasta op>iune poate fi utila in cazul
interfe>elor care nu accepta aceste cadre op>ionale. Atunci
cand aceasta op>iune este in vigoare, datele sunt trimise
intr-un cadru SANE_FRAME_GRAY. Cadrele op>ionale trimise de
acest controlor sunt: SANE_FRAME_G31D, SANE_FRAME_G32D,
SANE_FRAME_G42D >i SANE_FRAME_TEXT. Aceste cadre sunt generate
pe baza op>iunilor de compresie >i cod de bare. Aceste cadre
nu sunt niciodata trimise in modul previzualizare.
fake-inquiry
Aceasta op>iune este utilizata in scopuri de depanare >i
utilizarea sa nu este incurajata. In esen>a, permite
controlorului sa se ini>ializeze in absen>a unui scaner.
Acest lucru este util pentru dezvoltare >i nu prea multe
altele. Aceasta op>iune trebuie sa fie specificata mai inainte
in fi>ierul de configurare de dispozitivele care urmeaza sa
fie ,,falsificate".
FI>IERE
/etc/sane.d/bh.conf
Fi>ierul de configurare al controlorului (a se vedea, de
asemenea, descrierea SANE_CONFIG_DIR de mai jos).
/usr/lib/sane/libsane-bh.a
Biblioteca statica care implementeaza acest controlor.
/usr/lib/sane/libsane-bh.so
Biblioteca partajata care implementeaza acest controlor
(prezenta pe sistemele care accepta incarcare dinamica).
MEDIU
SANE_CONFIG_DIR
Aceasta variabila de mediu specifica lista de directoare care
pot con>ine fi>ierul de configurare. In sistemele *NIX,
directoarele sunt separate prin doua puncte (,,:"), in OS/2, ele
sunt separate prin punct >i virgula (,,;"). Daca aceasta
variabila nu este definita, fi>ierul de configurare este
cautat in doua directoare implicite: mai intai, in directorul de
lucru curent (,,.") >i apoi in /etc/sane.d. Daca valoarea
variabilei de mediu se termina cu caracterul de separare a
directoarelor, atunci directoarele implicite sunt cautate dupa
directoarele specificate explicit. De exemplu, daca se
define>te SANE_CONFIG_DIR la ,,/tmp/config:", se vor cauta (in
aceasta ordine) directoarele tmp/config, . >i /etc/sane.d.
SANE_DEBUG_BH
Daca biblioteca a fost compilata cu suportul de depanare
activat, aceasta variabila de mediu controleaza nivelul de
depanare pentru acest controlor. De exemplu, o valoare de 255
solicita imprimarea tuturor datelor de depanare. Nivelurile mai
mici reduc volumul de informa>ii.
CARACTERISTICI ACCEPTATE
Suport ADF
In cazul scanerelor de documente, suportul pentru alimentatorul
automat de documente (ADF) este o caracteristica esen>iala.
Controlorul accepta in mod implicit ADF-ul >i returneaza
SANE_STATUS_NO_DOCS atunci cand este detectata condi>ia de
ie>ire din hartie. Interfa>a SANE scanadf(1) este o
interfa>a de linie de comanda care accepta scanari de mai
multe pagini. Aceasta a fost utilizata cu succes cu acest
controlor. Interfa>a SANE xsane(1) este o interfa>a GUI
imbunata>ita de Oliver Rauch. Suportul pentru scanari
multipagina este inclus in <> versiunea 0.35 >i
versiunile ulterioare.
Scanare duplex
Unele modele, cum ar fi COPISCAN II 6338, accepta scanarea
duplex. Adica, acestea scaneaza ambele par>i ale documentului
in timpul unei singure treceri prin scaner (scanerul are doua
camere). Acest controlor permite scanarea duplex (cu op>iunea
--duplex). Imaginile de pe prima >i a doua pagina sunt livrate
consecutiv, ca >i cum ar fi fost pagini scanate separat.
Compresie hardware
Scanerul este capabil sa comprime datele in mai multe formate
standard industriale (CCITT G3, CCITT G3-2D, CCITT G4). Acest
lucru duce la cre>terea performan>ei, deoarece mai pu>ine
date sunt transmise de la scaner la gazda pe magistrala SCSI.
Controlorul accepta aceste formate de compresie prin op>iunile
--g31d, --g32d, --g42d, respectiv. Cu toate acestea, multe
interfe>e SANE nu sunt echipate pentru a face fa>a acestor
formate. Interfa>a SANE scanadf(1) accepta aceste formate de
cadre op>ionale. Datele imaginii comprimate sunt scrise direct
intr-un fi>ier >i pot fi apoi prelucrate de un scan-script
folosind op>iunea --scan-script. Pe pagina de pornire
scanadf(1) sunt oferite exemple in acest sens.
Detectarea automata a marginilor
Scanerul poate detecta automat dimensiunea hartiei >i poate
ajusta corespunzator geometria ferestrei de scanare. Controlorul
accepta aceasta caracteristica utila cu op>iunea --autoborder.
Aceasta este activata in mod implicit.
Scanare in mod lot
Modul de scanare pe loturi permite un randament maxim.
Parametrii ferestrei configurate trebuie sa ramana constan>i
pe parcursul intregului lot.
Generarea de pictograme
Func>ia Icon genereaza o miniatura a imaginii intregii pagini,
care poate fi transferata ca >i cum ar fi o pagina separata.
Acest lucru permite gazdei sa afi>eze rapid o reprezentare in
miniatura in timpul opera>iei de scanare. Poate ca aceasta ar
fi o modalitate excelenta de a implementa o scanare cu
previzualizare, dar, deoarece o scanare normala este atat de
rapida, s-ar putea sa nu merite osteneala.
Sec>iuni multiple
Mai multe sec>iuni (subferestre de scanare) pot fi definite
pentru prima >i ultima pagina. Fiecare sec>iune poate avea
caracteristici diferite (de exemplu, geometrie, compresie).
Sec>iunile sunt returnate ca >i cum ar fi fost imagini
scanate separat. In plus, sec>iunile pot fi utilizate pentru a
spori considerabil precizia >i eficien>a procesului de
decodificare a codurilor de bare/patchcode-urilor prin limitarea
zonei de cautare la o mica parte a paginii. Majoritatea
scanerelor din seria Copiscan II accepta pana la 8 sec>iuni
definite de utilizator.
Suport pentru decodificarea codurilor de bare/patchcode
Unitatea RSC poate recunoa>te coduri de bare >i
patchcode-uri de diferite tipuri incorporate in imaginea
scanata. Codurile sunt decodificate, iar datele sunt returnate
catre interfa>a sub forma unui cadru de text. Textul este
codificat in xml >i con>ine o mul>ime de informa>ii
despre datele decodificate, cum ar fi locul in care au fost
gasite, orientarea lor >i timpul necesar pentru a le gasi.
Informa>ii suplimentare privind con>inutul acestui cadru de
text, precum >i cateva exemple de decodificare a codurilor de
bare pot fi gasite pe pagina principala a controlorului.
LIMITARI
Decodificarea unui singur tip de cod de bare per scanare
Unitatea RSC poate cauta simultan pana la >ase tipuri diferite
de coduri de bare. De>i codul accepta, in general, >i acest
lucru, op>iunea --barcode-search-bar permite utilizatorului sa
specifice doar un singur tip de cod de bare. Poate ca o alta
op>iune care sa permita o lista de coduri de tip cod de bare
separate prin virgule ar putea fi adaugata pentru a rezolva
aceasta problema.
Scanarea unui numar fix de pagini in modul lot
Separarea dintre func>ionalitatea frontala (de interfa>a cu
utilizatorul) >i cea din spate (controlorul) in SANE prezinta
o problema in ceea ce prive>te sus>inerea
func>ionalita>ii ,,anulare lot" in scaner. In modul lot,
scanerul este intotdeauna cu o pagina inaintea gazdei. Gazda,
>tiind dinainte care pagina va fi ultima, poate anula modul
lot inainte de ini>ierea ultimei comenzi de scanare. In
prezent, nu exista niciun mecanism disponibil pentru ca
interfa>a sa transmita aceste informa>ii catre controlor.
Daca modul lot este activat >i --end-count incheie o sesiune
scanadf(1), o pagina suplimentara va fi scoasa prin scaner, dar
nu va fi nici citita, nici transmisa catre interfa>a. Problema
poate fi evitata prin specificarea --batch=no la scanarea unui
numar fix de pagini.
Revizia 1.2 Patch detector
Exista un algoritm imbunata>it de detectare a patchcode-urilor
disponibil in RSC cu versiunea 1.2 sau superioara, care este mai
rapid >i mai fiabil decat decodorul standard de coduri de
bare/patchcode-uri. Acesta nu este acceptat in prezent.
ERORI
Rapoartele detaliate despre erori sunt binevenite -- >i a>teptate
;)
Daca a>i gasit ceva care crede>i ca este o eroare, va rugam sa
incerca>i sa o recrea>i cu variabila de mediu SANE_DEBUG_BH
stabilita la 255 >i sa trimite>i un raport care sa detalieze
condi>iile in care s-a produs eroarea la
sane-devel@alioth-lists.debian.net.
CONSULTA>I >I
sane(7), sane-scsi(5), scanimage(1), scanadf(1), xsane(1)
AUTOR
controlorul sane-bh a fost scris de Tom Martone, pe baza controlorului
sane-ricoh(5) de Feico W. Dillema >i a programului <> de
Sean Reifschneider de la tummy.com ltd. Aproximativ 8000 de
imbunata>iri adaugate de Mark Temple.
TRADUCERE
Traducerea in limba romana a acestui manual a fost facuta de Remus-
Gabriel Chelu
Aceasta traducere este documenta>ie gratuita; citi>i Licen>a
publica generala GNU Versiunea 3
sau o versiune ulterioara
cu privire la condi>ii privind drepturile de autor. NU se asuma
NICIO RESPONSABILITATE.
Daca gasi>i erori in traducerea acestui manual, va rugam sa
trimite>i un e-mail la .
10 iulie 2008 sane-bh(5)