Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
scanimage(1)		 SANE Scanner Access Now Easy		  scanimage(1)

       scanimage - scan	an image

       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]	[-n|--dont-scan]   [-T|--test]
       [-A|--all-options]   [-h|--help]	   [-v|--verbose]    [-B|--buffer-size
       [=size]]	[-V|--version] [device-specific-options]

       scanimage  is a command-line interface to control image acquisition de-
       vices 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 im-
       ages),  TIFF  format (black-and-white, grayscale	or color), PNG format,
       or JPEG format (compression level 75).  scanimage accesses image	acqui-
       sition 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).

       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	avail-
       able with all devices):

	 scanimage -x 100 -y 100 --format=tiff >image.tiff

       To print	all available options:

	 scanimage -h

       Parameters are separated	by a blank from	single-character options (e.g.
       -d  epson)  and	by  a  "="  from  multi-character  options (e.g. --de-

       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

       The --format format option selects how image data is written  to	 stan-
       dard  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.

       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 /usr/local/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	admin-
       istrator	to find	out the	names of such devices.

       The  -f	or  --formatted-device-list option works similar to --list-de-
       vices, but requires a format string.  scanimage replaces	the placehold-
       ers  %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 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, 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 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 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 scanning double-sided docu-
       ments on	a single-sided document	feeder.	 A specific  command  is  pro-
       vided  to aid this: --batch-double will automatically 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(8).

       The -p or --progress option requests that scanimage prints  a  progress
       counter.	 It shows how much image data of the current image has already
       been received by	scanimage (in percent).

       The -o or --output-file option requests that scanimage saves the	 scan-
       ning  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

       The -n or --dont-scan option requests that scanimage only sets the  op-
       tions  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	exercised by this test).

       The -A or --all-options option requests that scanimage lists all	avail-
       able options exposed the	backend, including button options.  The	infor-
       mation is printed on standard output and	no scan	will be	done.

       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  -B	option without argument	changes	the input buffer size from the
       default 32KB to 1MB.  For finer	grained	 control,  use	--buffer-size=
       followed	by the number of KB.

       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 com-
       mand-line options depends on the	capabilities of	the  selected  device.
       To  see the options for a device	named dev, invoke scanimage via	a com-
       mand-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	brack-
	      ets  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

	   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 imme-
	      diate 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 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 abbrevi-
	      ate  the string values as	long as	they remain unique.  Also, the
	      case of the spelling doesn't matter.  For	example,  option  set-
	      ting --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.	 Spec-
	      ifying  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 in between are interpo-
	      lated  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 <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.

	      The default device-name.

	      This directory holds various configuration files.	 For  details,
	      please refer to the manual pages listed below.

	      This file	contains lines of the form


	      scanimage	uses this information to answer	user authorization re-
	      quests 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.

       sane(7),	   gamma4scanimage(1),	 xscanimage(1),	  xcam(1),   xsane(1),
       scanadf(1), sane-dll(5),	sane-net(5), sane-"backendname"(5)

       David Mosberger,	Andreas	Beck, Gordon Matzigkeit, Caskey	 Dickson,  and
       many  others.   For questions and comments contact the sane-devel mail-
       inglist (see

       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)


Want to link to this manual page? Use this URL:

home | help