| Home: Products: MaxiCode Barcode: MaxiCode Barcode FAQ and Tutorial: |
Index:
|
|
About the MaxiCode Barcode Symbology |
Maxicode is an international 2D (two-dimensional) barcode that is currently used by the UPS (United Parcel Service) on packing slips for world-wide addressing and package sortation. MaxiCode barcode symbols are fixed in size and are made up of offset rows of hexagonal modules arranged around a unique finder pattern. The size of a Maxicode barcode symbol is 1.11 x 1.054 inches and allows up to 93 data characters of information. MaxiCode barcodes include error correction, so the symbol can still be decoded when it is damaged.
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:
|
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. In addition to the normal method of encoding mentioned here, UPS customers may wish to use Compressed Maxicode. IDAutomation Maxicode products are compatible with Compressed Maxicode.
UPS has defined a unique process of encoding data in MaxiCode barcodes,
which includes a postal code, service class, country code and delimiter
characters. All IDAutomation Maxicode products include the
ApplyTilde feature, which allows an easy
method of structuring RS, GS and EOT delimiter characters in the symbol.
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.
Java Example:
char GS = (char)29;
char RS = (char)30;
char EOT = (char)4;
rm.setData("[)>"+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);
Visual Basic Example:
Dim NewMessage As String
Dim GS As String
Dim RS As String
Dim EOT As String
GS = Chr(29)
RS = Chr(30)
EOT = Chr(4)
NewMessage = "[)>" + 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
MaxiCode1.DataToEncode = NewMessage
Tilde Processing of Delimiter Characters
IDAutomation MaxiCode products support the format ~??? to specify the ASCII code of the character to be encoded. This allows the encoding of GS, RS and EOT from the command line. For example, the following data:
"[)>"+RS+ "01"+GS+ "96336091062"+GS+ "840"+GS+ "002"+GS+ "1Z14647438"+GS+"UPSN"+GS+"410E1W"+GS+"195"+GS+GS+"1/1"+GS+GS+"Y"+GS+"135Reo"+GS+"TAMPA"+GS+"FL"+RS+EOT
May be encoded with this string:
[)>~03001~02996336091062~029840~029002~0291Z14647438~029UPSN~029410E1W~029195~029~0291/1~029~029Y~029135Reo~029
TAMPA~029FL~030~004
It is often necessary to use this feature when using the Java Servlet or the ASP Barcode Server for IIS. These products may be used to dynamically generate a Maxicode barcode image as a URL that may be specified in an IMG tag (as demonstrated in the code below) or viewed in a Crystal Report or FileMaker Report.
<IMG height=100 width=100 src="http://localhost:8080/examples/servlet/MaxicodeServlet?
DATA=[)>~03001~02996336091062~029840~029002~0291Z14647438~029UPSN~029410E1W
~029195~029~0291/1~029~029Y~029135Reo~029TAMPA~029FL~030~004">
Many IDAutomation Barcode Components and Applications support the MaxiCode symbology in the 2D versions of the software. The development of the MaxiCode Barcode Font has been suspended due to the technical challenges of using interleaved hexagon symbols in fonts. Fonts are not needed in many cases, because a graphic image can be easily produced from components such as the IDAutomation ActiveX Barcode Control, .NET Barcode Forms Control, ASP.NET Server Control or the Java Barcode Product.
|
Reading MaxiCode Barcodes |
The most common method of reading MaxiCode barcode symbols is with a camera-based image reader (aka: barcode imager.)IDAutomation recommends many barcode imagers that perform keyboard emulation and receive power from the USB port, so no external power supply is needed. When a barcode symbol is read using keyboard emulation, the text appears at the cursor as if it had been typed from the keyboard.
In many cases, it may be desired to have the scanner trigger a form or action in an application. IDAutomation has documented easy methods of accomplishing this in the USB Barcode Scanner Application Integration Guide.
| Verifying |
Printed symbols may be easily verified with the Print Quality Assessment utility found in the Hand Held Products 2D Barcode Imager. The test will show the data encoded, grade the symbol and report the encoding mode. The report below was generated when scanning a MaxiCode barcode symbol with PQA enabled:
[)>01963360910628400021Z14647438UPSN410E1W1951/1Y135ReoTAMPAFL
>>
PQA from Hand Held Products <<
MAXICODE: Mode 2
X roughly = 0.023"
[A] < Data Safety Margin = 100%
[A] < Horizontal Print Growth = +13% of X
[A] < Vertical Print Growth = +18% of X
|
|
|
Product Quick Links: [Barcode Fonts | Font Tools | Components | Label Software | Scanners | Printers | RFID | Product Index] |
© Copyright 2002-2008 IDAutomation.com, Inc., All Rights Reserved. Legal Notices.
|
Over 70% of Fortune 100 companies use IDAutomation's products to automate their businesses. |