scanimage(1) SANE Scanner Access Now Easy scanimage(1)
NAME
scanimage - scan an image
SYNOPSIS
scanimage [-d|--device-name dev] [--format format] [-i|--icc-profile
profile] [-L|--list-devices] [-f|--formatted-device-list format]
[-b|--batch [format]] [--batch-start start] [--batch-count count]
[--batch-increment increment] [--batch-double] [--accept-md5-only]
[-p|--progress] [-o|--output-file path] [-n|--dont-scan] [-T|--test]
[-A|--all-options] [-h|--help] [-v|--verbose] [-B|--buffer-size [=size]]
[-V|--version] [device-specific-options]
DESCRIPTION
scanimage is a command-line interface to control image acquisition
devices such as flatbed scanners or cameras. The device is controlled
via command-line options. After command-line processing, scanimage
normally proceeds to acquire an image. The image data is written to
standard output in one of the PNM (portable aNyMaP) formats (PBM for
black-and-white images, PGM for grayscale images, and PPM for color
images), TIFF format (black-and-white, grayscale or color), PNG format,
or JPEG format (compression level 75). scanimage accesses image
acquisition devices through the SANE (Scanner Access Now Easy) interface
and can thus support any device for which there exists a SANE backend
(try apropos sane- to get a list of available backends).
EXAMPLES
To get a list of devices:
scanimage -L
To scan with default settings to the file image.pnm:
scanimage >image.pnm
To scan 100x100 mm to the file image.tiff (-x and -y may not be available
with all devices):
scanimage -x 100 -y 100 --format=tiff >image.tiff
To print all available options:
scanimage -h
OPTIONS
There are two sets of options available when running scanimage.
The options that are provided by scanimage itself are listed below. In
addition, each backend offers its own set of options and these can also
be specified. Note that the options available from the backend may vary
depending on the scanning device that is selected.
Often options that are similar in function may be implemented differently
across backends. An example of this difference is --mode Gray and --mode
Grayscale. This may be due to differing backend author preferences. At
other times, options are defined by the scanning device itself and
therefore out of the control of the backend code.
Parameters are separated by a blank from single-character options (e.g.
-d epson) and by a "=" from multi-character options (e.g.
--device-name=epson).
-d dev, --device-name=dev
specifies the device to access and must be followed by a SANE
device-name like `epson:/dev/sg0' or `hp:/dev/usbscanner0'. A
(partial) list of available devices can be obtained with the
--list-devices option (see below). If no device-name is specified
explicitly, scanimage reads a device-name from the environment
variable SANE_DEFAULT_DEVICE. If this variable is not set,
scanimage will attempt to open the first available device.
--format=format
selects how image data is written to standard output or the file
specified by the --output-file option. format can be pnm, tiff,
png, or jpeg. If --format is not specified, PNM is written by
default.
-i profile, --icc-profile=profile
is used to include an ICC profile into a TIFF file.
-L, --list-devices
requests a (partial) list of devices that are available. The list
may not be complete since some devices may be available, but are
not listed in any of the configuration files (which are typically
stored in directory /opt/local/etc/sane.d). This is particularly
the case when accessing scanners through the network. If a device
is not listed in a configuration file, the only way to access it
is by its full device name. You may need to consult your system
administrator to find out the names of such devices.
-f format, --formatted-device-list=format
works similar to --list-devices, but requires a format string.
scanimage replaces the placeholders %d %v %m %t %i %n with the
device name, vendor name, model name, scanner type, an index
number and newline respectively. The command
scanimage -f " scanner number %i device %d is a %t, model %m,
produced by %v "
will produce something like:
scanner number 0 device sharp:/dev/sg1 is a flatbed
scanner, model JX250 SCSI, produced by SHARP
The --batch* options provide features for scanning documents using
document feeders.
-b [format], --batch=[format]
is used to specify the format of the filename that each
page will be written to. Each page is written out to a
single file. If format is not specified, the default of
out%d.pnm (or out%d.tif for --format tiff, out%d.png for
--format png or out%d.jpg for --format jpeg) will be used.
This option is incompatible with the --output-path option.
format is given as a printf style string with one integer
parameter.
--batch-start=start
selects the page number to start naming files with. If this
option is not given, the counter will start at 1.
--batch-count=count
specifies the number of pages to attempt to scan. If not
given, scanimage will continue scanning until the scanner
returns a state other than OK. Not all scanners with
document feeders signal when the ADF is empty. Use this
option to work around them.
--batch-increment=increment
sets the amount that the number in the filename is
incremented by. Generally this is used when you are
scanning double-sided documents on a single-sided document
feeder. --batch-double is a specific command provided to
aid this.
--batch-double
will automatically set the increment to 2. Equivalent to
--batch-increment=2
--batch-prompt
will ask for pressing RETURN before scanning a page. This
can be used for scanning multiple pages without an
automatic document feeder.
--accept-md5-only
only accepts user authorization requests that support MD5
security. The SANE network daemon saned(8) is capable of doing
such requests.
-p, --progress
requests that scanimage prints a progress counter. It shows how
much image data of the current image has already been received (in
percent).
-o path, --output-file=path
requests that scanimage saves the scanning output to the given
path. This option is incompatible with the --batch option. The
program will try to guess --format from the file name. If that is
not possible, it will print an error message and exit.
-n, --dont-scan
requests that scanimage only sets the options provided by the user
but doesn't actually perform a scan. This option can be used to
e.g. turn off the scanner's lamp (if supported by the backend).
-T, --test
requests that scanimage performs a few simple sanity tests to make
sure the backend works as defined by the SANE API. In particular
the sane_read() function is exercised by this test.
-A, --all-options
requests that scanimage lists all available options exposed by the
backend, including button options. The information is printed on
standard output and no scan will be performed.
-h, --help
requests help information. The information is printed on standard
output and no scan will be performed.
-v, --verbose
increases the verbosity of the output of scanimage. The option
may be specified repeatedly, each time increasing the verbosity
level.
-B [size], --buffer-size=[size]
changes input buffer size from the default of 32KB to size KB. If
size is not specified then the buffer is set to 1 MB.
-V, --version
requests that scanimage prints the program and package name, the
version number of the SANE distribution that it came with and the
version of the backend that it loads. If more information about
the version numbers of the backends are necessary, the DEBUG
variable for the dll layer can be used. Example: SANE_DEBUG_DLL=3
scanimage -L .
As you might imagine, much of the power of scanimage comes from the fact
that it can control any SANE backend. Thus, the exact set of command-
line options depends on the capabilities of the selected device. To see
the options for a device named dev, invoke scanimage via a command-line
of the form:
scanimage --help --device-name dev
The documentation for the device-specific options printed by --help is
best explained with a few examples:
-l 0..218mm [0]
Top-left x position of scan area.
The description above shows that option -l expects an option value
in the range from 0 to 218 mm. The value in square brackets
indicates that the current option value is 0 mm. Most backends
provide similar geometry options for top-left y position (-t),
width (-x) and height of scan-area (-y).
--brightness -100..100% [0]
Controls the brightness of the acquired image.
The description above shows that option --brightness expects an
option value in the range from -100 to 100 percent. The value in
square brackets indicates that the current option value is 0
percent.
--default-enhancements
Set default values for enhancement controls.
The description above shows that option --default-enhancements has
no option value. It should be thought of as having an immediate
effect at the point of the command-line at which it appears. For
example, since this option resets the --brightness option, the
option-pair --brightness 50 --default-enhancements would
effectively be a no-op.
--mode Lineart|Gray|Color [Gray]
Selects the scan mode (e.g., lineart or color).
The description above shows that option --mode accepts an argument
that must be one of the strings Lineart, Gray, or Color. The
value in the square bracket indicates that the option is currently
set to Gray. For convenience, it is legal to abbreviate the
string values as long as they remain unique. Also, the case of
the spelling doesn't matter. For example, option setting --mode
col is identical to --mode Color.
--custom-gamma[=(yes|no)] [inactive]
Determines whether a builtin or a custom gamma-table should be
used.
The description above shows that option --custom-gamma expects
either no option value, a "yes" string, or a "no" string.
Specifying the option with no value is equivalent to specifying
"yes". The value in square-brackets indicates that the option is
not currently active. That is, attempting to set the option would
result in an error message. The set of available options
typically depends on the settings of other options. For example,
the --custom-gamma table might be active only when a grayscale or
color scan-mode has been requested.
Note that the --help option is processed only after all other
options have been processed. This makes it possible to see the
option settings for a particular mode by specifying the
appropriate mode-options along with the --help option. For
example, the command-line:
scanimage --help --mode color
would print the option settings that are in effect when the color-
mode is selected.
--gamma-table 0..255,...
Gamma-correction table. In color mode this option equally affects
the red, green, and blue channels simultaneously (i.e., it is an
intensity gamma table).
The description above shows that option --gamma-table expects zero
or more values in the range 0 to 255. For example, a legal value
for this option would be "3,4,5,6,7,8,9,10,11,12". Since it's
cumbersome to specify long vectors in this form, the same can be
expressed by the abbreviated form "[0]3-[9]12". What this means
is that the first vector element is set to 3, the 9-th element is
set to 12 and the values in between are interpolated linearly. Of
course, it is possible to specify multiple such linear segments.
For example, "[0]3-[2]3-[6]7,[7]10-[9]6" is equivalent to
"3,3,3,4,5,6,7,10,8,6". The program gamma4scanimage can be used
to generate such gamma tables (see scanimage(1) for
details).
--filename <string> [/tmp/input.ppm]
The filename of the image to be loaded.
The description above is an example of an option that takes an
arbitrary string value (which happens to be a filename). Again,
the value in brackets show that the option is current set to the
filename /tmp/input.ppm.
ENVIRONMENT
SANE_DEFAULT_DEVICE
The default device-name.
FILES
/opt/local/etc/sane.d
This directory holds various configuration files. For details,
please refer to the manual pages listed below.
~/.sane/pass
This file contains lines of the form
user:password:resource
scanimage uses this information to answer user authorization
requests automatically. The file must have 0600 permissions or
stricter. You should use this file in conjunction with the
--accept-md5-only option to avoid server-side attacks. The
resource may contain any character but is limited to 127
characters.
SEE ALSO
scanimage(1), scanimage(1), xcam(1), xsane(1),
scanadf(1), sane-dll(5), sane-net(5), sane-"backendname"(5)
AUTHOR
David Mosberger, Andreas Beck, Gordon Matzigkeit, Caskey Dickson, and
many others. For questions and comments contact the sane-devel
mailinglist (see http://www.sane-project.org/mailing-lists.html).
BUGS
For vector options, the help output currently has no indication as to how
many elements a vector-value should have.
10 Jul 2008 scanimage(1)
sane-backends 1.2.1 - Generated Fri Feb 24 16:24:36 CST 2023
