scanimage.1



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 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).


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 avail-
       able 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 differ-
       ently across backends. An example of this difference is --mode Gray and
       --mode  Grayscale.  This may be due to differing backend author prefer-
       ences.  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  speci-
              fied explicitly, scanimage reads a device-name from the environ-
              ment 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 /usr/local/etc/sane.d).  This is
              particularly the case when accessing scanners through  the  net-
              work.   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 doc-
       ument 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 incre-
                     mented  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  auto-
                     matic document feeder.

       --accept-md5-only
              only  accepts user authorization requests that support MD5 secu-
              rity. 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  par-
              ticular 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 stan-
              dard 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 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
              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 imme-
              diate 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 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.


ENVIRONMENT

       SANE_DEFAULT_DEVICE
              The default device-name.


FILES

       /usr/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 charac-
              ters.


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 mail-
       inglist (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)

Man(1) output converted with man2html