STANNIX Solutions for the Real World


Manual: scanimage

scanimage(1)				SANE Scanner Access Now Easy				scanimage(1)

NAME
       scanimage - scan an image

SYNOPSIS
       scanimage  [-d  dev]  [--format=output-format]  [-i  profile]  [-L]  [-f device-format] [-b [format]]
       [--batch-start=start]  [--batch-count=count]  [--batch-increment=increment]  [--batch-double]  [--ac‐
       cept-md5-only] [-p] [-o path] [-n] [-T] [-A] [-h] [-v] [-B size] [-V] [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, scan‐
       image 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 Ac‐
       cess 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	`ep‐
	      son:/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, scan‐
	      image 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=output-format
	      selects how image data is written to standard output or  the  file  specified  by	 the  --out‐
	      put-file option.	output-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 /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=device-format
	      works  similarly	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,	pro‐
		     duced 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	 op‐
		     tion.  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	con‐
		     tinue  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 mul‐
		     tiple 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 incompat‐
	      ible  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	per‐
	      form  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 1MB to size KB.

       -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 informa‐
	      tion 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 de‐
       vice.  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 ex‐
       amples:

       -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 back‐
	      ends 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	 ap‐
	      pears.   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 op‐
	      tions typically depends on the settings of other options.	 For example, the --custom-gamma ta‐
	      ble 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 ap‐
	      propriate 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 gamma4scan‐
	      image can be used to generate such gamma tables (see gamma4scanimage(1) for details).

       --filename  [/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
       /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 --ac‐
	      cept-md5-only option to avoid server-side attacks. The resource may contain any character	 but
	      is limited to 127 characters.

SEE ALSO
       sane(7),	 gamma4scanimage(1), xscanimage(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)