Barcodes

<< Click to Display Table of Contents >>

Navigation:  Barcodes >

Barcodes

Syntax:

 

<BARCODE[#aaa],Option_list>

where Option_List is a comma delimited list with the following keywords:

 

TYPE=

2_5_interleaved,

2_5_industrial

2_5_matrix

39

39Extended

128A

128B

128C

93

93Extended

Codabar

MSI

PostNet

EAN8

EAN13

EAN128A

EAN128B

EAN128C

UCCEAN128

XEAN128A

XEAN128B

XEAN128C

 

UPC_A

UPC_E0

UPC_E1

UPC_Supp2

UPC_Supp5

 

PDF417

MAXICODE

QRCODE

DATAMATRIX

 

GS1-128

 

 

 

 

 

 

43 alphanum

128 alphanum

num and uppercase letters

 

 

0-9 A-Z -.$/+%[ ]{ }

idem + lower case chars.

 

 

8 num.

 

13 num

(version 10.10g)

 

XEAN128 barcodes derive from EAN128A symbologies

 

 

 

 

 

 

 

 

 

Draws a barcode from the current point to :

- the <FROM> point if # syntax is not used,

- the bookmark #n

 

ZINT symbologies (10.27):

   'Code 11',

   'Standard Code 2 of 5',

   'Interleaved 2 of 5',

   'Code 2 of 5 IATA',

   'Code 2 of 5 Data Logic',

   'Code 2 of 5 Industrial',

   'Code 3 of 9 (Code 39)',

   'Extended Code 3 of 9 (Code 39+)',

   'EAN',

   'EAN + Check',

   'GS1-128',

   'Codabar',

   'Code 128 (automatic subset switching)',

   'Deutshe Post Leitcode',

   'Deutshe Post Identcode',

   'Code 16K',

   'Code 49',

   'Code 93',

   'Flattermarken',

   'GS1 DataBar-14',

   'GS1 DataBar Limited',

   'GS1 DataBar Expanded',

   'Telepen Alpha',

   'UPC-A',

   'UPC-A + Check',

   'UPC-E',

   'UPC-E + Check',

   'PostNet',

   'MSI Plessey',

   'FIM',

   'LOGMARS',

   'Pharmacode One-Track',

   'PZN',

   'Pharmacode Two-Track',

   'PDF417',

   'PDF417 Truncated',

   'Maxicode',

   'QR Code',

   'Code 128 (Subset B)',

   'Australia Post Standard Customer',

   'Australia Post Reply Paid',

   'Australia Post Routing',

   'Australia Post Redirection',

   'ISBN (EAN-13 with verification stage)',

   'Royal Mail 4 State (RM4SCC)',

   'Data Matrix',

   'EAN-14',

   'VIN (North America)',

   'Codablock-F',

   'NVE-18',

   'Japanese Post',

   'Korea Post',

   'GS1 DataBar-14 Stacked',

   'GS1 DataBar-14 Stacked Omnidirectional',

   'GS1 DataBar Expanded Stacked',

   'PLANET',

   'MicroPDF417',

   'USPS OneCode',

   'Plessey Code',

   'Telepen Numeric',

   'ITF-14',

   'Dutch Post KIX Code',

   'Aztec Code',

   'DAFT Code',

   'Micro QR Code',

   'HIBC Code 128',

   'HIBC Code 39',

   'HIBC Data Matrix',

   'HIBC QR Code',

   'HIBC PDF417',

   'HIBC MicroPDF417',

   'HIBC Codablock-F',

   'HIBC Aztec Code',

   'Dot Code',

   'Han Xin',

   'RM Mailmark',

   'Aztec Runes',

   'Code 32',

   'Composite Symbol with EAN linear component',

   'Composite Symbol with GS1-128 linear component',

   'Composite Symbol with GS1 DataBar-14 linear component',

   'Composite Symbol with GS1 DataBar Limited component',

   'Composite Symbol with GS1 DataBar Extended component',

   'Composite Symbol with UPC A linear component',

   'Composite Symbol with UPC E linear component',

   'Composite Symbol with GS1 DataBar-14 Stacked component',

   'Composite Symbol with GS1 DataBar-14 Stacked Omnidirectional component',

   'Composite Symbol with GS1 DataBar Expanded Stacked component',

   'Channel Code',

   'Code One',

   'Grid Matrix',

   'UPNQR'

 

Insert a "Z" character before the symbology name to indicate a Zint barcode.

 

Example:

 

<BARCODE#1,TYPE=ZMSI Plessey,...>

 

Symbologies are not case-sensitive but you must respect space characters, if any, as specified)

