STANNIX Community


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] [--accept-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, 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 differ‐
       ence 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=output-format
	      selects  how image data is written to standard output or the file specified by the --output-file option.	out‐
	      put-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 respec‐
	      tively. 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  incom‐
		     patible with the --output-path option.  format is given as a printf style string with one integer para‐
		     meter.

	      --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	com‐
		     mand 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 with‐
		     out an automatic document feeder.

       --accept-md5-only
	      only  accepts user authorization requests that support MD5 security. The SANE network daemon saned(8) is capa‐
	      ble of doing such requests.

       -p, --progress
	      requests that scanimage prints a progress counter. It shows how much image data of the current image  has	 al‐
	      ready 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 in‐
	      formation 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 in‐
	      creasing 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 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  scan‐
	      image -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 op‐
	      tions 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  effec‐
	      tively 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 con‐
	      venience, 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 re‐
	      sult 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 re‐
	      quested.

	      Note that the --help option is processed only after all other options have been processed.  This makes it pos‐
	      sible 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 simulta‐
	      neously (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  inter‐
	      polated  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 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 --accept-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-"backend‐
       name"(5)

AUTHOR
       David  Mosberger,  Andreas Beck, Gordon Matzigkeit, Caskey Dickson, and many others.  For questions and comments con‐
       tact 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)