Barcode Software - SAP
License Terms (PDF)
Link To TEC-IT
Depending on the bar code type the * character is used specifically. Code 39 utilizes an asterisk character as a start and stop indicator - in this case TBarCode generates the asterisk character automatically. With Code-128 the asterisk character is not encoded into the bar code symbol but displayed in the text below (according to ANSI/HIBC 2.2 - 2006).
Important: The barcode scanner does not transmit the start and stop character, only the raw data.
Once you choose a HIBC barcode symbology the TBarCode software complies with these guidelines.
The HIBC format requires a check digit. If a HIBC barcode symbology was chosen, TBarCode calculates and attaches it automatically. Normally you can enter the data WITHOUT the check digit. If the data already contains the check digit just disable the check digit in the TBarCode options. Otherwise two check digits are attached and you will get a faulty barcode!
The HIBC standard distinguishes between the LIC and the PAS data format. The barcode data is validated according to the HIBC type. If needed an error message will be displayed.
VCard is not a bar code itself, it is a special file format, which can be used to store data in a bar code (e.g. into QR Code). A detailed description of the VCard format can be found here:
Wikipedia - VCard Specification
Just bring your data into the given format and you'll be able to read the barcode with your mobile phone and recognize the data as contact information.
With our Barcode Studio we offer an Assistant to create VCard barcodes the easy way.
Even if you use an escape sequence for binary data the encoder will use Codepage Conversion (example: \x88 leads to a different value in Data Matrix as desired).
FNC1 is used as separator character for variable length data fields in the application identifier standard. It can be encoded with \F. Sample: The data field for the batch or lot number varies in length (up to 20 characters) and needs a termination (FNC1).
In this example we generate a GS1-128 barcode with 2 Application Identifier. The batch or lot number (AI =10, variable length so it needs FNC1) and the best before date (AI=15).
' set the barcode type = GS1-128 (EAN/UCC 128)
TBarCode101.BarCode = eBC_GS1_128
' enable Translate Escape Sequences
TBarCode101.EscapeSequences = True
' set the data to be encoded
TBarCode101.Text = "10222333\F15100701"
We use the same sample data like before. To add the functional character FNC1 to your barcode data follow the steps:
RS, GS and EOT are ASCII control characters, which are used to format data in a 2D bar code (see ISO/IEC 15434). Because they are unprintable you need to use special escape sequences to encode them in the bar code data.
In order to convert the hexadecimal sequences (starting with \x...) into their ASCII value, you have to enable Escape-Sequences (Translate Escape Sequences) in the bar code properties.
Format 06 Example: [)><RS>06<GS>SP66831000G<GS>SV9117327G<GS>S16S3.0G<RS><EOT>
Data to encode : [)>\x1e06\x1dSP66831000G\x1dSV9117327G\x1dS16S3.0G\x1e\x04
EAN-13 / UPC-A can be printed in several sizes. The possible sizes can be found in the specification. The nominal module width is 0.330 mm (optimized for 300 dpi printers it would be 0.339 mm). The human readable font must be adapted to these sizes.
The specification says that a "clearly legible font shall be used" for the human-readable digits, and OCR-B (as defined in ISO 1073-2) with a height of 2.75 mm at nominal size is recommended. Because this font is referenced only as a convenient standard typeface, you can use Courier or Arial (Bold) if you don't have the OCR-B font available.
It is not part of the specification but you can use this kind of formula to get a useful font size (based upon the module width parameter).
FontSize [pt] = ModuleWidth [mm] / 0.339 * 10
The formula above can be used for other barcodes, too.
GS1 DataBar Expanded (alias RSS Expanded) symbols are constructed as a sequence of triplets, each consisting of a finder pattern between two symbol characters. Such a triplet contains 2 data segments (symbol characters).
2 segments forming a "triplet" consist of 17+15+17 modules. The left and right guard pattern for the symbol consist each of 1 bar + 1 space.
Per segment/data character you can encode 12 bits. Each symbol is prefixed with a check character. So the smallest symbol, which uses at least 4 symbol characters (containing 1 check char) can encode 36 Bits.
Input data is processed with a character set mapping algorithm + error recognition. With a simple formula it would be hard to predict how many data segments are required for a given set of input characters.
Simply select Code128 as the bar code type. Make sure to clear the Format string. Code 128 auto compresses data by default (and subset switching is done automatically).
Assuming you have several Application Identifiers to encode (01-GTIN + 17-Expiration Date + 10-Batch Lot...) and you want to calculate the check digit of the GTIN number with TBarCode, proceed as follows:
Set Property Format = 01#############^
Set Property Translate Esc Sequences = True
Set Property CheckDigit = EAN-14 (complies with Mod-10 used with GTIN)
Set Property DMFormat = EAN
Set Property Text = GTIN (13 digits, no check digit) + 17 + Exp. Date + 10 + Batch Lot Number
Note: Encode the leading GTIN number without 01 and with only the first 13 digits (no check digit).The "^" character in the format property controls the position, where the calculated check digit will be automatically inserted. The leading 01 AI for the GTIN is also contained in the format string.
The resulting barcode data will be as follows:
10 + GTIN (13 digits + 1 check digit) + 17 + Exp. Date + 10 + Batch Lot Number
The data structures of the IFA PPN und GS1 NTIN Code are encoded with a Data Matrix ECC200 symbology (ISO/IEC 16022). The IFA version is using Data Matrix Macro 06 mode, while the GS1 version is based upon Data Matrix with FNC1. A specific range for the cell size and module width has been defined as well.
More information: Encoding PPN and NTIN Numbers (German)
Set Data Matrix format to Macro-06.
Library/DLL: BCSet_DM_Format (pBarCode, eDMPr_Macro06)
This will add a header of "[)>" + RS + "06" + GS and a trailer of RS + EOT to the encoded data.
User Data (Example):
Translate Escape Sequences must be activated!
Details: PPN Code Spezifikation (German)
Set the Data Matrix format to EAN or GS1. This adds an FNC1 on the first code word position. Then use Application Identifiers as shown in the GS1 specification.
Details: NTIN Code Spezifikation (German) NTIN Code Specification (English)
UID Codes are used as a permanent marking method in order to give equipment a unique ID. UID Codes utilize the Data Matrix ECC200 bar code symbology - this standard is supported by TEC-IT.
Beside selecting Data Matrix as bar code type the encoded data structure has to comply with the rules outlined in the „MIL Std 130“ specification (see also next FAQ).
Creating the world wide unique UID number can be achieved by the following methodologies (constructs) and approved equivalents:
Accepted Issuing Agencies:
After getting a world wide unique enterprise ID from one of the listed Issuing Agencies, suppliers can number their products with UID Construct 2. Often an existing serial number management can be re-used for that process. Suppliers in the US can use the CAGE code as enterprise ID. In other countries the NATO or GS1 can issue enterprise IDs. If a company already owns a DUNS number it can be used as well.
The Data Matrix symbol according to MIL Std 130 N is based on ISO/IEC 16022 Data Matrix ECC200, this is the same standard which is used by TEC-IT. The module width may be between 0.19 mm and 0.635 mm, and must be adjusted so that final symbol width does not exceed 25.4 mm.
For more details, see MIL Std 130 N specification (chapter 188.8.131.52).
The structure of data depends on the label, whereas Application Identifier, Data Identifier or TEI can be selected (see specification 5.2.4 Syntax).
Library/DLL: BCSet_DM_Format (pBarCode, eDMPr_Macro05)
Result: In the data stream, a header of "[)>" + RS + "05" + GS and a trailer of RS + EOT will be inserted. FNC1 is for field separation with variable-length AIs (see specification 184.108.40.206).
Result: In the data stream, a header of "[)>" + RS + "06" + GS and a trailer of RS + EOT will be inserted.
User Data Example:
If you choose TEI, there is a separate Format Indicator 12. You must manually implement the Format 12 (header, trailer) on the user data. There is no macro (format) available in the software for this.
TBarCode V9 and Barcode Studio V9 allows you to specify the target code page for the data to be encoded.
tbarcode.CodePage = eCodePage_Custom
tbarcode.CodePageCustom = 28605 ' Latin-9 on Windows
Alternatively you can use Windows API character set conversion functions.
The PDF417 "GLI" code is an indicator for the reader software, which character set is used for the forthcoming data string. The AIM ECI table contains ECI 000017 for ISO/IEC 8859-15 Latin alphabet No. 9. ECI is the successor of GLI.
The GLI or ECI indicator can be insert by escape sequences into the data stream:
PDF417: \Gnnnnnn (n...6 digits specifying the GLI)
Encode: \G000017 + bar code data
The Aztec Rune Mode can encode one single Byte of information. If it is enabled, the barcode data should contain a string, which consists of a number range between 0 and 255. This will be converted to a Byte value in the encoder sotware.
After enabling Rune Mode in our bar code software, the small 11x11 Rune Symbol (eAztecSz_Rune) is selected automatically (no extra API call required).
All newer 2D symbologies support the "Industry Format" - but what is it? The industry format works as follows:
Industry format may be used in closed circuits where the purpose of the data package should be clearly defined and other data formats locked out. Typically the format specifier is given in a label standard for a specific application.
The USPS MaxiCode symbol has a predefined constant size, therefore the module width has been set to a fixed value in the barcode generator. With that behavior the bar code will not adapt to the bounding rectangle even if size mode eSizeMode_FitToBoundingRect has been set.
If you need to change the size of a MaxiCode symbol you need to change the module width (please see API or UI description on how to change the module width). More information about MaxiCode can be found in our Barcode Reference.