VALUE=

barCode value

If the value contains '=' or ',', '\=' and '\,' syntax must be used.

Mandatory

[,CHECKSUM=

 

[,SHOW=

 

[,ANGLE=

TRUE,FALSE,NONE or MOD10 ]  

NONE,CODE,TYPE of BOTH ]

(debugging purpose)

 

<0 to 359 degrees value> ]

 

 

 

 

 

 

with some symbologies (like zint), only 90, 180 or 270 are allowed

 

Specific settings:

 

MAXICODE

[MODE=<2 to 6 value>

(default=2)

[COUNTRY=<country>]

[ZIP=zip code]

[SERVICECLASS=XXXXXXX]

See MODE explanation below.

MAXICODE size 1 inch x 1 inch

QRCODE

[ECLEVEL=<L,M,Q or H>]

[ANGLE=90 | 180 | 270 ]

Allows recovery of up to

L = 7%

M = 15%

Q = 25%

H = 30%

data loss.

QRCODE colors depend on the values of <BGCOLOR> and <FGCOLOR>

PDF417

[COL=2 to 30]

 

 

 

 

[ROWS=integer]

 

 

[BarHeightPixels=integer]

[BarWidthpixels=integer]

[MODE=TEXT, BIN or NUMERIC]

[TRUNC]

[ECLEVEL=<0 to 5>]

number of columns

(the barcode# has no effect on the real barcode size)

 

number of rows, automatic if not specified.

 

DATAMATRIX

G[EOMETRY]=

10x10 | 12x12 | 14x14 | 16x16 | 18x18 | 20x20 | 22x22 | 24x24 | 26x26 | 32x32 | 36x36 | 40x40 | 44x44 | 48x48 | 52x52 | 64x64 | 72x72 | 80x80 | 88x88 | 96x96 | 104x104 | 120x120 | 132x132 | 144x144 |

8x18 | 8x32 | 12x26 | 12x36 | 16x36 | 16x48

 

(only above values are valid)

number of rows and colums for a DATAMATRIX barcode.

 

 

If not specified, the barcode is drawn in a standard square area.

If specified, the barcode is drawn in the area.

 

 

Example :    

<UNITS=MM><AT=50,60><#1><AT=+20,+40>    /* sets the starting point */

<BARCODE#1,TYPE=EAN128A,CHECKSUM=TRUE,VALUE=12345>

<BARCODE#1,TYPE=93,CHECKSUM=FALSE,VALUE=12345>

<BARCODE#1,TYPE=EAN128A,CHECKSUM=FALSE,ANGLE=90,VALUE=12345>

<BARCODE#1,TYPE=QRCODE,ECLEVEL=H,VALUE=http://www.4gl.fr>

 

 

The same rules than the RECT or LINE are applicable (FROM point). So the following syntax is correct:  

<UNITS=MM><AT=50,60><FROM><AT=+20,+40>    /* sets the starting point */

<BARCODE,TYPE=EAN128A,CHECKSUM=TRUE,VALUE=12345>

 

Note :         Barcodes are FGCOLOR sensitive.  

Barcodes are BGCOLOR sensitive.            

 

 

PDF417:

PDF stands for "Portable Data File." A two-dimensional symbology (2D), a single PDF417 symbol carries up to 1.1 kilobytes of machine-readable data in a space no larger than a standard bar code. And, unlike one-dimensional bar codes (1D), which are just a key linked to a database, PDF417 symbols contain the database itself. That means, you don't have to store an article number in the barcode but you can also store the name , the size , the color, the name of the manufacturer etc...

ANGLE, CHECKSUM and SHOW do not apply. Instead ECLEVEL defines the error correction level.

 

 

 

MAXICODE:

The MaxiCode barcode encodes two messages; a primary message and a secondary message. The primary message usually encodes the postal code, country code and the class of service number. The secondary message usually encodes address data, but can encode other types of information as well.

MaxiCode barcodes have different modes of operation. IDAutomation MaxiCode products support the following modes:

2 = US Carrier with postal codes up to 9 digits in length.

3 = International Carrier with alpha-numeric postal codes up to 6 digits in length.

4 = Standard Symbol - use this option to encode information for purposes other than the shipping industry. Up to about 90 characters can be encoded in this mode.

5 = Secure Symbol - use this option to encode information with more error correction. Up to about 74 characters can be encoded in this mode.

6 = Reader Program - this option allows scanner manufacturers to program their barcode readers.

 

Data encoding. If the postal code, service class and country are left empty in mode 2 and 3, they will be extracted from this string as follows:

If the string begins by [)>RS01GS the following format is expected:

 

[)>RS01GSPostalCodeGSCountryGSServiceGSdata.....

 

where RS is character number 30 and GS is character number 29

 

otherwise the format must be: PostalCodeGSCountryGSServiceGSdata.....

Encoding MaxiCode Barcodes for UPS        

Structuring Maxicode barcode symbols for UPS labels can be a complicated task.

The information and code provided here are only examples and may not meet current UPS specifications. For more information about structuring messages to meet UPS specifications, please contact the local UPS office and ask for their Guide to Labeling. All IDAutomation Maxicode products encode data accurately according to the AIM USS MaxiCode specification. However, it is up the implementer to structure the symbol properly.

UPS has defined a unique process of encoding data in MaxiCode barcodes, which includes a postal code, service class, country code and delimiter characters.

When the data encoded begins with [)>RS01GS as required by UPS, the following format is expected: [)>RS01GSYearPostalCodeGSCountryGSServiceGSmessage...

For example, the source code below creates an acceptable string where: 96 is a two digit year that is placed before the zip code, 336260000 is the zip code, 840 is the country code, 001 is the service code, and the rest of the string is the data formatted for UPS specifications.

NOTE: The code supplied below is just an example and may not meet current specifications. For more information on structuring messages to meet UPS specifications, please contact your local UPS office. In the examples below, RS is ASCII 30, GS is ASCII 29 and EOT is ASCII 4.

Data Example:

"[)>"+RS+ "01"+GS+ "96336091062"+GS+ "840"+GS+ "002"+GS+"1Z14647438"+GS+"UPSN"+GS+"410E1W"

+GS+"195"+GS+GS+"1/1"+GS+GS+"Y"+GS+"135Lightner"+GS+"TAMPA"+GS+"FL"+RS+EOT

 

where GS = chr(29), RS= chr(30)  and EOT= chr(4)

 

Tilde processing:

You can use the format ~ddd if you want to specify the ascii code of the character to be encoded. For example, if you enter the following text in the Data field:

 

~066AA

 

you will actually be encoding

 

BAA

 

because ~066 will be replaced with the character ascii character 66, which is B. You must use ~~ in order to encode the ~ character.

 

QRCODE:

QRCode barcodes do not need an internet connection to be built (version 9.33)

Supported parameters: ECLEVEL, ANGLE and VALUE.

 

If a mobile phone is equipped with the correct reader software it can scan the QR Code.

Dependant on the keyword found, the mobile phone determines which action to be taken.

 

For example:

If the keyword http:// is found, it will cause the phone's browser to launch and redirect to the programmed URL.

The keyword is always the first few characters of the message.

 

QR Code is open in the sense that the specification of QR Code is disclosed and that the patent right owned by Denso Wave is not exercised.

 

More information about QR codes content can be found at: http://www.denso-wave.com/qrcode/index-e.html

Examples and syntax of the keywords can be found in different internet sites, like:

http://www.mobilefish.com/tutorials/qrcode/qrcode.html

http://code.google.com/p/zxing/wiki/BarcodeContents

http://www.nttdocomo.co.jp/english/service/imode/make/content/barcode/function/application/addressbook/

 

Chr(9) are converted to chr(13) + chr(10).

 

GS1-128:

EAN128 with GS1 support. Encode the AI codes within brackets "[....]":

Example:

VALUE=[01]12345678901234[10]abcdEFG[20]12

 

To encode in EAN128 GS1 mode, vpxPrint uses ZINT.

 

zint is an open-source project, more info is available at https://sourceforge.net/projects/zint/

You must deploy zint.dll from win32 and win64 if you plan to install manually vpxPrint.

 

Copyright (c) 2016 Robin Stuart

All rights reserved.

 

Redistribution and use in source and binary forms are permitted

provided that the above copyright notice and this paragraph are

duplicated in all such forms and that any documentation,

advertising materials, and other materials related to such

distribution and use acknowledge that the software was developed

by the <organization>. The name of the

<organization> may not be used to endorse or promote products derived

from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR

IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED

WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.