Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


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]
       [--batch	  [=format]]   [--batch-start  start]  [--batch-count  count]
       [--batch-increment  increment]  [--batch-double]	  [--accept-md5-only]
       [-n|--dont-scan] [-T|--test] [-h|--help] [-v|--verbose] [-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) or in TIFF (black-and-white, grayscale or  color).   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 print all available options:

	 scanimage -h


OPTIONS
       The -d or --device-name options 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.

       The --format format option selects how image data is written to	stan-
       dard output.  format can be pnm or tiff.	 If --format is not used, PNM
       is written.

       The -i or --icc-profile option is used to include an ICC profile	 into
       a TIFF file.

       The  -L	or --list-devices option requests a (partial) list of devices
       that are available.  The list is not 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	 par-
       ticularly  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.

       The -f or --formatted-device-list  option  works	 similar  to  --list-
       devices,	 but requires a format string.	scanimage replaces the place-
       holders %d %v %m %t %i with the device name, vendor name, model	name,
       scanner type and an index number 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 the features for scanning documents using
       document feeders.  --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) will be used.  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 0.	--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 command to work  around  them.   With  --batch-
       increment  increment  you can change the amount that the number in the
       filename is incremented by.  Generally this is used when you are scan-
       ning double-sided documents on a single-sided document feeder.  A spe-
       cific command is provided to aid this: --batch-double  will  automati-
       cally  set  the	increment to 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.

       The  --accept-md5-only option only accepts user authorization requests
       that support MD5 security. The SANE network daemon (saned) is  capable
       of doing such requests. See saned(1).

       The  -n	or  --dont-scan	 option 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).

       The -T or --test option 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 excercised by this test).

       The -h or --help options request help information.  The information is
       printed	on  standard output and in this case, no attempt will be made
       to acquire an image.

       The -v or --verbose options increase the verbosity of the operation of
       scanimage.  The option may be specified repeatedly, each time increas-
       ing the verbosity level.

       The -V or --version option 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. Usually that's
       the  dll backend. If more information about the version numbers of the
       backends are necessary, the DEBUG variable for the dll backend 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:

	--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  --bright-
	      ness option, the option-pair --brightness 50 --default-enhance-
	      ments 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 argu-
	      ment  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 abbre-
	      viate 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	exam-
	      ple,  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  appro-
	      priate 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 inbetween 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 gamma4scanimage(1)  for
	      details).

	--filename  [/tmp/input.ppm]
	   The filename of the image to be loaded.

	      The  descriptoin 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 char-
	      acters.

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 and Caskey Dickson

BUGS
       For  vector options, the help output currently has no indication as to
       how many elements a vector-value should have.



sane-backends 1.0.14		 22 Feb 2004			 scanimage(1)


UNIX/Linux commands referenced on this page:
  1. as
  2. apropos
  3. file
  4. find
  5. printf
  6. at
  7. make
  8. time
  9. more
  10. which
  11. strings
  12. col
  13. yes
  14. red
  15. refer