|
Bar Codes - An Overview
CAPITAL Visual Builder supports more than 20 of
the most popular bar code types or "symbologies" plus variations.
This section provides a general overview of their application. Bar
codes can be printed on invoices, stock labels, purchase orders,
picking lists, delivery dockets and other documents. Any
information you wish can be printed as a bar code, although the
most commonly coded items include such things as product codes and
customer codes.
Several issues should be considered before
selecting a bar code symbology.
1. Does your industry have an accepted
standard?
If the industry you are in has an agreed bar code
format that it uses, this will probably decide which one you will
select for use. Your customer may specify, for example, that
"JAN-8" or "UPC-A" is the required bar code. In this case, the
choice is made for you. If you do not have to conform to a
particular format then you should select a bar code that prints as
small as possible for a given number of characters. It must also
support encoding of the characters you need bar coded. Certain bar
code types take up more space (have a greater number of bars) for a
given number of characters. The smallest bar codes tend to be able
to encode less. For example, the bar code type "UPC-A" produces
fairly small bar codes, but this topology is only able to encode
numbers.
The bar code type "Code 39" can encode numbers,
characters, and some punctuation. Compared to other types of bar
codes it requires a lot of bars. This can present problems if the
bar code labels or the spaces for bar codes reserved on your
documents is limited. The bar code type "Code 93" produces a
smaller bar code for the same number of characters to encode. Since
both bar codes can encode letters and numbers, it is usually
possible for you to code your stock based on your existing product
codes, rather than have the computer assign a special, separate,
numeric code for that purpose.
2. Do the products you handle already come bar
coded?
If the products you stock already have bar codes
on them you usually don't have to worry about printing your own bar
codes. If not all the products you handle come with bar codes or
you have no control over the product codes assigned to the goods
you deal with, then a flexible symbology that can encode letters,
numbers and punctuation is usually preferred. For example, if you
select a bar code symbology that can only encode numbers and then
discover that your product codes include letters of the alphabet,
you will have to change your bar code. For example, if your product
items have product codes like "123455" and "931121" try to
determine if other products might have codes such as "123455B" or
"12345-2". The letter "B" requires support for letters of the
alphabet. The dash (-) symbol would require a bar code that enabled
the encoding of at least some punctuation characters such as a
dash.
3. Which bar code symbology is "best" ?
The basic rule of thumb is that the smallest bar
code that does the job is the best. The more characters that a bar
code symbology must encode, the larger the bar code will be. For
example, bar code symbologies that can only encode the numbers 0-9
will produce smaller sized bar codes than a symbology that also
handles letters of the alphabet. Even larger bar codes would be
required for topologies that handled punctuation symbols and could
differentiate between upper and lower case letters of the
alphabet.
A further issue is whether the bar code scanning
equipment you use can handle the bar codes you will be printing.
There is little point in using a complex bar code symbology that
also happens to produce relatively small bar codes, if your
scanning equipment does not
recognise that format.
4. Are special bar code printers required?
Any printer that has a Windows print driver and can print graphics
(virtually all, these days) can support bar code printing using
CAPITAL Visual Builder. If you intend to print labels then a
printer that has support for tractor feed labels is
recommended.
Laser printers have excellent graphics
capabilities and can quickly and easily print bar codes. However,
because these types of printers are sheet based, they can be very
wasteful of paper or label resources, especially if you only
require the printing of a few labels at a time. Laser printers are
best used when you are printing large volumes of bar codes all the
time, or when you simply want to include bar code data on standard
forms such as invoices and delivery dockets. Besides laser printers, many inkjet/bubblejet type
printers suffer from the same limitations.
Dot-matrix printers usually make excellent bar
code printers. Their main advantages include low running costs and
their ability to use low cost tractor fed paper. Printing a single
bar code label, for example, is not wasteful if you use tractor fed
label sheets. However, 24-pin dot-matrix printers are definitely
recommended. If you intend to use an older 9-pin dot-matrix then
you should carefully test the labels or documents printed to ensure
that your scanner or reading device is capable of interpreting the
bar code without difficulty. You may not be able to print a very
small bar code with a complex symbology
on an old 9-pin dot-matrix printer. You may be forced to use a less
complex bar code symbology, increase the dimensions of the bar
code, or upgrade your printing equipment.
5. Are there special rules for printing bar
codes?
If you will be printing bar codes on products
that will then be scanned by other companies it is important to be
conservative. Firstly, determine what guidelines are available for
the size, placement and text information that must be included with
the bar codes that you produce. Some scanners have difficulty
reading bar codes that are not printed on a white surface. Where
possible it is always a good idea to avoid coloured backgrounds.
The bars themselves should be printed in black for maximum
contrast.
6. What special hardware is required for
reading bar codes?
You should select a "keyboard
wedge" type reader for compatibility with CAPITAL. You should also
determine whether the reader you will be using is capable of
interpreting the bar codes you will be printing. It is preferable
that you test the combination before you start printing large
quantities of bar codes.
7. Can CAPITAL work with a portable bar code reader?
Yes. CAPITAL can read an "ASCII" text file that
contains stock take data. The text file must meet certain
formatting conditions. This text file is usually uploaded from a
portable bar code reader. This can be used to perform a
stock take by scanning bar codes in a
warehouse or other environment and then entering the physical count
for those items. (Not entering a physical count usually means the
quantity "read" was "1".) Consult the CAPITAL Installation Guide
for more information on portable reader devices.
8. Do I need a special bar code number assigned
to my stock?
If you have to conform to a particular industry
association format then the answer is probably yes. You may be
issued a certain range of numbers that only your company may use.
If you will be bar coding for your own internal use, then it is
suggested you try to use an existing code, such as your product
code. You may use a separate product code/bar code combination if
you wish. If your supplier has a product code and a bar code you
may have no choice in the matter. In this case you might wish to
use your stock's Product Code for your supplier or your own code,
and your stock's Alternate Code for
the bar code. CAPITAL can be configured to automatically identify a
stock item by either the product code and/or the bar/alternate
code. Users do not have to concern themselves about what code they
are asking the computer to interpret. If you are using bar codes
and product codes you should ensure that your product codes can
never accidentally conflict with your bar codes. With a small
degree of planning, this should not be a major problem.
Remember: bar codes should always be printed in black
on a white surface for best results.
Code 128
Code 39
Code 93
Codabar
UPC-A
UPC-E
EAN/JAN
EAN/JAN-8
EAN/JAN-13
Extended
Code 39
Extended
Code 93
HIBC
Interleave
2 of 5
PDF 417
UCC 128
Zip 4
Postnet
UPC-A
The Universal Product Code version
A (UPC-A) bar code is the standard code for items that are for sale
to the public. Probably the largest user of the UPC-A are
grocery and department stores.
This bar code only encodes numeric information
and must have an exact length. The checksum number is automatically
generated by CAPITAL and cannot be printed without it. The length
of the input string is 11 numbers for the standard UPC-A. The two
and five digit supplementals are also
supported when enabled. These are often used for multiple versions
of the same product such as magazines and books. When using two
digit supplementals, the length of the input string should be 13
numbers. The maximum length should be 16 numbers for a bar code
with a 5 digit supplemental.
The number system character is normally printed
in human-readable form to the left of the printed symbol. This
number is always the first digit entered as the data. Remember that
if you do not completely fill the data field with numbers, CAPITAL
fills the bar code with leading zeros. If this happens, you always
end up with a number system character of "0". The uses of each
number system are described below:
The UPC-A bar code is used to encode a 12 digit
number. The first digit is the number system character, the next
ten digits are the data characters, and the last digit is the
checksum character.
UPC-A bar codes have the following
characteristics:
-
They contain numeric data only.
-
They have two bars and two spaces per
number.
-
They have seven elements per number.
-
A bar or space can be 1,2,3, or 4 elements
wide.
-
The dark element is a binary one.
-
The light element is a binary zero.
-
The checksum is a require character.
-
The physical structure of the UPC-A symbol is as
follows:
-
Left hand guard bars, encoded as 101.
-
Number system character, encoded as a left hand
character.
-
First five data characters, encoded as left hand
characters.
-
Center guard pattern, encoded as 01010.
-
Last five data characters, encoded as a right
hand characters.
-
Checksum character, encoded as a right hand
character.
-
Right hand guard bars, encoded as 101.
-
UPC-E
The UPC-E bar code is ideal for small packages
because it is one of the smallest bar codes available. The UPC-E
contains the same information as the UPC-A, except that four zeros
are suppressed. The checksum parameter is ignored for this bar code
because it is a required part of the bar code.
CAPITAL supports three forms of UPC-E. You can
select UPC-E System 0 to enter six numbers and let CAPITAL give you
a bar code with those same digits for system number 0. Choosing
UPC-E System 1 gives you the same numbers for your system number 1.
If you choose UPC-E11, you are required to perform the
zero-suppression checks described below to ensure that the bar code
works properly. Note that you can send any 11digit string and all
correct ones are bar coded.
The UPC-E bar code is referred to as a
zero-suppressed version of the UPC-A bar code. This version
compresses the 11 numbers and the checksum into six numbers. Only
bar codes with a number system character of 0 or 1 can be encoded
into the zero-suppressed version. With the UPC-E bar code, the
original 10 data characters (without the system code) must have at
least four zeros in certain positions. The first five characters of
the 10 are the manufacturer number. The last five
characters are the product number.
If the manufacturer number ends in 000, 100, or
200, there are 1000 numbers between 00000 and 00999 available for
the product number. The six characters come from the first two
characters of the manufacturer number, followed by the last
character of the item number, then the third character of the
manufacturer number.
If the manufacturer number ends in 300, 400, 500,
600, 700, 800, or 900, there are 100 item numbers between 00000 and
00099 available. The six characters come from the first three
characters of the manufacturer number, followed by the last two
characters of the item number, then "3".
If the manufacturer number ends in 10, 20, 30,
40, 50, 60, 70, 80, or 90, there are 10 item numbers between 00000
and 00099 available. The six characters come from the first four
characters of the manufacturer number, followed by the last
character of the item number, then "4".
If the manufacturer number does not end in zero,
then five item numbers between 00005 and 00009 are available. The
six characters come from all five of the manufacturer
identification numbers, then the last characters of the item
number.
This bar code encodes numeric information only,
and must have the same length as the UPC-A when the UPC-E 11 digit
is selected. If the length is shorter CAPITAL fills the input
string with leading zeros. The checksum number is
automatically generated by CAPITAL. When 2 and 5 digit
supplementals are used, the length of the bar code information is
13 and 16 characters, respectively.
EAN/JAN
EAN/JAN is used for products that are
manufactured or sold outside the United States. The country origin
is an integral part of the EAN/JAN specification: A UPC-A symbol
with the first flag character set to zero.
The UPC, EAN, and JAN codes have several features
in common. These are:
-
They contain numeric data only.
-
They have two bars and two spaces per
character.
-
They have seven elements per character.
-
A bar or space can be 1, 2, 3, or 4 elements in
width.
-
The dark element is a binary one.
-
The light element is a binary zero.
-
The checksum is a required character.
-
EAN/JAN-13
EAN/JAN-13 is used to encode 13 characters. The
first two characters are numbers that identify the country of
origin, the next ten characters are data characters, and the last
character is the checksum character.
The left hand A character set is the same as the
UPC-A left hand character set. The right hand character set is the
same as the UPC-A right hand character set. The left hand B
character set is a transposed version of the right hand character
set. Both left hand B and the right hand character sets have
even
parity. The left hand A character set has odd parity.
The physical structure of an EAN/JAN-13 tag is as
follows:
-
Left hand guard bars, encoded 101
-
Second flag character.
-
First five data characters, encoded as right
hand character.
-
Center guard bars, encoded 01010
-
Second five data characters, encoded as right
hand characters.
-
Checksum character, encoded as right hand
character.
-
Right hand guard bars, encoded 101
-
EAN/JAN-8
The EAN/JAN-8 is a shorter and smaller bar code
also used for non-United States applications. The EAN/JAN-8 bar is
composed of 2 country code numbers, 5 numeric data characters, and
a checksum number. The checksum number is automatically generated,
making the input string a total of 7 numbers for the standard
EAN/JAN-8, 9 for a bar code with a 2-digit supplemental and 12 for
a bar code with a 5-digit supplemental. The checksum parameter is
ignored because it is required.
The EAN/JAN-8 bar code encodes two flag
characters, 5 data characters and a checksum character. The
physical structure of an EAN/JAN-8 tag is as follows:
-
Left hand guard bars, encoded 101
-
Two flag characters, encoded as left hand A
characters.
-
First two data characters, encoded as left hand
A characters.
-
Center guard bars, encoded 01010
-
Last three data characters, encoded as right
hand characters.
-
Checksum character, encoded as a right hand
character.
-
Right hand guard bars, encoded 101
CODE 39 (3 of 9)
The Code 39 bar code (also called 3 of 9 ) is
probably the most commonly used bar because it enables numbers,
upper case letters, and some punctuation to be encoded. It is a
standard for many government bar code specifications. The input
string is printed as it is read except for lower case letters,
which are converted to upper case. Any spaces are bar coded, as are
other valid characters. The checksum parameter determines whether the
optional modulus 43 checksum is appended to the end of the bar
code. The list of valid characters for the Code 39 bar code
includes:
Each bar code character consists of five bars and
four spaces for a total of 9 elements, three of which are wide,
hence the name 3 of 9. Wide elements are equal to a binary one (1)
and narrow elements are equal to a binary zero (0).
To distinguish between the wide and narrow
elements, CAPITAL prints the wide element 2, 2.5, or 3 times the
width of the narrow element. All narrow elements are equal in
width, as are all wide elements.
The 3 of 9 code is a discrete code, meaning there
is a space between each character. The width of this space is equal
to one narrow element. This code requires an extra character at the
beginning and end of the code to be encoded. This character is the
(*) character. CAPITAL automatically adds these characters to the
code.
The 3 of 9 code is self checking, but CAPITAL has
the option of adding a checksum character for each bar code
message. The checksum character is the modulus 43 sum of all the
character values in a given message (not including the start and
stop characters) and is printed as the last character (if
enabled).
EXTENDED
CODE 39
The Extended Code 39 bar code supports every
character in the ASCII character set except for ASCII 0 and those
above ASCII 127. This enables full support of upper case and lower
case letters, as well as control codes
CAPITAL actually generates 2 characters for each
non-code 39 input string character when the extended Code 39 mode
is enabled.
CAPITAL uses the single character whenever a
standard Code 39 character is found to save on the width of the bar
code. The extended Code 39 bar code can get very wide with very few
characters because of the double character method of encoding. The
checksum parameter determines whether the optional modulus 43
checksum is appended to the end of the bar code, as in Code 39.
CODE 93
The Code 93 bar code is a more compact version of
Code 39, but is not quite as easy for bar code readers to read because of
the way it is encoded. Code 93 derives its name from the fact that
every character is constructed from 9 elements arranged into 3 bars
with their adjacent spaces. The checksum parameter determines whether the
optional modulus 43 checksum is appended to the end
of this bar code.
A Code 93 consists of an area of white space
(quiet zone) before and after the bar code, a start character, up
to 30 data characters, 2 check characters (referred to as "C" and
"K") and a stop character. Each symbol uses a series of characters
which are represented by 3 bars and their adjacent spaces. The bars
may be 1, 2, or 3 elements wide (except for the start/stop code,
which contains a 4 element bar). Spaces may be 1, 2, 3, or 4
elements wide.
The start and stop character which is sometimes
visually interpreted as an open square, is used to identify the
leading and trailing ends of the bar code symbol. These characters
are the same, except when used as the stop position. Then an
additional single element termination bar is added.
EXTENDED CODE 93
The Extended Code 93 bar code uses Code 93 to
encode the entire 128 ASCII character set by using combinations of
control characters and basic data characters. The checksum
parameter determines whether the optional modulus 43 checksum is
appended to the end of this bar code.
HIBC
The Health Industry Bar Code
(HIBC) bar code is a modified Code 39 bar code. This bar code uses
all of the characters of Code 39. CAPITAL automatically inserts the
required "+" character after the start character and before the
stop character. The required modulus 43 checksum is inserted after
your input string and before the ending "+" sign.
INTERLEAVED 2
OF 5
The Interleaved 2 of 5 bar code (also called
"Code 25") is a numeric-only code that prints out a little larger
than the UPC-A bar code when 10 digits are encoded. The interleaved
2 of 5 is an excellent choice for numeric only applications because
it has the flexibility of having from 2 to 30 digits, has
adjustable ratios as well as density and has a high read rate.
The interleaved 2 of 5 requires an even number of
digits to be encoded, so CAPITAL automatically puts on a leading
zero if the digit count is odd. The checksum parameter determines
whether the optional modulus 10 checksum is appended to the end of
this bar code. Remember that if the checksum is added, the input
string needs to be odd (the checksum adds one character, making it
even). If you have an even number of characters with the checksum
enabled, it will be wider than without the checksum.
CODE 128
The Code 128 bar code is a very compact bar code
for codes with all numeric information. It is also very good for
alphanumeric bar codes. The Code 128 bar code is a variable-length
bar code that can encode the full 128 ASCII character set. It also
enables numeric data to be compressed into double the normal
density by encoding two digits per encoded character.
Code 128 actually has three different character
code subsets called Code A, B, and C that allow the bar code to be
optimized for size. When using Code 128 Auto, CAPITAL automatically
determines which character code subsets will result in the smallest
bar code. One of these code subsets is initially selected as the
first encoded character. As the data is encoded, the code subset is
changed within the bar code if it will reduce the bar code
size.
CODE SUBSET A
includes all of the standard uppercase alpha-numeric keyboard
characters plus the control and special characters.
CODE SUBSET B
includes all of the standard uppercase alpha-numeric keyboard
characters plus lower case alphabetic and the special
characters.
CODE SUBSET C
includes the set of 100 digit pairs from 00 through 99 inclusive,
as well as special characters. This enables double-density numeric
digits (two digits per bar-coded character) to be encoded.
You can force the subset to be subset A, B, or C
by choosing that bar code specification.
UCC-128
UCC-128 is the name given by the Uniform Code Council to a
specially defined subset of Code 128 used most often for shipping
containers. The UCC-128 bar code uses the double-density mode of
the Code 128 C symbology. UCC-128 uses the special Function Code 1
character and has an additional modulus 10 checksum before the normal mod 103 checksum.
The input string for this bar code can be any length. The optional
modulus 10 check character, which is calculated on all data digits,
increases data integrity when keyboard data entry is used. Because
it is used with keyboard entry, when enabled, this check character
should be printed on the human-readable text underneath the bar
code. Remember to use the underscore character ( _ ) as the last
character in the text to print under the bar code. For example:
ABC_ This character is automatically replaced by the modulus 10
checksum.
MSI Plessey
The MSI Plessey bar code is a self-clocking bar
code used most often by grocery stores for shelf labels. MSI
Plessey can only bar code numbers. This bar code always has a
modulus 10 checksum at the end of it. The checksum parameter
determines whether an additional modulus 10 or modulus 11 checksum
is added to the bar code before the final checksum. This bar code
can encode 2 to 30 numbers
The MSI Plessey bar code is a variable length bar
code that can encode up to 15 numeric characters.
CODEBAR
The Codebar bar code can print numeric values and
six punctuation characters. This bar code is useful for encoding
dollar figures and mathematical figures because a decimal point,
plus sign, and minus sign can be encoded. Since this bar code type
can encode punctuation characters, it is somewhat wider than the 2
of 5 bar code. The Codebar bar code is a variable length bar code
that can bar code the following 16 characters:
-
Numbers: 0 to 9
-
Symbols: - $ : / . +
Codebar must begin and end with one of four
special start/stop characters, A, B, C, D. If the input string does
not begin and end with one of these characters, CAPITAL
automatically inserts the "A" character at the beginning and/or the
end of the bar code. This enables you to use this bar code with
normal numeric data which is the bar code’s primary use. The
checksum parameter determines whether a modulus 16 checksum or a
modulus 10 checksum is appended to the end of the bar code.
The Codebar code is self checking, but CAPITAL
can optionally add a mod 16 or mod 10 checksum character for each
bar code message.
PDF417
Portable Data File 417 ( PDF417
) is a two-dimensional bar code. Because it is two-dimensional, the
PDF417 gives you high information density (the ability to encode
large amounts of information in a very small area). This enables
you to encode large amounts of data (up to 1 Kilobyte) on a single
bar code.
The PDF also supports full ASCII, binary and
numeric data, and can encode foreign-language character sets; this
gives you the flexibility to encode almost whatever you like into
the bar code.
A traditional bar code is really just a key to a
record in an external database that contains useful information.
PDF, however, contains the useful information in it. It is really a
"portable data file". The advantage to this is that access to a
database is unnecessary.
PDF
Error Correction
Error-correction enables this bar code to make
corrections for missing data due to a damaged or defaced label;
part of the label can actually be missing. The redundancy built
into the PDF can still result in all the information encoded being
readable. If the information can not be read in its entirety, it
provides no data at all. The error-correction values range from 0
(no error) to 8 (maximum correction).
Zip+4 POSTNET
The Zip+4 Postal Code (POSTNET Bar Code) is a bar
code that is placed on envelopes or postcards to be mailed. It is
used by the United States Postal Services (USPS) for high speed
mail sorting.
|