scan and decode bar codes from image file(s)


Process an image file

$ zbarimg [image_file]


' zbarimg 'u zbarimg [ -qv ][ --quiet ][ --verbose [= n ] ]
{ -dD | --display | --nodisplay | --xml | --noxml | -S [ symbology .] config [= value ] | --set [ symbology .] config [= value ] | image ...} ' zbarimg 'u zbarimg { -h | --help | --version }


For each specified image file zbarimg scans the image for bar codes and prints any decoded data to stdout . Images may optionally be displayed to the screen .

The underlying library currently supports EAN -13 (including UPC and ISBN subsets), EAN -8, DataBar, DataBar Expanded, Code 128, Code 93, Code 39, Codabar, Interleaved 2 of 5 and QR Code symbologies . The specific type of each detected symbol is printed with the decoded data .

Note that " image "in this context refers to any format supported by ImageMagick, including many vector formats such as PDF and PostScript . Keep in mind that vector formats are rasterized before scanning; manually rasterize vector images before scanning to avoid unintentionally corrupting embedded barcode bitmaps .


This program follows the usual GNU command line syntax . Single letter options may be bundled, long options start with two dashes (` -(Aq) .

-h , --help Print a short help message describing command line options to standard output and exit

--version Print program version information to standard output and exit

-v , --verbose [= n ] Increase debug output level . Multiple -v options create more spew . Alternatively specify n to set the debug level directly

-S [ symbology .] config [= value ] , --set [ symbology .] config [= value ] Set decoder configuration option config for symbology to value . value defaults to 1 if omitted . symbology is one of ean13 , ean8 , upca , upce , isbn13 , isbn10 , i25 , codabar , code39 , code93 , code128 , qrcode or the special value * . If symbology is omitted or * ,the config will be set for all applicable symbologies . These are the currently recognized config s. Prefix a config with "no -" to negate it . Not all configs are appropriate for every symbology .

enable Control decoding/reporting of a symbology . For symbologies which are just subsets of ean13 ( upca , upce , isbn13 , isbn10 ),this config controls whether the subsets are detected and reported as such . These special cases are disabled by default, all other symbologies default to enabled

disable Antonym for enable

emit-check Control whether check digits are included in the decoded output . Enabled by default . This config does not apply for code128 ,which never returns the check digit . It also not apply for cases where the check digit is disabled (see add-check ). Check digits are currently not implemented for i25 or code39

add-check Enable decode and verification of a check digit for symbologies where it is optional: this will include code39 and i25 ,neither of which implements the check digit yet

ascii Enable escape sequences that encode the full ASCII character set . This would apply to code39 ,except that it (Aqs not implemented either . . .

position Enable collection of symbol position information . Enabled by default . Currently, the position information is unusable, so you can save a few cycles by disabling this .

test-inverted Specially for QR code images, sometimes the image is inverted, e . g . lines are written in white instead of black . This option makes ZBar to invert the image and parse again, in case it fails using the normal order . Enabling it affects all decoders .

min-length= n , max-length= n Bound the number of decoded characters in a valid symbol . If a decode result is outside the configured min/max range (inclusive), it will not be reported . Set to 0 to disable the corresponding check . This setting applies to variable -length symbologies: i25 , codabar , code39 , code128 and pdf417 . min-length defaults to 6 for i25 and 1 for code39 (per Code 39 autodiscrimination recommendation); all others default to 0

x-density= n , y-density= n Adjust the density of the scanner passes . Lower values scan more of the image at the cost of decreased performance . Setting to 0 disables scanning along that axis . Defaults are both 1 .

-q , --quiet Quiet operation; only output decoded symbol data . specifically this disables the statistics line printed (to stderr) before exiting, as well as the warning message printed (also to stderr) when no barcodes are found in an image

-d , --display , -D , --nodisplay Enable/disable display of subsequent image files, until next --display or --nodisplay is encountered . This option may appear multiple times to enable display of specific images . Image display is disabled by default

--xml , --noxml Enable/disable result output using an XML format . This format wraps the raw data from the symbol with information about the scan (such as page indices) in an easy to parse format . The latest schema is available from http://zbar.sourceforge.net/2008/barcode.xsd .

--raw Enable raw symbol data output . This format prints symbol data separated by newlines without the additional symbology type information that is printed by default


Scan a PNG image of a UPC bar code symbol and pass resulting data to a script that searches for the code in a database and does something useful with it:

.RS 4
zbarimg product .png | upcrpc.py .RE
The upcrpc.py example script included in the examples/ subdirectory of the distribution will make an XMLRPC call to a popular internet UPC database and print the product description if found .

Scan a JPEG image containing several barcodes and display the image in a window, also disabling recognition of Interleaved 2 of 5 codes to prevent confusion with other symbologies or background noise:
.RS 4
zbarimg --display -Si25 .disable label .jpg .RE

Look in a scanned document only for Code 39, using XML output format so the page numbers are available . To enable only Code 39, first all symbologies are disabled, then Code 39 is re -enabled:
.RS 4
zbarimg --xml -Sdisable -Scode39 .enable scan .tiff .RE


zbarimg returns an exit code to indicate the status of the program execution . Current exit codes are:

0 Barcodes successfully detected in all images . Warnings may have been generated, but no errors .

1 An error occurred while processing some image(s) . This includes bad arguments, I/O errors and image handling errors from ImageMagick .

2 ImageMagick fatal error .

3 The user quit the program before all images were scanned . Only applies when running in interactive mode (with --display )

4 No barcode was detected in one or more of the images . No other errors occurred .


See http://sf.net/tracker/?group_id=189236&atid=928515


Copyright 2007-2010 Jeff Brown

All Rights Reserved


zbarcam(1) http://zbar.sf.net/


JeffBrown < spadix@users.sourceforge.net > Lead developer

Copied to clipboard
free 100$ digital ocean credit