IDAutomation PDF417 Font and Encoder
Manual
A license is
required for each computer this software is installed on;
this software may only be used according to the
License Agreement. |
INDEX:
Product Overview and Features:
Implementation Tutorials:
Frequently Asked
Questions:
Support Issues and Solutions:
Specifications:
* Many of the graphic encoders in this package have their own user manuals,
therefore, links are provided to their locations.
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:
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:
- PDF417 may be printed on an unsupported system by using a
font encoder to populate a database
with the "text string to print" and then access the database from the
other system with the PDF417 font.
- The source code for any single encoder (available
in Java, C++, C# .NET or Visual Basic 6) will be supplied with
the purchase of the Unlimited Developer License and a signed
source code
license agreement. VB 6 source code is supplied with
any Developer License purchase and consists of about 1200 lines of code
using simple functions and arrays that may be easily converted to
a programming language for another operating system.
- IDAutomation
Barcode Label Software
may be a good alternative. It is a stand alone application with VB scripting
support and database connectivity.
- IDAutomation
Image Generators
create images one at a time on Windows systems. Command line options
are also available with this product.
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:
-
PDF417 Encoder for Windows - an application that provides an easy
method for users to create PDF417 barcodes and print or paste them into
other applications. For more information on this application, please
review the
PDF417 Encoder for Windows Tutorial.
- TrueType Fonts - the most commonly
used PDF417 fonts are installed for printing with different ratios from
1:3 to 1:5.
- Crystal Reports UFL - a plug-in for Crystal
Reports version 9 and above.
- ActiveX Control and Windows DLL
- this component is installed in the Windows System32 folder and is
used as the font encoder for Windows applications, and as a
graphic encoder for use in Access,
Excel, Visual Basic, Visual Foxpro and C++.
-
Signed ActiveX CAB File - the CAB file may be used with Infopath,
Internet Explorer and FrontPage.
- VBA Module - the module may be
used in Visual Basic, Excel or Access.
- Implementation Examples - examples are provided
for Crystal Reports, VB, C++, Excel, Word and Access.
- Visual Basic source code - the source code is used to create the
PDF417 Encoder for Windows. The source code for printing PDF417
directly from Visual Basic, or the source to any encoder provided, is
available with the purchase of the Unlimited Developer License and a
signed source
code license agreement.
- If it is necessary to verify PDF417 barcodes, consider purchasing
a Barcode Verifier
or
Hand-Held USB Scanner.
The VBA module is required when using the
font encoders in VB 6, Excel or Access;
it is provided in 2 forms:
- The IDAutomation_PDF417_Macro.bas module
accesses the ActiveX DLL for the encoder function. Created in C++, the
ActiveX DLL is faster than the native VBA code. However, when distributing
an application, the ActiveX DLL must be installed and registered for
proper operation.
- The IDAutomation_Native_PDF417_Macro.bas
module is the complete encoder function in VB form. It may be slower
than accessing the ActiveX DLL and the ApplyTilde feature is not available.
However, when distributing an application, the ActiveX DLL does not
need to be distributed. This module is only supplied in the purchased
version of the Advantage Package.
Importing the module:
- 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.
- Open VB, Excel or Access.
- If Excel or Access is being used, choose Tools - Macro - Visual
Basic Editor to open the VB editor.
- If the IDAutomation_PDF417_Macro.bas
module is to be imported, go to Tools - References and select
IDAutomation PDF417 Barcode, click ok.
- In the VB editor, choose File - Import File and select the
module to import from the VBA folder of the extracted files. The native
module, IDAutomation_Native_PDF417_Macro.bas,
is only supplied in the purchased version of the product.
- If Excel or Access is being used, choose File - Close to
close the VB editor and choose File - Save.
- After the file is imported, the IDAutomation_PDF417 function may
be called according to the chart below. The zero digit is the default
for all parameters (which are optional) and is used for automatic mode
or a false setting. The one digit is used for a true setting. Parameters
of the functions are defined in the API section of this manual.
| 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) |
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:
- Run the file ending in EXE in the package and follow the instructions
to complete the installation.
- Open a report in design mode.
- Choose insert - ActiveX control and choose the IDAutomation PDF417
control.
- Move and size the control necessary. To change the properties of
the control such as height and symbology type, right-click on the control
and choose properties.
- To bind the control to a data source, enter the table and field
or formula in the control source field. The proper barcode will show
up after the report is saved and executed.
- Additional implementation information is provided in the
ActiveX Control Manual.
Font implementation:
- Run the file ending in EXE in the package and follow the instructions
to complete the installation.
- Import the VBA module into the
database.
- Open a report in design mode.
- Add a text field to the report that is to contain the barcode. Size
it appropriately, to be large enough to contain the symbol. Change the
font point size of the field to 8 points.
- Right-click on the text field and enter the function call as a formula
in the control source property. For example:
=IDAutomation_PDF417([Test Data.data])
The following formula combines 2 fields into a single symbol
and inserts a tab function between them
=IDAutomation_PDF417([Test Data.TextData] & Chr(9)
& [Test Data.NumberData])
- Save the report and run it; several numbers should appear in the
text field. This is the data that will create a correct barcode when
combined with the PDF417 Font.
- Open the report in design mode and select the IDAutomationPDF417
font for the text field. The recommended point size is 8 points.
- Save the report and run it; a correct PDF symbol should appear in
the text field.
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.
PDF417 barcodes may be created in a Word mail-merge if Excel is used
as the data source on Windows with the following procedure:
- Run the file ending in EXE in the package and follow the instructions
to complete the installation.
- Import the VBA module into the
Excel spreadsheet that will be used as the data source.
- Place a title in each column of the spreadsheet on row 1 that will
contain the data, and then import the data into the Excel spreadsheet.
- Select a blank column on row 1, to the right of the last populated
column in the spreadsheet, and title it Barcode.
- Add a formula on row 2 of the Barcode column that calls the function
as a formula.
For example, the following formula adds columns A and B to the barcode:
=IDAutomation_PDF417(A2&B2)
The following formula adds just column A to the barcode, with
some optional parameters:
=IDAutomation_PDF417(A2,3,2,0,0,0)
The following formula adds columns A, B and C to the barcode
and separates them with a comma delimiter:
=IDAutomation_PDF417(A2&","&B2&","&C2)
- Highlight the cell with the formula in it and choose Edit
- Copy.
- Select the entire range of cells to paste this formula into in the
Barcode column and choose Edit - Paste.
- Follow the procedures in Word to add this spreadsheet as the data
source the mail merge.
- Add the mail merge field of Barcode to place the barcode
in the document.
- Highlight the «Barcode» merge field and select the IDAutomationPDF417
font.
- After the mail-merge is performed, the barcodes should appear in
the merged documents.
- A working example is provided in the Word
Mail-Merge.doc file included in the Windows install.
IDAutomation provides two font encoders
in this package for Crystal Reports:
- The UFL Formula accesses the
ActiveX DLL and Crystal UFL for the font encoder function. Created in
C++, the ActiveX DLL is faster than the native formula. However, when
distributing an application, the ActiveX DLL and Crystal UFL must also
be installed and registered for proper operation.
- The Native Formula is the complete
font encoder function as a Crystal formula. It is slightly slower than
accessing the ActiveX DLL, the ApplyTilde feature is not available and
it only supports binary compaction mode, so the symbol generated may
be slightly larger. However, when distributing a report, no other components
are required except the PDF417 font. This formula is only supplied
in the purchased version of the Advantage Package.
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:
- After installing the
PDF417 Font and
Encoder for Windows, the IDAutomationPDF417Encoder
functions will be operative in Crystal Reports.
- The IDAutomationPDF417EncoderPDFSet
function returns the number of data segments contained in the barcode
and sets up the barcode for retrieval. All fields passed to the encoder
set function must be text fields or they must be converted to text.
- The IDAutomationPDF417EncoderPDFGet
function returns a string for the designated data segment. A correct
barcode string is achieved when all data segments are combined.
- When the barcode string is combined with IDAutomation's PDF417 font,
it will produce a PDF417 barcode.
How to create a PDF417 Barcode with Crystal Reports:
- Choose View - Field Explorer. Select Formula Fields. Right click
and select New. Enter a name to identify the formula created and choose
OK.
- The Formula Editor should now appear.
- If using the Native Formula, change
the Formula Syntax to Basic Syntax. Copy and paste the text from
the file "Native Formula for IDAutomation
PDF417 Fonts.txt" into the Formula Editor dialog box. The
Native Crystal Report Example.rpt
file is provided in this package as an example, and may be referred
to for troubleshooting purposes.
- If using the UFL Formula, copy
and paste the code below into the Formula Editor dialog box. The
Crystal Reports Example.rpt
file is provided in this package as an example, and may be referred
to for troubleshooting purposes:
stringVar CompleteBarcodeString:="";
stringVar DataToEncode:= {Table.Field};
numberVar i:=0;
numberVar Segments:= IDAutomationPDF417EncoderPDFSet(DataToEncode,0
,0 ,0 ,0 ,0 ,0 );
For i:=0 to Segments Do
(
CompleteBarcodeString := CompleteBarcodeString + IDAutomationPDF417EncoderPDFGet(i);
);
CompleteBarcodeString
- Change the DataToEncode = section of
the formula so it encodes fields from a database. Save the formula.
-
The field where the PDF417 barcode is to be placed on the report
must allow multiple lines, because the formula draws the symbol
line-by-line. Format the field so that all borders are removed;
borders will usually cause scanning problems. Size the field so
that it is large enough to contain the barcode.
-
Choose File - Print Preview or the Preview tab. A series of many
numbers will be visible in the text field; this is normal.
-
After the font of the field is changed to one of the PDF417 fonts
(such as IDAutomationPDF417n3) a correct barcode will be created.
Crystal Reports PDF417 UFL Set Function: (Enter zeros for defaults
in all integer fields.)
| Int DataSegments=DAutomationFontEncoderPDF417Set(DataToEncode
As String, EcLevel As Integer, TotalColumns As Integer, TotalRows
As Integer, Truncated As Integer, PDFMode As Integer, ApplyTilde
As Integer) |
There are a number of ways to format the data being encoded. It is also
possible to combine multiple fields and place functions in a single barcode.
For example:
- The following formula combines two fields in a single barcode and
places a tab function between them:
stringVar DataToEncode:= {Table1.DataField1} &
CHR(9) & {Table1.DataField2};
Use CHR(9) for tab.
- The following formula places a tab function and a return function
after the barcode:
stringVar DataToEncode:= {Table1.DataField1} &
CHR(9) & CHR(13);
Use CHR(9) for tab and
CHR(13) for a return.
- The formula below combines two fields with the date function:
stringVar DataToEncode:= {Table1.DataField1} & CHR(9) & {Table1.DataField2}
& CHR(13) & CurrentDate;
Use CHR(9) for tab and
CHR(13) for a return.
Refer to the Crystal
Reports documentation for additional information about creating reports
with formulas. If it is necessary to verify PDF-417 barcodes, consider purchasing
a Barcode Verifier
or Hand-Held
Barcode Scanner.
The Native JavaScript Font Encoder is a complete font encoder in a single
JavaScript file; no other components need to be installed to create barcodes.
This product is only provided in the purchased version of the Advantage
Package. The following describes how to use the Native JavaScript Font Encoder
in HTML:
- Open the HTML document or application that the barcode is to be
integrated with.
- Add the following line at the top of the file just before the
</head> line to load the appropriate JavaScript
file:
<script language="JavaScript" src="IDAutomation_PDF417_Font_Encoder.js"></script>
- Add a script where the barcode is to appear in the HTML document
or text object, which is the file name without the ".js":
<font face="IDAutomationPDF417n3" size="2">
<script type="text/javascript">
document.write(IDAutomation_PDF417_Font_Encoder("Created with
the IDAutomation.com Native JavaScript Font Encoder"));
</script></font><p>
- Modify "DataToEncode" with what is to be encoded in the barcode.
This may be accomplished with a "variable" in JavaScript or a
dynamically
generated webpage.
| JavaScript Font Encoder
Parameters |
| Result = (DataToEncode As String, Optional ApplyTilde,
Optional EccLevel, Optional ColumnSpecify, Optional RowSpecify,
Optional Truncate, Optional ForceBinary, Optional HTML) |
Example:
IDAutomation_PDF417_Font_Encoder("ECC200_123456789012",false,0,10,0)); |
The HTML property sets the value for the carriage
return that draws the barcode. If HTML is true (the default setting), the
carriage return is <br> for use in HTML only. If it is false, the carriage
return is an ASCII 13 + ASCII 10 which is a return and line feed.
| How to Use the
.NET DLL in .NET Applications |
Implementation of PDF417 in .NET applications may be accomplished with graphic
or font encoders. Integration into ASP.NET and other web applications is
best implemented as a graphic encoder with the
ASP.NET Web Component provided in this package. Information about
printing from the .NET Forms
Control without using the font is
provided in the
.NET Forms Control Manual.
.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.
- In a .NET project, add a reference to the DLL and place the import
statement in the declarations section of the project. For example:
Imports
IDAutomation.Windows.Forms.PDF417Barcode
- Obtain the string of data, that when printed with IDAutomation's
PDF417 Font, will create a correct symbol:
Dim
NewBarcode As PDF417Barcode =
New PDF417Barcode()
TextBox2.Text = NewBarcode.FontEncoder(TextBox1.Text, 0, 0, 0,
False, PDF417Barcode.PDF417Modes.Text,
True)
| Barcoding with the 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:
- fontEncode() - the main method that formats and returns a
string of data formatted to the PDF417 Font.
- PDFColumns - number of columns for PDF417 (the default is
5).
- PDFECLevel - error correction level for PDF417 (the default
is 2).
- PDFMode - the PDF417 mode can be NUMERIC, TEXT or BINARY
(the default is BINARY).
- truncated - if set to "true", truncated symbols will be created
according to the ISO specification.
Install the Font and Encoder for Windows by running the EXE file
provided in the package. Upon execution, it installs TrueType fonts, implementation
examples and registers the ActiveX DLL. To register the DLL manually, perform
the following: (1) copy the DLL to the \System directory; (2) Register the
DLL by going to the command prompt, change to the \system directory, and
type the following command: REGSVR32 "IDAutomationPDF417_6.dll".
After the DLL is installed and registered, it may be accessed by any application
that can retrieve a text string or graphic object from a COM DLL.
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:
Dim Output as String
Dim PDF417FontEncoder As PDF417Lib.PDF
Set PDF417FontEncoder = New PDF
PDF417FontEncoder.FontEncode DataToEncode, 0, 0, 0, 0, 0, 0, Output
A Visual Basic project example is included with the package. These files
are placed in the destination directory upon installation.
PDF417 Properties:
- TotalColumns - The number of data columns in the PDF417 barcode
will control the width of the barcode. The maximum number allowed is
30, but leave at 0 for an automatic setting.
- EcLevel - The level of Reed Solomon error correction level
placed in the symbol. More error correction creates a larger symbol
that can withstand more damage. Leave at 0 for the automatic setting.
- PDFMode - Binary mode encodes bytes of data; text mode encodes
all characters on the US keyboard plus returns and tabs. The default
of 0 is binary mode; 1 is text mode which only encodes ASCII 9, 10,
13 and 32 - 127 but takes up less space.
ASCII chart.
- TotalRows - IDAutomation recommends leaving this setting
at 0, the default. The minimum number of total rows can be set by this.
- Truncated - A truncated PDF417 symbol is more area efficient
than normal PDF417. By selecting this option, the right hand side of
the PDF417 is removed or truncated. This option should only be used
in clean environments because it is less immune to damage.
- ApplyTilde - if set to "true",
use the format ~ddd to specify the ASCII code of the character
to be encoded. Default is off. For example, if the following text is
entered in the Data field: ~029AB it will actually be encoding
GSAB where GS
is a delimiter ASCII 29 character. This can be used in a single string
to encode GS and RS characters (GS = ASCII 29 and RS = ASCII
30). Other commonly used ASCII codes are ~009 for a tab and ~013
which is a return function. These are useful when encoding multiple
fields in a single symbol.
ASCII chart.
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)
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);
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) |
If PDF417 is implemented as a font,
why can't the font just be selected
and type data to create the symbol?
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:
- Encode the data using BASE256. This option encodes ASCII
1 to 255 of the ASCII character set. When encoding over 1024 characters
of data, ASCII 127-160 must also be encoded in the format ~ddd
as described here.
- Scan the data via the serial interface option (data bits
have to be 8N) on the scanner. Normally, keyboard wedges and USB scanners
do not support extended characters above ASCII 128 and they only can
scan characters that are actually on the keyboard. Contact the scanner
vendor for more information on how to do this; some of the scanner's
internal settings might need to be modified.
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.
X Axis Issues or Left Margin Alignment Issues:
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:
In addition to the PDF417 font included in this package, IDAutomation
also offers the
Universal
2D Font, which is compatible with all encoders of this product. The
Universal
2D Font enables PDF417 and matrix barcode types such as
Aztec,
DataMatrix and
QR Code to be created
from the same font.
| 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 |
© Copyright 2000-2009 IDAutomation.com, Inc., All Rights
Reserved. Legal
Notices.
|
Over 70% of Fortune 100
companies use IDAutomation's products to automate their businesses.
|
|