% zint(1) Version 2.10.0.9 % Robin Stuart % May 2022 # NAME `zint` - Encode data as a barcode image # SYNOPSIS | `zint` [`-h` | `--help`] | `zint` [*options*] # DESCRIPTION zint takes input data from the command line or a file to encode in a barcode which is then output to an image file. The output image file (specified with `-o` or `--output`) may be in one of these formats: Windows Bitmap (`BMP`), Enhanced Metafile Format (`EMF`), Encapsulated PostScript (`EPS`), Graphics Interchange Format (`GIF`), ZSoft Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`SVG`), or Tagged Image File Format (`TIF`). # OPTIONS `-h`, `--help` : Print usage information summarizing command line options. `-b TYPE`, `--barcode=TYPE` : Set the barcode symbology that will be used to encode the data. *TYPE* is the number or name of the barcode symbology. If not given, the symbology defaults to 20 (Code 128). To see what types are available, use the `-t` or `--types` option. Type names are case-insensitive, and non-alphanumerics are ignored. `--addongap=INTEGER` : For UPC/EAN symbologies, set the gap between the main data and the add-on. *INTEGER* is in integral multiples of the X-dimension. The maximum gap that can be set is 12. The minimum is 7, except for UPC-A, when the minimum is 9. `--batch` : Treat each line of an input file specified with `-i` or `--input` as a separate data set and produce a barcode image for each one. The barcode images are outputted by default to numbered filenames starting with "00001.png", "00002.png" etc., which can be changed by using the `-o` or `--output` option. `--bg=COLOUR` : Specify a background (paper) colour where *COLOUR* is in hex RRGGBB or RRGGGAA format. `--binary` : Treat input data as raw 8-bit binary data instead of the default UTF-8. Automatic code page translation to an ECI page is disabled, and no validation of the data's character encoding takes place. `--bind` : Add horizontal boundary bars, aka bearer bars, to the symbol. The width of the boundary bars must be specified by the `--border` option. `--bind` can also be used to add row separator bars to symbols stacked with multiple `-d` or `--data` inputs, in which case the width of the separator bars must be specified with the `--separator` option. `--bold` : Use bold text for the Human Readable Text. `--border=INTEGER` : Set the width of boundary bars (`--bind`) or box borders (`--box`), where *INTEGER* is in integral multiples of the X-dimension. `--box` : Add a box around the symbol. The width of the borders must be specified by the `--border` option. `--cmyk` : Use the CMYK colour space when outputting to Encapsulated PostScript (EPS) or TIF files. `--cols=INTEGER` : Set the number of data columns in the symbol to *INTEGER*. Affects Codablock-F, PDF417, MicroPDF417, GS1 DataBar Expanded Stacked (DBAR_EXPSTK) and DotCode symbols. `--compliantheight` : Warn if the height specified by the `--height` option is not compliant with the barcode's specification, or if `--height` is not given, default to the height specified by the specification (if any). `-d`, `--data=DATA` : Specify the input *DATA* to encode. The `--esc` option may be used to enter non-printing characters using escape sequences. The *DATA* should be UTF-8, unless the `--binary` option is given, in which case it can be anything. `--direct` : Send output to stdout, which in most cases should be re-directed to a pipe or a file. `--dmre` : For Data Matrix symbols, allow Data Matrix Rectangular Extended (RMRE) sizes when considering automatic sizes. `--dotsize=NUMBER` : Set the radius of the dots in dotty mode (`--dotty`). *NUMBER* is in multiples of the X-dimension, and may be floating-point. The default is 0.8. `--dotty` : Use dots instead of squares for matrix symbols. DotCode is always in dotty mode. `--dump` : Dump a hexadecimal representation of the symbol's encodation to stdout. `-e`, `--ecinos` : Display the table of ECIs (Extended Channel Interpretations). `--eci=INTEGER` : Set the ECI code for the input data to *INTEGER*. See `-e` or `--ecinos` for a list of the ECIs available. `--esc` : Process escape characters in the input data. The escape sequences are: - `\0` (0x00) `NUL` Null character - `\E` (0x04) `EOT` End of Transmission - `\a` (0x07) `BEL` Bell - `\b` (0x08) `BS` Backspace - `\t` (0x09) `HT` Horizontal Tab - `\n` (0x0A) `LF` Line Feed - `\v` (0x0B) `VT` Vertical Tab - `\f` (0x0C) `FF` Form Feed - `\r` (0x0D) `CR` Carriage Return - `\e` (0x1B) `ESC` Escape - `\G` (0x1D) `GS` Group Separator - `\R` (0x1E) `RS` Record Separator - `\\` (0x5C) `\` Backslash - `\xNN` (0xNN) Any 8-bit character where NN is hexadecimal - `\uNNNN` (U+NNNN) Any 16-bit Unicode BMP character where NNNN is hexadecimal `--fast` : Use faster if less optimal encodation (currently affects Data Matrix only). `--fg=COLOUR` : Specify a foreground (ink) colour where *COLOUR* is in hex RRGGBB or RRGGGAA format. `--filetype=TYPE` : Set the output file type to *TYPE*, which is one of `BMP`, `EMF`, `EPS`, `GIF`, `PCX`, `PNG`, `SVG`, `TIF`, `TXT`. `--fullmultibyte` : Use the multibyte modes of QR Code, Han Xin, and Grid Matrix for non-ASCII data. `--gs1` : Treat input as GS1 compatible data. Application Identifiers (AIs) should be placed in square brackets `"[]"` (but see `--gs1parens`). `--gs1nocheck` : Do not check the validity of GS1 data. `--gs1parens` : Process parentheses `"()"` as GS1 AI delimiters, rather than square brackets `"[]"`. The input data must not contain parentheses. `--gssep` : For Data Matrix in GS1 mode, use `GS` (0x1D) as the GS1 data separator instead of `FNC1`. `--guarddescent=INTEGER` : For UPC/EAN symbols, set the height of the guard bars' descent, where *INTEGER* is in integral multiples of the X-dimension. `--height=NUMBER` : Set the height of the symbol in multiples of the X-dimension. *NUMBER* may be floating-point. Increments of 0.5 are recommended for raster output (BMP, GIF, PCX, PNG and TIF). `--heightperrow` : Treat height as per-row. Affects Codablock-F, Code16K, Code 49, GS1 DataBar Expanded Stacked (DBAR_EXPSTK), MicroPDF417 and PDF417. `-i`, `--input=FILE` : Read the input data from *FILE*. `--init` : Create a reader initialisation/programming symbol. `--mask=INTEGER` : Set the masking pattern to use for QR Code, Han Xin or DotCode to *INTEGER*, overriding the automatic selection. `--mirror` : Use the batch data to determine the filename in batch mode (`--batch`). `--mode=INTEGER` : For MaxiCode and composite symbols, set the encoding mode to *INTEGER*. The meaning is symbol-specific. `--nobackground` : Remove the background colour (EMF, EPS, GIF, PNG, SVG and TIF only). `--noquietzones` : Disable any quiet zones for symbols that define them by default. `--notext` : Remove the Human Readable Text. `-o`, `--output=FILE` : Send the output to *FILE*. When not in batch mode, the default is "out.png" (or "out.gif" if zint built without PNG support). When in batch mode (`--batch`), special characters can be used to format the output filenames: - `~` Insert a number or 0 - `#` Insert a number or space - `@` Insert a number or `*` - Any other Insert literally `--primary=STRING` : For MaxiCode, set the content of the primary message. For Composite symbols, set the content of the linear symbol. `--quietzones` : Add compliant quiet zones for symbols that specify one. `-r`, `--reverse` : Reverse the foreground and background colours (white on black). `--rotate=INTEGER` : Rotate the symbol by *INTEGER* degrees, where *INTEGER* can be 0, 90, 270 or 360. `--rows=INTEGER` : Set the number of rows for Codablock-F or PDF417 to *INTEGER*. It will also set the minimum number of rows for Code 16k or Code 49, and the maximum number of rows for GS1 DataBar Expanded Stacked (DBAR_EXPSTK). `--scale=NUMBER` : Set the X-dimension. *NUMBER* may be floating-point. `--scmvv=INTEGER` : For MaxiCode, prefix the Structured Carrier Message (SCM) with `"[)>\R01\Gvv"`, where vv is a 2-digit *INTEGER*. `--secure=INTEGER` : Set the error correction level (ECC) or check character options to *INTEGER*. The meaning is symbol-specific. `--segN=ECI,DATA` : Set the *ECI* & *DATA* content for segment N, where N is 1 to 9. `-d` or `--data` must still be given, and counts as segment 0, its ECI given by `--eci`. Segments must be consecutive. `--separator=INTEGER` : Set the height of row separator bars for stacked symbologies, where *INTEGER* is in integral multiples of the X-dimension. `--small` : Use small text for Human Readable Text. `--square` : For Data Matrix symbols, exclude rectangular sizes when considering automatic sizes. `--structapp=I,C[,ID]` : Set Structured Append info, where `I` is the 1-based index, `C` is the count of total symbols in the sequence, and `ID`, which is optional, is the identifier that all symbols in the sequence share. `-t`, `--types` : Display the table of barcode types (symbologies). The numbers or names can be used with `-b` or `--barcode`. `--vers=INTEGER` : Set the symbol version (size, check digits, other options) to *INTEGER*. The meaning is symbol-specific. For most matrix symbols, it specifies size. For a number of linear symbols, it specifies check character options. For a few other symbologies, it specifies other characteristics. `-v`, `--version` : Display the zint version. `--vwhitesp=INTEGER` : Set the height of vertical whitespace above and below the barcode, where *INTEGER* is in integral multiples of the X-dimension. `-w`, `--whitesp=INTEGER` : Set the width of horizontal whitespace either side of the barcode, where *INTEGER* is in integral multiples of the X-dimension. `--werror` : Convert all warnings into errors. # EXAMPLES Create "out.png" (or "out.gif" if zint built without PNG support) in the current directory, as a Code 128 symbol. ```bash zint -d 'This Text' ``` Create "qr.svg" in the current directory, as a QR Code symbol. ```bash zint -b QRCode -d 'This Text' -o 'qr.svg' ``` # BUGS Please send bug reports to https://sourceforge.net/p/zint/tickets/ # SEE ALSO Full documention for `zint` (and the API `libzint` and the GUI `zint-qt`) is available from http://zint.org.uk/Manual.aspx, and at https://sourceforge.net/p/zint/docs/manual.txt. # STANDARDS Zint is designed to be compliant with a number of international standards, including: - EN 798:1996, EN 12323:2005, ISO/IEC 15420:2009, ISO/IEC 15417:2007, - ISO/IEC 15438:2015, ISO/IEC 16022:2006, ISO/IEC 16023:2000, - ISO/IEC 16388:2007, ISO/IEC 18004:2015, ISO/IEC 20830:2021, - ISO/IEC 24723:2010, ISO/IEC 24724:2011, ISO/IEC 24728:2006, - ISO/IEC 24778:2008, ISO/IEC 16390:2007, ISO/IEC 21471:2019, - ANSI-HIBC 2.6-2016, ANSI/AIM BC12-1998, ANSI/AIM BC6-2000, - ANSI/AIM BC5-1995, AIM ISS-X-24, AIMD014 (v 1.63), USPS-B-3200, - USS Code One (1994), GS1 22.0 (2022), AIM ITS/04-023 (2022)