sane-project-website/man/sane-bh.5.html

519 wiersze
26 KiB
HTML

<HTML>
<HEAD>
<TITLE>sane-bh.5</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000><H1 ALIGN=CENTER><IMG SRC="/images/sane.png" HEIGHT=117 WIDTH=346></H1>
<H1>sane-bh.5</H1>
<HR>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
<B><A HREF="sane-bh.5.html">sane-bh(5)</A></B> SANE Scanner Access Now Easy <B><A HREF="sane-bh.5.html">sane-bh(5)</A></B>
</PRE>
<H2>NAME</H2><PRE>
sane-bh - SANE backend for Bell+Howell Copiscan II series document
scanners
</PRE>
<H2>DESCRIPTION</H2><PRE>
The <B>sane-bh</B> library implements a SANE (Scanner Access Now Easy) backend
that provides access to Bell+Howell Copiscan II series document scan-
ners. The Copiscan II 6338 has been the primary scanner model used
during development and testing, but since the programming interface for
the entire series is consistent the backend should work for the follow-
ing scanner models:
COPISCAN II 6338 Duplex Scanner with ACE
COPISCAN II 2135 Simplex Scanner
COPISCAN II 2137(A) Simplex Scanner (with ACE)
COPISCAN II 2138A Simplex Scanner with ACE
COPISCAN II 3238 Simplex Scanner
COPISCAN II 3338(A) Simplex Scanner (with ACE)
If you have a Bell+Howell scanner and are able to test it with this
backend, please contact <I>sane-devel@alioth-lists.debian.net</I> with the
model number and testing results. Have a look at
<I>http://www.sane-project.org/mailing-lists.html</I> concerning subscription
to sane-devel. Additionally, the author is curious as to the likelihood
of using this backend with the newer 4000 and 8000 series scanners. If
you have such a beast, please let me know.
The Bell+Howell Copiscan II series document scanners are high volume,
high throughput scanners designed for document scanning applications.
As such, they are lineart/grayscale scanners supporting a fixed number
of fairly low resolutions (e.g. 200/240/300dpi). However, they do have
a number of interesting and useful features suited to needs of document
imaging applications. This backend attempts to support as many of
these features as possible.
The main technical reference used in writing this backend is the <B>Bell</B>
<B>and</B> <B>Howell</B> <B>Copiscan</B> <B>II</B> <B>Remote</B> <B>SCSI</B> <B>Controller</B> <B>(RSC)</B> <B>OEM</B> <B>Technical</B> <B>Man-</B>
<B>ual</B> <B>Version</B> <B>1.5.</B> The Linux SCSI programming HOWTO, the SANE API docu-
mentation, and SANE source code were also extremely valuable resources.
The latest backend release, additional information and helpful hints
are available from the backend homepage:
<I>http://www.martoneconsulting.com/sane-bh.html</I>
</PRE>
<H2>DEVICE NAMES</H2><PRE>
This backend expects device names of the form:
<I>special</I>
Where <I>special</I> is the path-name for the special device that corresponds
to a SCSI scanner. For SCSI scanners, the special device name must be a
generic SCSI device or a symlink to such a device. Under Linux, such a
device name takes a format such as <I>/dev/sga</I> or <I>/dev/sg0</I>, for example.
See <B><A HREF="sane-scsi.5.html">sane-scsi(5)</A></B> for details.
</PRE>
<H2>OPTIONS</H2><PRE>
<B>Scan</B> <B>Mode</B> <B>Options:</B>
<B>--preview[=(yes|no)]</B> <B>[no]</B>
Request a preview-quality scan. When preview is set to yes
image compression is disabled and the image is delivered in a
<B>SANE_FRAME_GRAY</B> frame.
<B>--mode</B> <B>lineart|halftone</B> <B>[lineart]</B>
Selects the scan mode (e.g., lineart,monochrome, or color).
<B>--resolution</B> <B>200|240|300dpi</B> <B>[200]</B>
Sets the resolution of the scanned image. Each scanner model
supports a list of standard resolutions; only these resolutions
can be used.
<B>--compression</B> <B>none|g31d|g32d|g42d</B> <B>[none]</B>
Sets the compression mode of the scanner. Determines the type
of data returned from the scanner. Values are:
<B>none</B> - uncompressed data - delivered in a SANE_FRAME_GRAY frame
<B>g31d</B> - CCITT G3 1 dimension (MH) - delivered in a
SANE_FRAME_G31D frame
<B>g32d</B> - CCITT G3 2 dimensions (MR, K=4) - delivered in a
SANE_FRAME_G32D frame
<B>g42d</B> - CCITT G4 (MMR) - delivered in a SANE_FRAME_G42D frame
<B>NOTE</B>: The use of g31d, g32d, and g42d compression values causes
the backend to generate optional frame formats which may not be
supported by all SANE frontends.
<B>Geometry</B> <B>Options:</B>
<B>--autoborder[=(yes|no)]</B> <B>[yes]</B>
Enable/Disable automatic image border detection. When enabled,
the RSC unit automatically detects the image area and sets the
window geometry to match.
<B>--paper-size</B> <B>Custom|Letter|Legal|A3|A4|A5|A6|B4|B5</B> <B>[Custom]</B>
Specify the scan window geometry by specifying the paper size of
the documents to be scanned.
<B>--tl-x</B> <B>0..297.18mm</B> <B>[0]</B>
Top-left x position of scan area.
<B>--tl-y</B> <B>0..431.8mm</B> <B>[0]</B>
Top-left y position of scan area.
<B>--br-x</B> <B>0..297.18mm</B> <B>[297.18]</B>
Bottom-right x position of scan area.
<B>--br-y</B> <B>0..431.8mm</B> <B>[431.8]</B>
Bottom-right y position of scan area.
<B>Feeder</B> <B>Options:</B>
<B>--source</B> <B>Automatic</B> <B>Document</B> <B>Feeder|Manual</B> <B>Feed</B> <B>Tray</B> <B>[Automatic</B> <B>Document</B>
<B>Feeder]</B>
Selects the scan source (such as a document feeder). This
option is provided to allow multiple image scans with
<B><A HREF="xsane.1.html">xsane(1)</A></B>;<B>it</B>has<B>no</B>other<B>purpose.</B>
<B>--batch[=(yes|no)]</B> <B>[no]</B>
Enable/disable batch mode scanning. Batch mode allows scanning
at maximum throughput by buffering within the RSC unit. This
option is recommended when performing multiple pages scans until
the feeder is emptied.
<B>--duplex[=(yes|no)]</B> <B>[no]</B>
Enable duplex (dual-sided) scanning. The scanner takes an image
of each side of the document during a single pass through the
scanner. The front page is delivered followed by the back page.
Most options, such as compression, affect both the front and
back pages.
<B>--timeout-adf</B> <B>0..255</B> <B>[0]</B>
Sets the timeout in seconds for the automatic document feeder
(ADF). The value 0 specifies the hardware default value which
varies based on the scanner model.
<B>--timeout-manual</B> <B>0..255</B> <B>[0]</B>
Sets the timeout in seconds for semi-automatic feeder. The
value 0 specifies the hardware default value which varies based
on the scanner model.
<B>--check-adf[=(yes|no)]</B> <B>[no]</B>
Check ADF Status prior to starting scan using the OBJECT POSI-
TION command. Note that this feature requires RSC firmware
level 1.5 or higher and dip switch 4 must be in the on position.
NOTE: This option has not been tested extensively and may pro-
duce undesirable results.
<B>Enhancement:</B>
<B>--control-panel[=(yes|no)]</B> <B>[yes]</B>
Enables the scanner's control panel for selecting image enhance-
ment parameters. When the option is set to no the following
options are used to control image enhancement. See the
Bell+Howell scanner users' guide for complete information on ACE
functionality.
<B>--ace-function</B> <B>-4..4</B> <B>[3]</B>
Specify the Automatic Contrast Enhancement (ACE) Function.
<B>--ace-sensitivity</B> <B>0..9</B> <B>[5]</B>
Specify the Automatic Contrast Enhancement (ACE) Sensitivity.
<B>--brightness</B> <B>0..255</B> <B>[0]</B>
Controls the brightness of the acquired image. Ignored for ACE
capable scanners.
<B>--threshold</B> <B>0..255</B> <B>[0]</B>
Select minimum-brightness to get a white point. Ignored for ACE
capable scanners.
<B>--contrast</B> <B>0..255</B> <B>[inactive]</B>
Controls the contrast of the acquired image. This option is not
currently used by the scanner (and perhaps never will be).
<B>--negative[=(yes|no)]</B> <B>[no]</B>
Swap black and white, yielding a reverse-video image.
<B>Icon:</B>
<B>--icon-width</B> <B>0..3600pel</B> <B>(in</B> <B>steps</B> <B>of</B> <B>8)</B> <B>[0]</B>
Width of icon (thumbnail) image in pixels.
<B>--icon-length</B> <B>0..3600pel</B> <B>(in</B> <B>steps</B> <B>of</B> <B>8)</B> <B>[0]</B>
Length of icon (thumbnail) image in pixels.
<B>Barcode</B> <B>Options:</B>
<B>--barcode-search-bar</B> <B>&lt;see</B> <B>list&gt;</B> <B>[none]</B>
Specifies the barcode type to search for. If this option is not
specified, or specified with a value of none, then the barcode
decoding feature is completely disabled. The valid barcode type
are:
<B>none</B>
<B>ean-8</B>
<B>ean-13</B>
<B>reserved-ean-add</B>
<B>code39</B>
<B>code2-5-interleaved</B>
<B>code2-5-3lines-matrix</B>
<B>code2-5-3lines-datalogic</B>
<B>code2-5-5lines-industrial</B>
<B>patchcode</B>
<B>codabar</B>
<B>codabar-with-start-stop</B>
<B>code39ascii</B>
<B>code128</B>
<B>code2-5-5lines-iata</B>
<B>--barcode-search-count</B> <B>1..7</B> <B>[3]</B>
Number of times that the RSC performs the decoding algorithm.
Specify the smallest number possible to increase performance.
If you are having trouble recognizing barcodes, it is suggested
that you increase this option to its maximum value (7).
<B>--barcode-search-mode</B> <B>&lt;see</B> <B>list&gt;</B> <B>[horiz-vert]</B>
Chooses the orientation of barcodes to be searched. The valid
orientations are:
<B>horiz-vert</B>
<B>horizontal</B>
<B>vertical</B>
<B>vert-horiz</B>
<B>--barcode-hmin</B> <B>0..1660mm</B> <B>[5]</B>
Sets the barcode minimum height in millimeters (larger values
increase recognition speed). Of course the actual barcodes in
the document must be of sufficient size.
<B>--barcode-search-timeout</B> <B>20..65535us</B> <B>[10000]</B>
Sets the timeout for barcode searching in milliseconds. When
the timeout expires, the decoder will stop trying to decode bar-
codes.
<B>--section</B> <B>&lt;string&gt;</B> <B>[]</B>
Specifies a series of image sections. A section can be used to
gather a subset image or to provide a small area for barcode
decoding. Each section is specified in the following format
(units are in millimeters):
<B>&lt;width&gt;x&lt;height&gt;+&lt;top-left-x&gt;+&lt;top-left-y&gt;[:functioncode...]</B>
Multiple sections can be specified by separating them with commas.
For example <B>76.2x25.4+50.8+0:frontbar</B> identifies an area 3 inches wide
and 1 inch high with a top left corner at the top of the page two
inches from the left hand edge of the page. This section will be used
for barcode decoding on the front page only.
For example <B>50.8x25.4+25.4+0:frontbar:front:g42d</B> identifies an area 2
inches wide and 1 inch high with a top left corner at the top of the
page one inch from the left hand edge of the page. This section will
be used for barcode decoding on the front page as well as generating an
image compressed in g42d format.
Ordinarily barcodes are searched in the entire image. However, when
you specify sections all barcode searching is done within the specific
sections identified. This can significantly speed up the decoding
process.
The following function codes are available:
<B>front</B> - generate an image for the front page section
<B>back</B> - generate an image for the back page section
<B>frontbar</B> - perform barcode search in front page section
<B>backbar</B> - perform barcode search in back page section
<B>frontpatch</B> - perform patchcode search in front page section
<B>backpatch</B> - perform patchcode search in back page section
<B>none</B> - use no image compression
<B>g31d</B> - use Group 3 1 dimension image compression
<B>g32d</B> - use Group 3 2 dimensions image compression
<B>g42d</B> - use Group 4 2 dimensions image compression
If you omit a compression functioncode, the full page compression set-
ting is used. If you specify multiple compression functioncodes, only
the last one is used.
<B>--barcode-relmax</B> <B>0..255</B> <B>[0]</B>
Specifies the maximum relation from the widest to the smallest
bar.
<B>--barcode-barmin</B> <B>0..255</B> <B>[0]</B>
Specifies the minimum number of bars in Bar/Patch code.
<B>--barcode-barmax</B> <B>0..255</B> <B>[0]</B>
Specifies the maximum number of bars in a Bar/Patch code.
<B>--barcode-contrast</B> <B>0..6</B> <B>[3]</B>
Specifies the image contrast used in decoding. Use higher val-
ues when there are more white pixels in the code.
<B>--barcode-patchmode</B> <B>0..1</B> <B>[0]</B>
Controls Patch Code detection.
</PRE>
<H2>CONFIGURATION</H2><PRE>
The contents of the <I>bh.conf</I> file is a list of device names that corre-
spond to Bell+Howell scanners. See <B><A HREF="sane-scsi.5.html">sane-scsi(5)</A></B> on details of what
constitutes a valid device name. Additionally, options can be speci-
fied; these lines begin with the word "option". Each option is
described in detail below. Empty lines and lines starting with a hash
mark (#) are ignored.
</PRE>
<H2>OPTIONS</H2><PRE>
The following options can be specified in the <I>bh.conf</I> file.
<B>disable-optional-frames</B>
This option prevents the backend from sending any optional
frames. This option may be useful when dealing with frontends
which do not support these optional frames. When this option is
in effect, the data is sent in a <B>SANE_FRAME_GRAY</B> frame. The
optional frames sent by this backend are: <B>SANE_FRAME_G31D</B>,
<B>SANE_FRAME_G32D</B>, <B>SANE_FRAME_G42D</B> and <B>SANE_FRAME_TEXT</B>. These
frames are generated based on the compression and barcode
options. These frames are never sent in preview mode.
<B>fake-inquiry</B>
This option is used for debugging purposes and its use is not
encouraged. Essentially, it allows the backend to initialize in
the absence of a scanner. This is useful for development and
not much else. This option must be specified earlier in the
configuration file than the devices which are to be "faked".
</PRE>
<H2>FILES</H2><PRE>
<I>/usr/local/etc/sane.d/bh.conf</I>
The backend configuration file (see also description of
<B>SANE_CONFIG_DIR</B> below).
<I>/usr/local/lib/sane/libsane-bh.a</I>
The static library implementing this backend.
<I>/usr/local/lib/sane/libsane-bh.so</I>
The shared library implementing this backend (present on systems
that support dynamic loading).
</PRE>
<H2>ENVIRONMENT</H2><PRE>
<B>SANE_CONFIG_DIR</B>
This environment variable specifies the list of directories that
may contain the configuration file. On *NIX systems, the direc-
tories are separated by a colon (`:'), under OS/2, they are sep-
arated by a semi-colon (`;'). If this variable is not set, the
configuration file is searched in two default directories:
first, the current working directory (".") and then in
<I>/usr/local/etc/sane.d</I>. If the value of the environment variable
ends with the directory separator character, then the default
directories are searched after the explicitly specified directo-
ries. For example, setting <B>SANE_CONFIG_DIR</B> to "/tmp/config:"
would result in directories <I>tmp/config</I>, <I>.</I>, and
<I>/usr/local/etc/sane.d</I> being searched (in this order).
<B>SANE_DEBUG_BH</B>
If the library was compiled with debug support enabled, this
environment variable controls the debug level for this backend.
E.g., a value of 255 requests all debug output to be printed.
Smaller levels reduce verbosity.
</PRE>
<H2>SUPPORTED FEATURES</H2><PRE>
<B>ADF</B> <B>support</B>
With document scanners, automatic document feeder (ADF) support
is a key feature. The backend supports the ADF by default and
returns <B>SANE_STATUS_NO_DOCS</B> when the out-of-paper condition is
detected. The SANE frontend <B><A HREF="scanadf.1.html">scanadf(1)</A></B> is a command line fron-
tend that supports multi-page scans. It has been used success-
fully with this backend. The SANE frontend <B><A HREF="xsane.1.html">xsane(1)</A></B> is an
improved GUI frontend by Oliver Rauch. Support for multi-page
scans is included in xsane version 0.35 and above.
<B>Duplex</B> <B>scanning</B>
Some models, such as the COPISCAN II 6338, support duplex scan-
ning. That is, they scan both sides of the document during a
single pass through the scanner (the scanner has two cameras).
This backend supports duplex scanning (with the <B>--duplex</B>
option). The front and back page images are delivered consecu-
tively as if they were separately scanned pages.
<B>Hardware</B> <B>compression</B>
The scanner is capable of compressing the data into several
industry standard formats (CCITT G3, CCITT G3-2D, CCITT G4).
This results in increased performance as less data is passed
from the scanner to the host over the SCSI bus. The backend
supports these compression formats via the <B>--g31d,</B> <B>--g32d,</B>
<B>--g42d</B> options, respectively. Many SANE frontends are not
equipped to deal with these formats, however. The SANE frontend
<B><A HREF="scanadf.1.html">scanadf(1)</A></B> supports these optional frame formats. The com-
pressed image data is written directly to a file and can then be
processed by a scan-script using the <B>--scan-script</B> option.
Examples of this are given on the <B><A HREF="scanadf.1.html">scanadf(1)</A></B> homepage.
<B>Automatic</B> <B>Border</B> <B>Detection</B>
The scanner can automatically detect the paper size and adjust
the scanning window geometry appropriately. The backend sup-
ports this useful feature with the <B>--autoborder</B> option. It is
enabled by default.
<B>Batch</B> <B>Mode</B> <B>Scanning</B>
The batch scan mode allows for maximum throughput. The Set Win-
dow parameters must remain constant during the entire batch.
<B>Icon</B> <B>Generation</B>
The Icon function generates a thumbnail of the full page image,
that can be transferred as if it were a separate page. This
allows the host to quickly display a thumbnail representation
during the scanning operation. Perhaps this would be a great
way of implementing a preview scan, but since a normal scan is
so quick, it might not be worth the trouble.
<B>Multiple</B> <B>Sections</B>
Multiple sections (scanning sub-windows) can be defined for the
front and back pages. Each section can have different charac-
teristics (e.g. geometry, compression). The sections are
returned as if they were separately scanned images. Addition-
ally sections can be used to greatly enhance the accuracy and
efficiency of the barcode/patchcode decoding process by limiting
the search area to a small subset of the page. Most Copiscan II
series scanners support up to 8 user-defined sections.
<B>Support</B> <B>Barcode/Patchcode</B> <B>Decoding</B>
The RSC unit can recognize Bar and Patch Codes of various types
embedded in the scanned image. The codes are decoded and the
data is returned to the frontend as a text frame. The text is
encoded in xml and contains a great deal of information about
the decoded data such as the location where it was found, its
orientation, and the time it took to find. Further information
on the content of this text frame as well as some barcode decod-
ing examples can be found on the backend homepage.
</PRE>
<H2>LIMITATIONS</H2><PRE>
<B>Decoding</B> <B>a</B> <B>single</B> <B>barcode</B> <B>type</B> <B>per</B> <B>scan</B>
The RSC unit can search for up to six different barcode types at
a time. While the code generally supports this as well, the
<B>--barcode-search-bar</B> option only allows the user to specify a
single barcode type. Perhaps another option which allows a
comma separated list of barcode type codes could be added to
address this.
<B>Scanning</B> <B>a</B> <B>fixed</B> <B>number</B> <B>of</B> <B>pages</B> <B>in</B> <B>batch</B> <B>mode</B>
The separation of front and back end functionality in SANE
presents a problem in supporting the 'cancel batch' functional-
ity in the scanner. In batch mode, the scanner is always a page
ahead of the host. The host, knowing ahead of time which page
will be the last, can cancel batch mode prior to initiating the
last scan command. Currently, there is no mechanism available
for the frontend to pass this knowledge to the backend. If
batch mode is enabled and the <B>--end-count</B> terminates a scanadf
session, an extra page will be pulled through the scanner, but
is neither read nor delivered to the frontend. The issue can be
avoided by specifying <B>--batch=no</B> when scanning a fixed number of
pages.
<B>Revision</B> <B>1.2</B> <B>Patch</B> <B>detector</B>
There is an enhanced patchcode detection algorithm available in
the RSC with revision 1.2 or higher that is faster and more
reliable than the standard Bar/Patch code decoder. This is not
currently supported.
</PRE>
<H2>BUGS</H2><PRE>
This is a new backend; detailed bug reports are welcome -- and expected
;)
If you have found something that you think is a bug, please attempt to
recreate it with the <B>SANE_DEBUG_BH</B> environment variable set to 255, and
send a report detailing the conditions surrounding the bug to
<I>sane-devel@alioth-lists.debian.net</I>.
</PRE>
<H2>SEE ALSO</H2><PRE>
<B><A HREF="sane.7.html">sane(7)</A></B>, <B><A HREF="sane-scsi.5.html">sane-scsi(5)</A></B>, <B><A HREF="scanimage.1.html">scanimage(1)</A></B>, <B><A HREF="scanadf.1.html">scanadf(1)</A></B>, <B><A HREF="xsane.1.html">xsane(1)</A></B>
</PRE>
<H2>AUTHOR</H2><PRE>
The <B>sane-bh</B> <B>backend</B> was written by Tom Martone, based on the
<B><A HREF="sane-ricoh.5.html">sane-ricoh(5)</A></B> backend by Feico W. Dillema and the bnhscan program by
Sean Reifschneider of tummy.com ltd. Some 8000 enhancements added by
Mark Temple.
10 Jul 2008 <B><A HREF="sane-bh.5.html">sane-bh(5)</A></B>
</PRE>
<HR>
<ADDRESS>
Man(1) output converted with
<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
</ADDRESS>
</BODY>
</HTML>