| ||||||||||||
Home: Products: PDF417 Font and Encoder User Manual: |
Demo Version Notice:
The symbols produced with the demo version of this product will be slightly
larger than normal because the text "DEMO [CR] [LF]" will be added to the
beginning of any data encoded. In addition, the
native encoders are only provided in the
licensed version.
If the encoded text will cause a problem with testing, or the native
encoders are desired, IDAutomation suggests
ordering the
fully-functional licensed
version. All products ordered have a 30 day money-back
satisfaction guarantee.
INDEX:
Product Overview and Features:
* Many of the graphic encoders in this package have their own user manuals, therefore, links are provided to their locations.
Product Overview and Features |
Large amounts of text and data can be stored efficiently when using the PDF417 symbology. Because PDF417 uses Reed Solomon error correction, the symbol can withstand some damage without causing loss of data. This high level of error correction decreases chances of read errors and is far more advanced than one dimensional barcodes with check digits. Up to about 850 characters can be dependably encoded and read with the PDF-417 symbology.
In addition to PDF417, this package includes support for MacroPDF, which allows thousands of characters to be encoded into multiple symbols. Another symbology similar to PDF417 is MicroPDF417, which is only supported in IDAutomation's RSS products. This advanced PDF417 font uses IDAutomation Vertical Interleaved Technology™ which allows increased throughput and printing at smaller X dimensions than competitors' products.
The font encoders provided in this package return a text string that, when printed or displayed with the PDF417 font, create the PDF417 symbol. It is necessary to use the encoder because of the complexity of the symbology. Please review the PDF417 Encoder for Windows® Tutorial for a simple encoder usage example.
The following PDF417 font encoders are available:
The following additional font encoders are provided in the Advantage Package:
- .NET DLL
- Java Class Library
- Native Crystal Reports Formula for PDF417 Font (only supplied in the purchased version)
- VB Module for Visual Basic, Excel and Access (only supplied in the purchased version)
In addition to the font encoders provided, graphic encoders are also included in this package. The graphic encoders are components that return a graphic image of the complete symbol instead of text that needs to be combined with a font.
The following PDF417 graphic encoders are available:
The following additional graphic encoders are provided in the Advantage Package:
In the event that the font encoders and graphic encoders provided are not supported in the desired application, there are a few other implementation options available:
Extract the file(s) provided with the product and run the installation executable. The installation executable will install the files needed in the application folder under Program Files, and the following components:
Importing the VBA Module into Visual Basic, Excel or Access |
The VBA module is required when using the font encoders in VB 6, Excel or Access; it is provided in 2 forms:
Importing the module:
IDAutomation_Native_PDF417_Macro.bas | |
IDAutomation_PDF417(DataToEncode As String,
Optional EccLevel As Integer, Optional ColumnSpecify As Integer, Optional RowSpecify As Integer, Optional Truncate As Integer, Optional ForceBinary As Integer) As String |
Access Example: =IDAutomation_PDF417([Test Data.data]) or =IDAutomation_PDF417([Test Data.data],2,4,0,0,1) |
IDAutomation_PDF417_Macro.bas | |
IDAutomation_PDF417(DataToEncode As String, Optional EcLevel As Integer, Optional TotalColumns As Integer, Optional TotalRows As Integer, Optional Truncated As Integer, Optional PDFMode As Integer, Optional ApplyTilde As Integer) As String | Example: =IDAutomation_PDF417([Test Data.data],2,4,0,0,0,0) |
Microsoft Access Implementation |
In Microsoft Access, there are 3 implementation options, 2 of which are supported in this package. When used in reports and forms, the graphic encoder option may be the easiest product to use.
Graphic encoder implementation:
Font implementation:
Graphic encoder embedding:
Although it is not part of this package, the
PDF417 Native Barcode
Generator for Access is also available, which creates barcodes without
any additional fonts, ActiveX or plug-ins.
Word Mail-Merge Implementation |
PDF417 barcodes may be created in a Word mail-merge if Excel is used as the data source on Windows with the following procedure:
Crystal Reports Integration |
IDAutomation provides two font encoders in this package for Crystal Reports:
Although it is not part of this package, the PDF417 Native Barcode Generator for Crystal Reports is also available, which creates barcodes without any additional fonts, UFLs or plug-ins.
Limitations with Crystal Reports prior to version 9:
The Crystal Reports UFL is designed to work with Crystal Reports 6.0
and above. However, because of a Crystal Reports limitation prior to Version 9, only
limited information (up to about 40 ASCII
characters or 30 binary characters, which allows up to 254 characters in a
string) may be encoded with the ECC level set to 1 and the number of columns set to 10. Up to
about 50 ASCII characters may be encoded if the truncate option is selected, as
shown in this example formula:
IDAutomationPDF417EncoderPDFSet({Table.Field}, 1, 10, 0, 1, 1, 0 ).
If the
PDF417 symbol exceeds 10 columns or 3 rows, the barcode will be damaged because
of the formula truncation. To overcome this limitation, version 9 or greater is
required.
When Crystal XI or greater is used, barcode images may be streamed from a server and dynamically placed in the report with the ASP.NET Web Component. This graphic encoder implementation does not require any fonts or software to be installed or distributed when using IDAutomation's hosted Dynamic Barcode Generator Service.
Crystal Reports version 9 (and later versions) overcome the 254 character limitation by using a formula that is able to retrieve the data encoded in 254 byte chunks. A simple example of creating a PDF417 barcode in Crystal is included in the Font and Encoder package. IDAutomation recommends referring to that example if problems are encountered.
How the UFL Formula works with Crystal Reports:
Int DataSegments=DAutomationFontEncoderPDF417Set(DataToEncode As String, EcLevel As Integer, TotalColumns As Integer, TotalRows As Integer, Truncated As Integer, PDFMode As Integer, ApplyTilde As Integer) |
How to Use the .NET DLL in .NET Applications |
.NET Font Encoder Example:
The following is an example using the font encoder to obtain the data, that when printed with IDAutomation's PDF417 Font, will create a correct barcode. The source code for this font encoder example is provided in the package for testing and reference.
Barcoding with the PDF417 Java Class Font Encoder |
This section describes the font encoder process. Implementation of PDF417 in Java as a graphic encoder is described in the Java User Manual.
Install the Encoder Class Library:
Copy the PDF417Encoder.class file from the "Java
Class Encoder"
folder of the package to the root directory of the computer's classpath. If assistance is
needed with the classpath, consult the Java documentation
or the company from where the Java virtual machine was obtained.
Integrate the Font Encoder Method:
After the Encoder Class Library is installed, it may be called from an
application as in this example:
import java.io.*; import IDautomationPDFE.*; class PDFTest { public static void main ( String [] args ) { String dataToEncode = "This is a test of the IDAutomation.com PDF417 Java Encoder."; PDF417Encoder pdfe=new PDF417Encoder(); System.out.println( pdfe.fontEncode(dataToEncode) ); } }
The data string returned by the FontEncode method will create a proper PDF417 symbol when displayed or printed with the PDF417 font. To install the font on an operating system, consult the operating system's documentation or follow IDAutomation's font installation procedures.
Configuration parameters and methods of the PDF417 for Java font encoder class:
Using the COM DLL Font Encoder |
When using the COM DLL as a graphic encoder, refer to the instructions in the ActiveX Control Manual. When using the COM DLL as a font encoder, the FontEncode function is used to convert the data to encode into a string, that when combined with the PDF417 font, will create a correct barcode. The following is Visual Basic 6 code that places the converted data in the "Output" string:
A Visual Basic project example is included with the package. These files are placed in the destination directory upon installation.Dim Output as String
Dim PDF417FontEncoder As PDF417Lib.PDF
Set PDF417FontEncoder = New PDF
PDF417FontEncoder.FontEncode DataToEncode, 0, 0, 0, 0, 0, 0, Output
COM and .NET DLL Methods and Properties |
PDF417 Properties:
COM DLL FontEncode Method:
FontEncode (DataToEncode As String, EcLevel As Integer, TotalColumns As Integer, TotalRows As Integer, Truncated As Integer, PDFMode As Integer, ApplyTilde As Integer, Output as String)
Example: PDF417(InputString,"0","0","0","0","0","0",OutputString) (Enter zeros for defaults in all integer fields)
.NET DLL FontEncoder Method:
FontEncoder (DataToEncode As String, EcLevel As Integer, TotalColumns As Integer, TotalRows As Integer, Truncated As Boolean, PDFMode, ApplyTilde As Boolean)
Example: TextBox2.Text = NewBarcode.FontEncoder(DataToEncode, 0, 0, 0, False, PDF417Barcode.PDF417Modes.Text, True)
MacroPDF417 Methods and Properties |
Many of the encoders in this package support MacroPDF, which allows additional data to be encoded by dividing the data into multiple symbols.
Java and .NET fontEncodeMacroPDF Method:
String
fontEncodeMacroPDF(String DataToEncode, int inEccLevel, int inColumnSpecify, int
inRowSpecify, boolean inTruncate, int inMode, int inMacroSegIndex, int
inMacroFileId, boolean inMacroLastIndex)
COM DLL and ActiveX Control FontEncodeMacroPDF Method:
FontEncodeMacroPDF(BSTR
DataToEncode, int inEccLevel, int inColumnSpecify, int inRowSpecify, int
inTruncate, int inMode, int inTilde, int inMacroSegIndex, int inMacroFileId, int
MacroLastIndex, BSTR *ReturnVal);
Distributing Files for an Application |
After purchasing a Developer License for the PDF417 Font and Encoder, the customer may distribute the font files and applicable components with an application. In addition, if 3 Developer Licenses are purchased with a signed source code license agreement, the source code may be directly integrated into the application, eliminating the need to distribute DLLs. The source code is available in VB, C++ and Java. Remember to have the application register the DLLs after they are copied to the system folder.
NOTE: Native font encoders only require the font to be redistributed. Redistribution of IDAutomation fonts and components requires a Developer License.
Windows Encoder COM Files (IDAutomation recommends using an advanced installation application to distribute files for Windows) | ||
Purpose of File | File to Distribute | Notes |
Font File | IDAutomationPDF417n3.ttf | The PDF417 TrueType font. May also distribute any other font files in the package as necessary. |
Encoder DLL | IDAutomationPDF417.dll | This is the encoder DLL that formats the PDF-417 font. It can be found in the system directory after installation. Because it was created with C++ ATL, it is small and has no dependencies. |
Windows Encoder .NET Files (IDAutomation recommends using an advanced installation application to distribute files for Windows) | ||
Purpose of File | File to Distribute | Notes |
Font File | IDAutomationPDF417n3.ttf | The PDF417 TrueType font. May also distribute any other font files in the package as necessary. |
Encoder DLL | idautomation.pdf417.dll | This is the encoder DLL and forms control. It requires the .NET Framework 1.0 or greater. |
Java Encoder Files for Macintosh, Linux, Unix and Other Systems. | ||
Purpose of File | Files to Distribute | Notes |
PDF417 Java Class Library | PDF417Encoder.class | These files must exist in the IDautomationPDFE directory from the class path because IDautomationPDFE is the package name. |
Font File | <depends on OS> | IDAutomation's PCL and PostScript fonts are commonly used on UNIX systems. |
Crystal Reports UFL Encoder Files (IDAutomation recommends using an advanced installation application to distribute files for Windows) | ||
Purpose of File | File to Distribute | Notes |
Font File | IDAutomationPDF417n3.ttf | The PDF417 TrueType font. May also distribute any other font files in the package as necessary. |
Encoder DLL | IDAutomationPDF417.dll | This is the encoder DLL that formats the PDF-417 font. It can be found in the system directory after installation. Because it was created with C++ ATL, it is small and has no dependencies. |
VB Runtime DLL | msvbvm60.dll | This runtime file already exists on most PCs and it is required for the Crystal UFL. It can be found in the system directory after installation. |
Crystal Runtime | U2lcom.dll | This is a crystal runtime file that is required to work with UFLs. |
Crystal UFL | CRUFLidautomationPDF.dll | The IDAutomation Crystal UFL. It can be found in the system directory after installation. |
NOTE: Native font encoders only require the font to be redistributed. Redistribution of IDAutomation fonts and components requires a Developer License.
PDF417 FAQ (Frequently Asked Questions) |
The implementation of PDF417 as a font consists of both the encoder and the font. The purpose of the encoder is to convert the data to be encoded into proper bar and space patterns formatted to the PDF417 barcode font. It is necessary to use the encoder because of the complexity of the symbology and the required Reed Solomon error correction.
The benefits include high scalability with operating system, application and printer independence. These are best described in IDAutomation's Font Quality Statements.
Can extended characters such as © ® ë ö be encoded and scanned?
Yes, it is possible to scan and encode extended characters provided the following steps are used:
PDF417 Font Issues and Solutions |
Some implementations of PostScript fonts can cause a small space to appear between rows in the symbol. The only way to overcome this issue is to make sure the print application is not adding additional line feeds or in the case of PCL fonts, change the vertical motion index as indicated below. This space will not cause problems with scanners and the barcode will still be readable.
When using 12 or 14 point PCL fonts, an adjustment to the vertical motion index is not usually necessary. However, if other sizes are used, an adjustment may be needed to close the gap between rows. To set the vertical motion index, issue the command before printing with the PDF417 font. The code for the Vertical Motion Index Command is escape "<Ec>" + "&" + lowercase L "l" + Number Index + Capital "C". Use the chart below to find the command for the font size. The number may be adjusted as necessary for the printer.
PCL Font Point Size | Vertical Motion Index Command to Use |
10 | <Ec> &l6.5C |
8 | <Ec> &l5.2C |
6 | <Ec> &l3.9C |
In the example above, the <Ec> represents the escape character for the software. In DOS Edit, Ec is represented by holding down the CTRL key and pressing the letter P, releasing both keys and then press the ESC key.
This issue may exist if there is an attempt to move the barcode to the right on the X axis using a programming language, such as Visual Basic. When using the printer.currentX specification to set the X axis, only the first line of the barcode would print in the new position and the remaining lines would print at zero (all the way to the left). This is because the printer.currentX specification is reset every time a return is performed. A return must be performed to print the font on the new line.
The best solution to this problem would be to find a command that could move the left margin so that returns will move the insertion point to the correct position. Since Visual Basic does not have a command like this, a small piece of code must be written to set the currentX for each line.
Step 1. Declare and initialize a variable with the desired X position.
Example: my_x = printer.currentX
Step 2. Replace the "Printer.Print OutputString" command with
something similar to the following:
For i = 1 To Len(Output) out1 = out1 & Mid(Output, i, 1) If Mid(Output, i, 1) = Chr(10) Then out1 = Replace(out1, Chr(10), "") out1 = Replace(out1, Chr(13), "") Printer.CurrentX = my_x Printer.Print out1 out1 = "" End If Next i
Additional Support:
PDF417 Font / Encoder Specifications |
Character Sets | GLI0 which encodes ASCII 0 to 255 of the ASCII character set. | |
Data Compaction Modes |
Text Compaction with all four sub modes supporting text and numbers. Byte Compaction mode supporting numbers, text and binary data. |
|
Error Correction Levels | Selectable from 1 to 8 | |
Font Point Size: |
Approximate X dimensions for IDAutomationPDF417n3 |
|
12 | .048 cm | .018" |
10 | .038 cm | .015" |
8 | .032 cm | .012" |
6 | .024 cm | .009" |
4 | .016 cm | .006" |
Font Names | Description |
IDAutomationPDF417n3 | X to Y ratio =3: This is the standard PDF417 font. It has an X to Y ratio of 1:3 which is recommended by national and international standards. Y dimension = 3X |
IDAutomationPDF417n4 | X to Y ratio =4: This is a taller but thinner version of the PDF417 font for use with lower quality readers and special applications. It has an X dimension of .75 times the X dimension of PDF417n3. It has an X to Y ratio of 1:4. This taller version also tends to work better with laser barcode scanners that read PDF417. It may be necessary to increase the font size after switching to this ratio. |
IDAutomationPDF417n5 | X to Y ratio =5: This is a taller and thinner version of the PDF417 font designed to be used for FEDEX label specifications and other applications that require an X to Y ratio of 5. The X dimension of this font is .010" or 10 MILS when printed at 11 points. |
IDAutomationPDF417n2 | X to Y ratio =2: NOTE: Most scanners cannot dependably read this font. This is a shorter version of the PDF417 font for high quality imagers and scanners. It has an X dimension of 1.5 times the X dimension of PDF417n3 and an X to Y ratio of 1:2. This font may be used to reduce the symbol height if a high quality scanner is being used in a clean environment. It may be necessary to decrease the font size after switching to this ratio. |
Font Names Prior to 7/2003: | Current Font Name |
PDF417c2 | IDAutomationPDF417n2 |
PDF417c | IDAutomationPDF417n3 |
PDF417c4 | IDAutomationPDF417n4 |
PDF417c5 | IDAutomationPDF417n5 |
Product Quick Links: [Barcode Fonts | Font Tools | Components | Label Software | Scanners | Printers | RFID | Product Index] |
© Copyright 2000-2007 IDAutomation.com, Inc., All Rights Reserved. Legal Notices.
Over 70% of Fortune 100 companies use IDAutomation's products to automate their businesses. |