HP Hewlett Packard Network Card PDF417 User Manual

PDF417 Encoder  
InstallationGuide  
Version 2.2  
(Build 2.1.0.4 or later)  
 
PDF417  
Installation Guide  
Table of Contents  
OVERVIEW ...................................................................................................................................1  
Windows PC-based Installation.....................................................................................................2  
Requirements ...........................................................................................................................................2  
Preparing for Installation .......................................................................................................................2  
Installing the Encoder .............................................................................................................................2  
Linking with the Encoder .......................................................................................................................4  
C/C++ ..................................................................................................................................................................... 5  
ACUCOBOL......................................................................................................................................................... 6  
UNIX Installation...........................................................................................................................7  
Requirements ...........................................................................................................................................7  
Preparing for Installation .......................................................................................................................7  
Installing the Encoder .............................................................................................................................7  
Linking with the Encoder .......................................................................................................................9  
C/C++ ..................................................................................................................................................................... 9  
ACUCOBOL....................................................................................................................................................... 11  
Micro Focus COBOL.......................................................................................................................................... 12  
MVS Installation ..........................................................................................................................13  
Requirements .........................................................................................................................................13  
Preparing for Installation .....................................................................................................................13  
Installing the Encoder ...........................................................................................................................14  
Linking with the Encoder .....................................................................................................................16  
COBOL............................................................................................................................................................... 17  
C Language ......................................................................................................................................................... 19  
Execution Errors....................................................................................................................................21  
AS/400 Installation.......................................................................................................................22  
Requirements .........................................................................................................................................22  
Preparing for Installation .....................................................................................................................22  
Installing the Encoder ...........................................................................................................................22  
Binding with the Encoder .....................................................................................................................24  
Running the Sample Programs.............................................................................................................24  
COBOL............................................................................................................................................................... 25  
Compiling and Running the sample COBOL/400 Program............................................................................ 25  
NeoMedia Technologies, Inc.  
Page i  
 
PDF417  
Installation Guide  
Compiling and Running the sample ILE COBOL Program............................................................................ 25  
RPG..................................................................................................................................................................... 26  
Compiling and Running the sample RPG/400 Program.................................................................................. 26  
Compiling and Running the sample ILE RPG Program ................................................................................. 26  
C Language ......................................................................................................................................................... 27  
Compiling and Running the sample ILE C Program....................................................................................... 27  
Output of the sample programs........................................................................................................................... 28  
Font Selection...............................................................................................................................29  
UNIX and PC Platforms: ................................................................................................................................ 29  
NeoMedia Technologies, Inc.  
Page ii  
 
PDF417  
Installation Guide  
OVERVIEW  
This document provides the installation instructions for the NeoMedia Technologies PDF417  
encoder library. For a detailed description of how to use the encoder, refer to the programmer’s  
manual, PDF417 Programming Guide.  
The PDF417 encoder library is a powerful set of functions for generating and printing PDF417  
barcode symbols in a variety of hardware and software environments. The library is written in  
ANSI C and is shipped in compiled object form. The library includes interfaces for COBOL and  
C. While the encoder library does not use any of the standard C library functions, some platforms  
(e.g., MVS and OS/400) still require that programs calling C modules be linked with the C run-  
time libraries. Refer to your systems development environment reference for more information.  
The encoder consists of the following components:  
The encoder library itself (shipped in compiled, object format for your platform).  
A number of printer fonts for IBM AFP, Xerox, and Hewlett Packard PCL printers. Refer to  
your NeoMedia Technologies, Inc. PDF417 encoder License Agreement for details on which  
fonts you have licensed for use.  
A number of sample programs and printer resources.  
The specific file names of these components are listed in the platform installation sections.  
NeoMedia Technologies, Inc.  
Page 1  
 
PDF417  
Installation Guide  
Windows PC-based Installation  
It is highly recommended that the installation of the PDF417 encoder be performed by a skilled  
System Administrator with intimate knowledge of your Windows environment. The instructions  
that follow are written in a general sense and will work on most Windows based systems.  
However, due to the wide and varied PC-based configurations available, it is impossible to  
provide concise instructions for all possible scenarios. Some of the instructions may therefore  
require customization.  
Requirements  
The encoder is supported for use with the following products:  
ACUCOBOL  
C/C++  
After completing the installation, the PDF417 encoder will be available as a dynamic link library  
that can then be linked with your applications. While linking and running the encoder with  
products other than those listed above may be possible, these types of configurations are not  
supported by NeoMedia Technologies.  
Preparing for Installation  
The PDF417 encoder is distributed on diskettes in InstallShield format. The distribution consists  
of a root directory, pdf417_32bit or pdf417_16bit, with the following six sub-  
directories.  
The first directory, pdf417_32bit\lib, contains the PDF417 encoder dynamic link library  
(.dll), the link library (.lib) ), the static link library (.lib), and C header files which will need to be  
included in your application.  
The second directory, pdf417_32bit\sample, contains a variety of resources for the  
programmer, including an Excel spreadsheet PDF417 Calculator, sample programs, callback  
function definition source files, and C header files.  
The third directory, pdf417_32bit\acu, contains the ACUCOBOL specific files required for  
building an ACUCOBOL runtime and a batch file to compile a COBOL program.  
The fourth directory, pdf417_32bit\docs, contains the user documentation files in  
Microsoft Word format.  
The fifth directory, pdf417_32bit\hpfont, contains the font binary files for HP PCL  
printers.  
The sixth directory, pdf417_32bit\afpos2, contains the font binary files for OS2 AFP  
printers.  
Installing the Encoder  
The installation media for Windows is in InstallShield format.  
Insert Disk 1 into floppy drive A.  
Run A:SETUP.  
NeoMedia Technologies, Inc.  
Page 2  
 
PDF417  
Installation Guide  
For 32-bit installation, this process will create the pdf417 directory structure (pdf417_32bit). For  
the 16-bit installation, this process will create the top level directory (pdf417_16bit) and copy all  
files into this directory. For the 32-bit installation, once you have installed the PDF417 encoder,  
you must copy the pdfenc_d.dll into a directory where it can be found at execution time.  
The Windows operating system searches the C:\WINDOWS and C:\WINDOWS\SYSTEM  
directories to resolve the link. It will also search the directory where the executable that is using  
the library is located. If you know how to link manually this method can be used by making sure  
the DLL file is copied to the specified directory path.  
The following tables list the contents of each of the directories:  
Contents of the pdf417_32bit\lib directory:  
File Name  
Description  
pdfenc_d.dll Encoder (32-bit) dynamic link library (used at run time). OR  
nmpdfenc.dll Encoder (16-bit) dynamic link library (used at run time.  
pdfenc_d.lib Encoder (32-bit) link library (used at link time). OR  
nmpdfenc.lib Encoder (16-bit) link library (used at link time).  
pdfenc_s.lib  
llpdfenc.lib  
pdfenc.h  
Encoder (32-bit) static link library (used at run time). OR  
Encoder (16-bit) large memory module static link library  
C #include file.  
pdfdefs.h  
pdfrend.h  
C # include file.  
C #include file.  
Contents of the pdf417_32bit\sample directory:  
Object  
Description  
Readme32.txt  
Readme16.txt  
samplec.c  
A standard README file (32-bit installation) OR  
A standard README file (16-bit installation).  
Sample C program.  
samplec.mak  
samplcob.cob  
Makefile for compiling the sample C program.  
Sample COBOL program.  
nmpdf417.cob COPYLIB for sample COBOL program.  
sinkfils.c  
sinkfile.h  
Sample file for output callback function to a file.  
C #include file.  
sinkmems.c  
sinkmem.h  
PDF417  
Sample file for output callback function to memory.  
C #include file.  
Excel spreadsheet to calculate byte, codeword, and  
Font character counts for specific real estate  
Parameters.  
Calculator.xls  
Contents of the pdf417_32bit\acu directory:  
Object  
Description  
compacu.bat  
direct.c  
Batch file to compile samplcob.cob.  
Source file for creating an ACUCOBOL runtime.  
wpruncbl.mak Makefile for creating an ACUCOBOL runtime with  
PDF417 subroutine included.  
NeoMedia Technologies, Inc.  
Page 3  
 
PDF417  
Installation Guide  
Contents of the pdf417_32bit\hpFont directory:  
Object  
Description  
HPPP3309.FLJ Font file for HP PCL printers, portrait, 300 DPI, 3x9 pixel module size  
HPPL3309.FLJ Font file for HP PCL printers, landscape, 300 DPI, 3x9 pixel module size  
HPPP3412.FLJ Font file for HP PCL printers, portrait, 300 DPI, 4x12 pixel module size  
HPPL3412.FLJ Font file for HP PCL printers, portrait, 300 DPI, 4x12 pixel module size  
Contents of the pdf417_32bit\afpOS2 directory:  
Object  
Description  
C0PD2206.OS2 Font character set for OS2 AFP printers, 240 DPI, 2x6 pixel module size  
X0PD2206.OS2 Font code font for OS2 AFP printers, 240 DPI, 2x6 pixel module size  
C0PD2309.OS2 Font character set for OS2 AFP printers, 240 DPI, 2x9 pixel module size  
X0PD2309.OS2 Font code font for OS2 AFP printers, 240 DPI, 2x9 pixel module size  
C0PD3309.OS2 Font character set for OS2 AFP printers, 300 DPI, 3x9 pixel module size  
X0PD3309.OS2 Font code font for OS2 AFP printers, 300 DPI, 3x9 pixel module size  
C0PD3412.OS2 Font character set for OS2 AFP printers, 300 DPI, 4x12 pixel module size  
X0PD3412.OS2 Font code font for OS2 AFP printers, 300 DPI, 4x12 pixel module size  
T1PDF417.OS2 Code page for 240 and 30 DPI AFP printers  
Contents of the pdf417_32bit\docs directory:  
Object  
Description  
pdf417igv2.doc  
pdf417v2.doc  
license.txt  
PDF414 Encoder Installation Guide  
PDF417 Encoder Programming Guide  
The License Agreement in text format  
Linking with the Encoder  
The precise syntax for linking with the encoder varies from compiler to compiler. Refer to your  
compiler's documentation for linking with dynamic link libraries. NOTE: The PDF417 encoder  
is shipped as a dynamic link library (.dll) and as a static link library.  
A makefile (samplec.mak) has been provided in the pdf417_32bit\sample directory for  
compiling and linking the sample C program. NOTE: This makefile assumes that both NMAKE  
and the standard C compiler (cl) are being used.  
NeoMedia Technologies, Inc.  
Page 4  
 
PDF417  
Installation Guide  
C/C++  
To compile and link the sample program for ‘C’:  
NOTE: Compiling and testing the C sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the C API.  
1. Create a test directory to build the sample program in. Note: for the 16-bit installation, you  
can build the sample programs in the installation directory.  
2. Change directory to the sample directory just created (...\test) and copy the following  
files to this directory:  
...\test> copy ...\pdf417_32bit\lib\pdfenc_d.dll C:\WINDOWS  
NOTE: The DLL can be copied to the C:\WINDOWS, C:\WINDOWS\SYSTEM or the  
path where the executable will reside which is the current directory (...\test).  
...\test> copy ...\pdf417_32bit\sample\samplec.mak .  
...\test> copy ...\pdf417_32bit\sample\samplec.c .  
...\test> copy ...\pdf417_32bit\sample\sinkfils.c .  
...\test> copy ...\pdf417_32bit\sample\sinkfile.h .  
3. Edit samplec.mak and confirm that the include directory path (-I) is correct for your  
configuration.  
NOTE: This .mak file is a Windows make file utilizing NMAKE. It is not a Microsoft  
Developer Studio build file. It is a text file and can be edited using any word processor or  
edit utility.  
4. Execute the make file:  
...\test> nmake /f samplec.mak  
5. This will compile and link to an executable, samplec.exe. Run the following program:  
...\test> samplec  
6. For successful execution, there will be no screen I/O but three files will be created in the  
current directory:  
...\test\nmpdfdib.bmp  
...\test\nmpdftiff.tif  
...\test\nmpdffnt  
The files that are created from this test program are DIB, TIFF and font character files which  
contain a PDF417 symbol with the following encoded:  
This is a test of the NeoMedia Technologies PDF417 Encoder. The error  
correction will encode at level 3 with ECC padding.  
Within Windows, you should be able to double click on the DIB and TIFF files created.  
Microsoft Paint program should be able to understand the .BMP format. Microsoft Imaging  
should be able to understand the .TIF format. To test the symbol, print the file from within the  
applications named above and then scan them.  
For the font character file, you will have to print the file with the appropriate font definition file  
loaded. Printing the symbol files is beyond the scope of this document.  
NeoMedia Technologies, Inc.  
Page 5  
 
PDF417  
Installation Guide  
ACUCOBOL  
To compile and link the sample program for ACUCOBOL:  
NOTE: Compiling and testing the COBOL sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the COBOL API.  
1. Create a runtime which includes ACUCOBOL and PDF417 encoder library  
(wpruncbl.exe):  
Change directory to the acu directory in the PDF417 distribution,  
...\pdf417_32bit\acu  
Make sure that the variables are defined correctly in wpruncbl.mak  
Execute the make file:  
...\pdf417_32bit\acu> nmake /f wpruncbl.mak  
2. Create a sample directory to build the sample programs in. Note: for the 16-bit  
installation, you can build the sample programs in the installation directory.  
3. Change directory to the test directory just created (...\test) and copy the following files  
to this directory:  
...\test> copy ...\pdf417_32bit\sample\samplcob.cob .  
...\test> copy ...\pdf417_32bit\sample\nmpdf417.cob .  
...\test> copy ...\pdf417_32bit\acu\compacu.bat .  
4. Compile the test program:  
...\test> compacu samplcob  
This command will create a debuggable object file samplcob.  
5. Copy the dynamic link library (.dll) to the same directory as the runtime executable or into  
one of the appropriate places that the system will find it at runtime:  
...\test> copy ..\pdf417_32bit\lib\pdfenc_d.dll  
..\pdf417_32bit\acu\pdfenc_d.dll  
NOTE: The DLL can be copied to the C:\WINDOWS, C:\WINDOWS\SYSTEM or the  
path where the ACUCOBOL runtime executable will reside.  
6. Run the new runtime with the COBOL object as a parameter:  
...\test> ...\acu\wpruncbl samplcob  
7. For successful execution, there will be no screen I/O but the following file will be created in  
the current directory:  
...\test\pdffont  
The file that is created from this test program is a font character file which contains an array of  
font characters that, when printed with the appropriate PDF417 symbol font, will render the  
PDF417 symbol for the following data:  
This is a test of the NeoMedia Technologies PDF417 Encoder. The error  
correction will encode at level 3 with ECC padding.  
NeoMedia Technologies, Inc.  
Page 6  
 
PDF417  
Installation Guide  
UNIX Installation  
It is highly recommended that the installation of the PDF417 encoder be performed by a skilled  
System Administrator with intimate knowledge of your UNIX environment. The instructions that  
follow are written in a general sense and will work on most UNIX systems. However, due to the  
wide and varied UNIX configurations available, it is impossible to provide concise instructions  
for all possible scenarios. Some of the instructions may therefore require customization.  
Requirements  
The encoder is supported for use with the following products:  
C/C++  
ACUCOBOL  
Micro Focus COBOL  
After completing the installation, the PDF417 encoder will be available as a static library that can  
then be linked with your applications. While linking and running the encoder with products other  
than those listed above may be possible, these types of configurations are not supported by  
NeoMedia Technologies.  
Preparing for Installation  
The PDF417 encoder is distributed as a standard tar archive. The archive consists of a root  
directory, pdf417, with the following five sub-directories.  
The first directory, pdf417/lib, contains the PDF417 encoder static library (.a) and C header  
files which will need to be included in your application.  
The second directory, pdf417/sample, contains a variety of resources for the programmer,  
including sample programs, callback function definition source files, and C header files.  
The third directory, pdf417/acu, contains the ACUCOBOL specific files required for building  
an ACUCOBOL runtime and a shell script to compile a COBOL program.  
The fourth directory, pdf417/mf, contains the Micro Focus COBOL specific files required for  
building a Micro Focus COBOL runtime and a shell script to compile a COBOL program.  
The fifth directory, pdf417/fontbin, contains a directory ../hp which contains the font  
binary files for HP PCL printers and the directory../afpos2 which contains the font binary  
files for OS2 AFP printers.  
Installing the Encoder  
The installation media for UNIX is in tar archive format. Use tar with the appropriate device for  
your system to extract the files. The following example is for extracting from a floppy disk on an  
SCO UNIX system:  
% umask 0  
% tar xvf /dev/rfd0 .  
The following tables list the contents of each of the directories:  
NeoMedia Technologies, Inc.  
Page 7  
 
PDF417  
Installation Guide  
Contents of the pdf417/lib directory:  
File Name Description  
libpdfenc.a Encoder static link library.  
pdfenc.h  
pdfdefs.h  
pdfrend.h  
C #include file.  
C #include file.  
C #include file.  
Contents of the pdf417/sample directory:  
Object  
Description  
readmeunix.txt A standard README file.  
samplec.c  
Sample C program.  
makesam.umf  
samplcob.cob  
nmpdf417.cob  
sinkfils.c  
Makefile for compiling the sample C program.  
Sample COBOL program.  
COPYLIB for sample COBOL program.  
Sample file for output callback function to a file.  
C #include file.  
sinkfile.h  
sinkmems.c  
sinkmem.h  
Sample file for output callback function to memory.  
C #include file.  
Contents of the pdf417/acu directory:  
Object  
Description  
compacu.sh  
direct.c  
pruncbl.umf  
Batch file to compile samplcob.cob.  
Source file for creating an ACUCOBOL runtime.  
Makefile for creating an ACUCOBOL runtime with  
PDF417 subroutines included.  
acucobol.include Makefile include for creating the ACUCOBOL runtime.  
Contents of the pdf417/mf directory:  
Object  
Description  
compmf.sh  
prunmf.c  
prunmf.o  
Batch file to compile samplcob.cob.  
Source file for creating a MF COBOL runtime.  
Object to include when building the Micro Focus  
COBOL runtime.  
prunmf.umf Makefile for creating a Micro Focus COBOL runtime  
With PDF417 subroutines included.  
Contents of the pdf417/fontbin/hp directory:  
Object  
Description  
HPPP3309.FLJ Font file for HP PCL printers, portrait, 300 DPI, 3x9 pixel module size  
HPPL3309.FLJ Font file for HP PCL printers, landscape, 300 DPI, 3x9 pixel module size  
HPPP3412.FLJ Font file for HP PCL printers, portrait, 300 DPI, 4x12 pixel module size  
HPPL3412.FLJ Font file for HP PCL printers, portrait, 300 DPI, 4x12 pixel module size  
NeoMedia Technologies, Inc.  
Page 8  
 
PDF417  
Installation Guide  
Contents of the pdf417/fontbin/afpos2 directory:  
Object  
Description  
C0PD2206 Font character set for OS2 AFP printers, 240 DPI, 2x6 pixel module size  
X0PD2206 Font code font for OS2 AFP printers, 240 DPI, 2x6 pixel module size  
C0PD2309 Font character set for OS2 AFP printers, 240 DPI, 2x9 pixel module size  
X0PD2309 Font code font for OS2 AFP printers, 240 DPI, 2x9 pixel module size  
C0PD3309 Font character set for OS2 AFP printers, 300 DPI, 3x9 pixel module size  
X0PD3309 Font code font for OS2 AFP printers, 300 DPI, 3x9 pixel module size  
C0PD3412 Font character set for OS2 AFP printers, 300 DPI, 4x12 pixel module size  
X0PD3412 Font code font for OS2 AFP printers, 300 DPI, 4x12 pixel module size  
T1PDF417 Code page for 240 and 30 DPI AFP printers  
Linking with the Encoder  
The precise syntax for linking with the encoder varies from compiler to compiler. Refer to your  
compiler's documentation for linking with static libraries. NOTE: The PDF417 encoder is  
shipped as a static link library, not as a shared library.  
A makefile (makesam.umf) has been provided in the pdf417/sample directory for  
compiling and linking the sample C program. NOTE: This makefile assumes that the standard  
UNIX C compiler (cc) is being used.  
C/C++  
++  
To compile and link the sample program for C/C :  
NOTE: Compiling and testing the C sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the C API.  
1. Change directory to the sample directory in the PDF417 distribution, .../sample.  
2. Edit makesam.umf and confirm that the include directory path (-I) is correct for your  
configuration.  
3. Execute the following make file:  
$ make -f makesam.umf  
4. This will compile and link to an executable, samplec. Run the following program:  
$ samplec  
5. For successful execution, there will be no screen I/O but the following three files will be  
created in the current directory:  
.../sample/pdfdib00.bmp  
.../sample/pdftiff00.tif  
.../sample/nmpdffnt  
The files that are created from this test program are DIB, TIFF and font character files which  
contain a PDF417 symbol with the following encoded:  
This is a test of the NeoMedia Technologies PDF417 Encoder. The error  
correction will encode at level 3 with ECC padding.  
The files created are Windows based file formats. Export these two files to a Windows  
environment. Within Windows, you should be able to double click on the files. Microsoft Paint  
NeoMedia Technologies, Inc.  
Page 9  
 
PDF417  
Installation Guide  
program should be able to understand the .BMP format. Microsoft Imaging should be able to  
understand the .TIF format. To test the symbol, you can print the file from within the applications  
named above and then scan them.  
For the character font file, you will have to print the file with the appropriate font definition file  
loaded. Printing the symbol files is beyond the scope of this document.  
NeoMedia Technologies, Inc.  
Page 10  
 
PDF417  
Installation Guide  
ACUCOBOL  
To compile and link the sample program for ACUCOBOL:  
NOTE: Compiling and testing the COBOL sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the COBOL API.  
1. Create a runtime which includes ACUCOBOL and PDF417 encoder library (pruncbl):  
Change directory to the acu directory in the PDF417 distribution, .../pdf417/acu  
Make sure that the variables are defined correctly in pruncbl.umf  
Execute the make file:  
$ make -f pruncbl.umf  
2. Change directory to the sample directory (.../sample) and copy the following files to this  
directory:  
$ cp …\pdf417\acu\compacu.sh .  
3. Compile the following test program:  
$ compacu.sh samplcob  
This command will create a debuggable ACUCOBOL object file samplcob.  
4. Run the new runtime with the ACUCOBOL object as a parameter:  
$ …/acu/pruncbl samplcob  
5. For successful execution, there will be no screen I/O but one file will be created in the current  
directory:  
…/sample/pdffont  
The file that is created from this test program is a font character file which contains an array of  
font characters that when printed with the appropriate PDF417 symbol font will render the  
PDF417 symbol for the following data:  
This is a test of the NeoMedia Technologies PDF417 Encoder. The error  
correction will encode at level 3 with ECC padding.  
NeoMedia Technologies, Inc.  
Page 11  
 
PDF417  
Installation Guide  
Micro Focus COBOL  
To compile and link the sample program for Micro Focus COBOL:  
NOTE: Compiling and testing the COBOL sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the COBOL API.  
1. Create a runtime which includes Micro Focus COBOL and PDF417 encoder library  
(prunmf):  
Change directory to the mf directory in the PDF417 distribution, .../pdf417/mf  
Make sure that the variables are defined correctly in prunmf.umf  
Execute the make file:  
$ make -f prunmf.umf  
2. Change directory to the sample directory (.../sample) and copy the following files to this  
directory:  
$ cp …\pdf417\mf\compmf.sh .  
3. Compile the following test program:  
$ compmf.sh samplcob  
This command will create two files: an intermediate code file samplcob.int and an  
animation information file samplcob.idy  
4. Run the new runtime with the intermediate file as a parameter:  
$ …/mf/prunmf samplcob  
5. For successful execution, there will be no screen I/O but one file will be created in the current  
directory:  
…/sample/pdffont  
The file that is created from this test program is a font character file which contains an array of  
font characters that when printed with the appropriate PDF417 symbol font will render the  
PDF417 symbol for the following data:  
This is a test of the NeoMedia Technologies PDF417 Encoder. The error  
correction will encode at level 3 with ECC padding.  
NeoMedia Technologies, Inc.  
Page 12  
 
PDF417  
Installation Guide  
MVS Installation  
It is highly recommended that the installation of the PDF417 encoder be performed by a skilled  
System Administrator with intimate knowledge of your MVS environment. The instructions that  
follow are written in a general sense and will work on most MVS systems. However, due to the  
wide and varied MVS configurations available, it is impossible to provide concise instructions for  
all possible scenarios. Some of the JCL may therefore require customization.  
Requirements  
Under MVS, the PDF417 encoder requires the C Language run-time libraries. These libraries will  
be present on your system if you have any of the following products installed:  
LE/370 (Language Environment 370)  
C/370 (C run-time libraries)  
The encoder is supported for use with the following products:  
COBOL II  
COBOL 370  
IBM COBOL  
C Language  
All of the JCL jobs use an address mode of 31 (AMODE=31). You will need to edit the JCL if  
you are using the older address mode of 24 for the LINK step parameters. It is up to the user to  
determine the settings for your environment and make the appropriate modifications to the  
provided JCL.  
After completing the installation, the PDF417 encoder routines will be available as distinct object  
modules in a Partitioned Data Set (PDS) object library. Your object modules will need to be  
linked with this PDS object. Although linking and running the encoder with products other than  
those listed above may be possible, these types of configurations are not supported by NeoMedia  
Technologies.  
Preparing for Installation  
The PDF417 encoder is distributed in IEBCOPY format containing the following three libraries.  
NOTE: The following reference to Vxxxx is the PDF417 encoder version indicator. Replace  
the xxxx with the appropriate version of the encoder that can be found on your distribution  
media.  
The first library, NEO.PDFRSC.Vxxxx, contains a variety of resources for the programmer,  
including sample programs, AFP examples, JCL examples, and C header files.  
The second library, NEO.PDFOBJ.Vxxxx, contains the C object modules that must be linked  
with your own objects before being used on your system. When linking the PDFOBJ objects with  
your own objects, you can either create a new load library or add the new executables into an  
existing library. This will depend on your environment’s needs and conventions.  
The third library, NEO.PDFFNT.Vxxxx, contains fonts for IBM AFP, Xerox, and HP PCL  
printers. While all fonts are shipped with the NeoMedia Technologies PDF417 encoder, you may  
not be licensed to use them. Please refer to your NeoMedia Technologies Standard Software  
NeoMedia Technologies, Inc.  
Page 13  
 
PDF417  
Installation Guide  
License for specific details on which fonts have been licensed for use. Use of unlicensed fonts is a  
violation of the Standard Software License and is strictly prohibited.  
Installing the Encoder  
The installation media for MVS is in IEBCOPY format. As part of the installation process, three  
libraries must be copied from tape into three PDS. The following tables list the PDS space and  
DCB requirements, and each PDS contents. NOTE: The Vxxxx is the PDF417 encoder version  
indicator. The label on your distribution will provide the proper version information for this  
distribution. For any future installation instructions in this document, fill in the xxxx with the  
appropriate version.  
Insert the media into the tape drive.  
Submit the restore media JCL that you have written. (See below for a JCL example.)  
The tape media contains the following STD files:  
Library  
NEO.PDFRSC.Vxxxx  
NEO.PDFOBJ.Vxxxx  
NEO.PDFFNT.Vxxxx  
The following PDS will be created during installation:  
Library  
Space  
NEOMEDIA.PDF417.LOADLIB  
NEOMEDIA.PDF417.RSCLIB  
NEOMEDIA.PDF417.OBJLIB  
NEOMEDIA.PDF417.FNTLIB  
SPACE=(CYL,(1,1,15),RLSE)  
SPACE=(CYL,(1,1,15),RLSE)  
SPACE=(CYL,(1,1,15),RLSE)  
SPACE=(CYL,(1,1,15),RLSE)  
DCBs for the above created PDS:  
Library  
LRECL  
N/A  
80  
80  
12284  
BLKSIZE  
32670  
23440  
3200  
RECFM  
U
FB  
FB  
VBM  
DSORG  
PO  
NEOMEDIA.PDF417.LOADLIB  
NEOMEDIA.PDF417.RSCLIB  
NEOMEDIA.PDF417.OBJLIB  
NEOMEDIA.PDF417.FNTLIB  
PO  
PO  
PO  
27998  
Contents of the NEOMEDIA.PDF417.RSCLIB:  
Object  
Description  
README  
PDFENC  
README text file.  
C #include file.  
PDFDEFS  
PDFREND  
IPDFLNK  
C #include file.  
C #include file.  
Sample JCL for linking encoder objects  
into a load module.  
NeoMedia Technologies, Inc.  
Page 14  
 
PDF417  
Installation Guide  
Object  
Description  
SAMPLEC  
ISAMLEC  
ISAMPLEC  
Sample C program.  
Sample JCL for building SAMPLEC.  
Sample JCL for building SAMPLEC  
using the pre-linker.  
XSAMPLEC  
SINKFILE  
SINKFILS  
Sample JCL for executing SAMPLEC.  
C #include file.  
Sample C program.  
SINKMEM  
SINKMEMS  
C #include file.  
Sample C program.  
SAMPLCOB Sample COBOL program.  
NMPDF417  
ISAMLCB  
ISAMPLCB  
COPYLIB for sample COBOL program.  
Sample JCL for building SAMPLCOB.  
Sample JCL for building SAMPLCOB  
using the pre-linker.  
XSAMPLCB  
Sample JCL for executing SAMPLCOB.  
Contents of the NEOMEDIA.PDF417.OBJLIB:  
Object  
Description  
PDF417EN PDF417 Encoder object module.  
Contents of the NEOMEDIA.PDF417.FNTLIB:  
Object  
Description  
C0PD2206  
C0PD2309  
C0PD3309  
C0PD3412  
T1PDF417  
X0PD2206  
X0PD2309  
X0PD3309  
X0PD3412  
AFP character set, bounded box, 240 dpi. 2x6 pixel module size  
AFP character set, bounded box, 240 dpi. 3x9 pixel module size  
AFP character set, bounded box, 300 dpi. 3x9 pixel module size  
AFP character set, bounded box, 300 dpi. 4x12 pixel module size  
AFP code page, bounded box.  
AFP coded font, bounded box, 240 dpi. 2x6 pixel module size  
AFP coded font, bounded box, 240 dpi. 3x9 pixel module size  
AFP coded font, bounded box, 300 dpi. 3x9 pixel module size  
AFP coded font, bounded box, 300 dpi. 4x12 pixel module size  
The following JCL demonstrates how to restore/copy these files from tape:  
NOTE: Change the text in bold/italic to fit your installation.  
//jobcard here  
//INSTALL PROC V=Vxxxx,TAPEUNIT=TAPE,DISKVOL=SCPMV5  
//ALLOC  
EXEC PGM=IEFBR14,REGION=4M  
//LOADLIB DD DSN=NEOMEDIA.PDF417.LOADLIB,DISP=(NEW,CATLG,DELETE),  
//  
//  
SPACE=(CYL,(1,1,15)),VOL=SER=&DISKVOL,  
DCB=(RECFM=U,BLKSIZE=32670,DSORG=PO)  
//COPYLIB EXEC PGM=IEBCOPY,REGION=4M,COND=(0,NE,ALLOC)  
//SYSOUT DD SYSOUT=*  
NeoMedia Technologies, Inc.  
Page 15  
 
PDF417  
Installation Guide  
//SYSPRINT DD SYSOUT=*  
//SYSUT3  
//SYSUT4  
//INDD1  
DD SPACE=(CYL,(5,5)),UNIT=SYSDA  
DD SPACE=(CYL,(5,5)),UNIT=SYSDA  
DD DSN=NEO.PDFRSC.&V,UNIT=&TAPEUNIT,DISP=(OLD,KEEP),  
//  
//INDD2  
// VOL=(,RETAIN,SER=NEO417),LABEL=(2,SL)  
//INDD3 DD DSN=NEO.PDFFNT.&V,UNIT=&TAPEUNIT,DISP=(OLD,KEEP),  
// VOL=SER=NEO417,LABEL=(3,SL)  
//OUTDD1 DD DSN=NEOMEDIA.PDF417.RSCLIB,  
VOL=(,RETAIN,SER=NEO417),LABEL=(1,SL)  
DD DSN=NEO.PDFOBJ.&V,UNIT=&TAPEUNIT,DISP=(OLD,KEEP),  
//  
//  
//  
DISP=(NEW,CATLG,DELETE),  
VOL=SER=&DISKVOL,SPACE=(CYL,(1,1,15)),  
DCB=(RECFM=FB,LRECL=80,BLKSIZE=23440,DSORG=PO)  
//OUTDD2  
DD DSN=NEOMEDIA.PDF417.OBJLIB,  
//  
//  
//  
DISP=(NEW,CATLG,DELETE),  
VOL=SER=&DISKVOL,SPACE=(CYL,(1,1,15)),  
DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200,DSORG=PO)  
//OUTDD3  
DD DSN=NEOMEDIA.PDF417.FNTLIB,  
//  
//  
//  
DISP=(NEW,CATLG,DELETE),  
VOL=SER=&DISKVOL,SPACE=(CYL,(1,1,15)),  
DCB=(RECFM=VBM,LRECL=12284,BLKSIZE=27998,DSORG=PO)  
//SYSIN  
//  
DD DUMMY  
PEND  
//INSTALL EXEC INSTALL,V=Vxxxx,TAPEUNIT=561,DISKVOL=SCPMV5  
//COPYLIB.SYSIN DD *  
COPY INDD=INDD1,OUTDD=OUTDD1  
COPY INDD=INDD2,OUTDD=OUTDD2  
COPY INDD=INDD3,OUTDD=OUTDD3  
//  
The installation of the encoder is now complete. The NEOMEDIA.PDF417.OBJLIB contains  
the PDF417EN members standing for the ENCODER objects that the sample programs will  
utilize. These object modules should be made available for the developers so that their  
programs may be linked with them in order to perform calls to the PDF417 encoder API.  
Refer to the section titled Font Selection later in this document for information on determining  
the correct font for your environment.  
Linking with the Encoder  
The precise syntax for compile, pre-link, and linking with the encoder varies from compiler to  
compiler. Refer to your system’s documentation for detailed instructions for linking with object  
PDS.  
NeoMedia Technologies, Inc.  
Page 16  
 
PDF417  
Installation Guide  
COBOL  
To compile and link the sample program for COBOL:  
NOTE: Compiling and testing the COBOL sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the COBOL API.  
First, the encoder objects must be linked into a load module. A sample JCL (IPDFLNK) has been  
provided in the NEOMEDIA.PDF417.RSCLIB PDS for creating the load module PDF417 in  
NEOMEDIA.PDF417.RSCLIB PDS.  
1. Edit NEOMEDIA.PDF417.RSCLIB(IPDFLNK)’ and SUBMIT it.  
Confirm that the JCL is correct for your environment and make any changes as required. Upon  
completion of this job you will receive a warning: IEW2650I 5102 No module entry point  
provided. This is an expected message since the load module has no main().  
A sample JCL (ISAMLCB) has been provided in the NEOMEDIA.PDF417.RSCLIB PDS for  
compiling and linking the sample COBOL program SAMPLECOB in the  
NEOMEDIA.PDF417.RSCLIB PDS.  
The ISAMLCB member in the NEOMEDIA.PDF417.RSCLIB PDS uses the IBM supplied  
cataloged procedure IGYWCL in the step COBCL in order to compile the SAMPLCOB program  
and link its object with the load module PDF417 and the C run-time library.  
The ISAMLCB member in NEOMEDIA.PDF417.RSCLIB is a typical sample that one may  
adapt to link COBOL programs with the PDF417 load module, and with the C run-time library.  
2. Edit NEOMEDIA.PDF417.RSCLIB(ISAMLCB)’ and SUBMIT it.  
Confirm that the JCL is correct for your environment and make any changes as required.  
A sample JCL (ISAMPLCB) has been provided in the NEOMEDIA.PDF417.RSCLIB PDS for  
compiling, pre-linking, and linking the sample COBOL program SAMPLECOB in the  
NEOMEDIA.PDF417.RSCLIB PDS.  
The ISAMPLCB member in the NEOMEDIA.PDF417.RSCLIB PDS uses the IBM supplied  
cataloged procedure IGYWCPL in the step COBCPL in order to compile the SAMPLCOB  
program, pre-link and link its object with the PDF417EN and the C run-time library.  
The ISAMPLCB member in NEOMEDIA.PDF417.RSCLIB is a typical sample that one may  
adapt to pre-link and link COBOL programs with the PDF417EN objects, and with the C run-  
time library.  
3. Edit NEOMEDIA.PDF417.RSCLIB(ISAMPLCB)’ and SUBMIT it.  
Confirm that the JCL is correct for your environment and make any changes as required.  
Upon completion of the build of SAMPLCOB you can then execute the program.  
4. Edit ‘NEOMEDIA.PDF417.RSCLIB(XSAMPLCB)’ and SUBMIT it.  
Confirm that the JCL is correct for your environment and make any changes as required. The  
XSAMPLCB member in the NEOMEDIA.PDF417.RSCLIB PDS executes the SAMPLCOB  
executable created above. This program generates an output file via the TPDFFONT DD card.  
NeoMedia Technologies, Inc.  
Page 17  
 
PDF417  
Installation Guide  
NOTE: The very first step in the XSAMPLEC has been commented out because there is  
nothing to be deleted during the first run of this program. If you decided to re-execute this  
program, then the DELETE step would be needed.  
For successful execution, there will be no screen output but one file will be generated as an output  
file via the TPDFFONT DD card defined in the JCL. The file that is created from this test  
program is a font character file which contains a PDF417 symbol with the following encoded:  
This is a test of the NeoMedia Technologies PDF417 Encoder. The error  
correction will encode at level 3 with ECC padding.  
View this file and confirm that it contains the appropriate font characters. If it does not, you will  
have to print the file with the appropriate font definition file loaded. Printing the symbol file is  
beyond the scope of this document.  
NeoMedia Technologies, Inc.  
Page 18  
 
PDF417  
Installation Guide  
C Language  
To compile and link the sample program for C:  
NOTE: Compiling and testing the C sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the C API.  
First, the encoder objects must be linked into a load module. A sample JCL (IPDFLNK) has been  
provided in the NEOMEDIA.PDF417.RSCLIB PDS for creating the load module PDF417 in  
NEOMEDIA.PDF417.RSCLIB PDS.  
1. Edit NEOMEDIA.PDF417.RSCLIB(IPDFLNK)’ and SUBMIT it.  
Confirm that the JCL is correct for your environment and make any changes as required. Upon  
completion of this job you will receive a warning: IEW2650I 5102 No module entry point  
provided. This is an expected message since the load module has no main().  
A sample JCL (ISAMLEC) has been provided in the NEOMEDIA.PDF417.RSCLIB PDS for  
compiling and linking the sample C program SAMPLEC in the NEOMEDIA.PDF417.RSCLIB  
PDS.  
The ISAMLEC member in the NEOMEDIA.PDF417.RSCLIB PDS uses the IBM supplied  
cataloged procedure EDCC in the steps SINKFILS and SAMPLEC in order to compile C code  
and store the resulting objects into an object library. Then, in the LINK step, it uses the IBM  
supplied cataloged procedure EDCL, in order to link the SINKFILS and SAMPLEC objects with  
the PDF417 load module and the C Run-time library. In most cases the C Run-time library is  
the SCEELKED.  
2. Edit NEOMEDIA.PDF417.RSCLIB(ISAMLEC)’ and SUBMIT it.  
Confirm that the JCL is correct for your environment and make any changes as required.  
A sample JCL (ISAMPLEC) has also been provided in the NEOMEDIA.PDF417.RSCLIB PDS  
for compiling, pre-linking, and linking the sample C program SAMPLEC in the  
NEOMEDIA.PDF417.RSCLIB PDS.  
The ISAMPLEC member in the NEOMEDIA.PDF417.RSCLIB PDS uses the IBM supplied  
cataloged procedure EDCC in the steps SINKFILS and SAMPLEC in order to compile C code  
and store the resulting objects into an object library. Then, in the LINK step, it uses the IBM  
supplied cataloged procedure EDCPL, in order to pre-link and link the SINKFILS and  
SAMPLEC objects with the PDF417EN and the C Run-time library. In most cases the C Run-time  
library is the SCEELKED.  
The ISAMPLEC member in NEOMEDIA.PDF417.RSCLIB is a typical sample that one may  
adapt to compile pre-link and link C programs with both the PDF417EN object and the C run-  
time library.  
NOTE: The COMPILE.STEPLIB has received an override in our example to interact with  
DSN=SYS1.SCEERUN, and DSN=SYS1.SCBCCMP. It may be the case that your system  
would not need to override them at all if the name of your libraries match then ones provided  
in the EDCC procedure.  
Upon completion of the build of SAMPLEC you can then execute the program.  
3. Edit ‘NEOMEDIA.PDF417.RSCLIB(XSAMPLEC)’ and SUBMIT it.  
Confirm that the JCL is correct for your environment and make any changes as required.  
NeoMedia Technologies, Inc.  
Page 19  
 
PDF417  
Installation Guide  
The XSAMPLEC member in the NEOMEDIA.PDF417.RSCLIB PDS executes the SAMPLEC  
executable created above. This program generates an output file via the NMPDFFNT DD card.  
NOTE: The very first step in the XSAMPLEC has been commented out because there is  
nothing to be deleted during the first run of this program. If you decided to re-execute this  
program, then the DELETE step would be needed.  
For successful execution, there will be no screen output but one file will be generated as output  
via the NMPDFFNT DD card defined in the JCL. The file that is created from this test program is  
a font character file which contains a PDF417 symbol with the following encoded:  
This is a test of the NeoMedia Technologies PDF417 Encoder. The error  
correction will encode at level 3 with ECC padding.  
View this file and confirm that it contains the appropriate font characters. If it does not, you will  
have to print the file with the appropriate font definition file loaded. Printing the symbol files is  
beyond the scope of this document.  
The following JCL demonstrates how to link the PDF417 encoder with a C program and the C  
run-time SCEELKED library. If one observes the expansion of this EDCPL, then the  
SCEELKED library will be noted.  
//jobcard here  
//*  
//LINK  
EXEC EDCPL,LPARM='MAP,LIST,AMODE=31,RMODE=ANY'  
//PLKED.STEPLIB DD DSN=SYS1.SCEERUN,DISP=SHR  
//PLKED.SYSIN  
//  
DD DSN=NEOMEDIA.PDF417.OBJLIB(YOURPROG),DISP=SHR  
DD DSN=NEOMEDIA.PDF417.OBJLIB(PDF417EN),DISP=SHR  
//LKED.SYSLMOD DD DSN=YOUR.LOADLIB,DISP=SHR  
//LKED.SYSIN  
DD *  
ENTRY CEESTART  
NAME YOUREXEC(R)  
//  
Depending on your system configuration you may not even need the  
above PLKED.STEPLIB override.  
This JCL demonstrates how to execute a program that uses the encoder in an AFP printing  
environment. If your environment is properly configured, the C run-time libraries (e.g.,  
SCEERUN) will be found via the concatenation list:  
//jobcard here  
//AFP  
//  
OUTPUT FORMDEF=PDF417,PAGEDEF=PDF417,  
PRMODE=PAGE,DATACK=UNBLOCK  
//STEP1 EXEC PGM=YOURNAME  
//STEPLIB  
DD DSN=YOUR.LOADLIB,DISP=SHR  
//SYSPRINT DD SYSOUT=*  
//SYSOUT  
DD SYSOUT=*  
//SYSUDUMP DD SYSOUT=(F,,71)  
//OUTFILE  
DD DSN=YOUR.PDFOUT.DATA,DISP=SHR,  
//  
//  
UNIT=SYSDA,SPACE=(TRK,(5,5),RLSE),  
DCB=(RECFM=FBA,LRECL=133,BLKSIZE=23408)  
DD DSN=YOUR.PDFOUT.ERR,DISP=SHR,  
//ERRFILE  
//  
//  
UNIT=SYSDA,SPACE=(TRK,(5,5),RLSE),  
DCB=(RECFM=FBA,LRECL=133,BLKSIZE=23408)  
//*  
//STEP2 EXEC PGM=IEBGENER  
//SYSPRINT DD SYSOUT=*  
//SYSOUT  
DD SYSOUT=*  
NeoMedia Technologies, Inc.  
Page 20  
 
PDF417  
Installation Guide  
//SYSUT1  
//SYSUT2  
//SYSIN  
//  
DD DSN=YOUR.PDFOUT.DATA,DISP=SHR  
DD SYSOUT=*,OUTPUT=*.AFP  
DD DUMMY  
Execution Errors  
Depending on what environment you are installing in, users have encountered some execution  
problems. If you are getting a SOC1 or SOC4 error at execution time, check the concatenation  
list. The PDF417 Encoder depends on the C runtime being available at runtime. The SOC1 and  
SOC4 error usually indicates a missing LOADLIB or runtime system library. Users have  
encountered this when using the LE370 due to the lack of adding the system libraries to the  
concatenation list automatically on installation of C. Make sure that SCEERUN and SCEELKED  
are included in the system concatenation list. Also confirm that the PDF417 Encoder LOADLIB,  
(NEOMEDIA.PDF417.LOADLIB), is included.  
NeoMedia Technologies, Inc.  
Page 21  
 
PDF417  
Installation Guide  
AS/400 Installation  
It is highly recommended that the installation of the PDF417 encoder be performed by a skilled  
System Administrator with intimate knowledge of your AS/400 environment. The following  
instructions are written in a general sense and will work on most AS/400 systems. However, due  
to the wide and varied configurations possible, it is impossible to provide concise instructions for  
all possible scenarios.  
Requirements  
Under OS/400, the PDF417 encoder requires at a minimum, OS/400 V3R2M0. If you are  
running an earlier release of OS/400, please contact NeoMedia Technologies.  
The encoder is supported for use with the following calling languages:  
COBOL/400 and ILE COBOL  
RPG/400 and ILE RPG  
ILE C  
PL/I  
After completing the installation, the PDF417 encoder will be available as a service program for  
ILE programmers and as a callable program for OPM language programming. While using the  
encoder with development languages and products other than those listed above may be possible,  
these types of configurations have not been tested and are not support by NeoMedia  
Technologies.  
Preparing for Installation  
The PDF417 is distributed on tape in SAVLIB format. The installation library, PDFVxxxx,  
contains the object modules that comprise the PDF417 encoder and a number of support files,  
including fonts. In most cases, the library has been saved as a V3R2M0 save library. Refer to the  
tape label for the specific SAVLIB version that was used to create the media.  
The PDFVxxxx library contains the source files for the AFP fonts. Once the library has been  
restored, the font resources will need to be compiled on your system.  
If you require either Xerox or HP PCL fonts, a separate media (usually a diskette) will have been  
shipped containing the appropriate fonts. Please refer to your NeoMedia Technologies Standard  
Software License for specific details on which fonts have been licensed for use. Use of  
unlicensed fonts is a violation of the Standard Software License and is strictly prohibited.  
The library also contains a number of sample programs and encoder support files. These will be  
discussed in a later section.  
Installing the Encoder  
STEP 1: Restoring the encoder from tape  
The encoder library for OS/400 is in SAVLIB format. Refer to the label on the distribution media  
for the precise SAVELIB version that was used. The RSTLIB command is used to restore the  
library:  
RSTLIB SAVLIB(PDFVxxxx) DEV(TAPxx) VOL(NEO001)  
NeoMedia Technologies, Inc.  
Page 22  
 
PDF417  
Installation Guide  
The following objects will be restored:  
Object  
Type  
*LIB  
Attribute  
*TEST  
CLE  
Text  
PDFVxxxx  
PDFENCOD  
PDFINITF  
PDFVxxSRV  
H
NeoMedia PDF417 Encoder Vx.x.x.x  
PDF417 OPM Interface Program  
PDF417 OPM Interface Program  
PDF417 ILE Service Program  
PDF417 C Includes  
*PGM  
*PGM  
*SRVPGM CLE  
*FILE PF-SRC  
CLE  
QCBLLESRC *FILE  
PF-SRC  
PF-SRC  
PF-SRC  
PF-DTA  
PF-SRC  
PF-SRC  
PF-SRC  
PDF417 ILE COBOL Sample  
PDF417 ILE C Sample  
PDF417 DDS Sample  
PDF417 Font Source Files  
PDF417 COBOL/400 Sample  
PDF417 ILE RPG Sample  
PDF417 RPG/400 Sample  
QCSRC  
*FILE  
*FILE  
*FILE  
*FILE  
QDDSSRC  
QFNTRSC  
QLBLSRC  
QRPGLESRC *FILE  
QRPGSRC *FILE  
STEP 2: Compiling the font resources  
If you are using an IPDS printer, you will need to create the PDF417 font resources from the  
source files provided. Four fonts have been supplied: 2 for 240 DPI printers and 2 for 300, 600,  
and 1200 DPI printers. NeoMedia recommends that your compile and install both fonts.  
PSF/400 searches a default set of single byte character set libraries (QFNT01 through QFNT19)  
when looking for AFP font resources. NeoMedia recommends that you install our PDF417 fonts  
in one of these libraries. If you have not installed custom fonts on your system before, you may  
have to create a library (e.g., CRTLIB LIB(QFNT01) ). Note that we do not recommend that  
the fonts be installed in the IBM supplied library QFNTCPL.  
The following commands demonstrate how to compile the font resources, installing them in the  
QFNT01 library. Note that the order in which the files are compiled is important: a coded font’s  
character set and code page must be compiled first (e.g., C0PD2206 and T1PDF417 must be  
compiled before X0PD2206). Since all four fonts use the same code page (T1PDF417), we  
only need to compile it once:  
CRTFNTRSC FNTRSC(QFNT01/T1PDF417) FILE(PDFVxxxx/QFNTRSC)  
CRTFNTRSC FNTRSC(QFNT01/C0PD2206) FILE(PDFVxxxx/QFNTRSC)  
CRTFNTRSC FNTRSC(QFNT01/X0PD2206) FILE(PDFVxxxx/QFNTRSC)  
CRTFNTRSC FNTRSC(QFNT01/C0PD2309) FILE(PDFVxxxx/QFNTRSC)  
CRTFNTRSC FNTRSC(QFNT01/X0PD2309) FILE(PDFVxxxx/QFNTRSC)  
CRTFNTRSC FNTRSC(QFNT01/C0PD3309) FILE(PDFVxxxx/QFNTRSC)  
CRTFNTRSC FNTRSC(QFNT01/X0PD3309) FILE(PDFVxxxx/QFNTRSC)  
CRTFNTRSC FNTRSC(QFNT01/C0PD3412) FILE(PDFVxxxx/QFNTRSC)  
CRTFNTRSC FNTRSC(QFNT01/X0PD3412) FILE(PDFVxxxx/QFNTRSC)  
NOTE: these fonts use the standard AFP font naming conventions. Thus, those are zeros in the  
file names, not O's.  
Any printer writers that will be using these fonts should be stopped and restarted to guarantee that  
they find the new fonts.  
NeoMedia Technologies, Inc.  
Page 23  
 
PDF417  
Installation Guide  
Binding with the Encoder  
The AS/400 has two distinct development environments: OPM and ILE. The OPM (Original  
Programming Model) consists of language products like RPG/400, COBOL/400, and PL/I. ILE  
(Integrated Language Environment) consists of language products like ILE RPG, ILE COBL, and  
ILE C.  
The way the PDF417 encoder library is used in these two environments is identical; however, the  
way the encoder is called differs. NeoMedia Technologies’ PDF417 Encoder was written in and  
compiled using ILE C. The software is distributed as an ILE service program. In ILE  
environments, linking with the encoder is straightforward; it is simply specified as a Bind Service  
Program to the Create Program command (CRTPGM). For example, if your calling ILE program  
were named MYLIB/MYPROGRAM, the program would be linked as follows:  
CRTPGM PGM(MYLIB/MYPROGRAM) BNDSRVPGM(PDFVxxxx/PDFVxxSRV)  
If the PDFVxxxx library has been added to the library list, you may instead wish to use the  
following:  
CRTPGM PGM(MYLIB/MYPROGRAM) BNDSRVPGM(*LIBL/PDFVxxSRV)  
Using the PDF417 encoder with an OPM language is a little different. An interface program  
(PDFVxxxx/PDFENCOD) has been provided. This is a “stub” C program which, when invoked,  
in turn calls the PDFVxxSRV service program (since an OPM program cannot directly call an  
ILE service program). The PDFENCOD program was linked using the following command:  
CRTPGM PGM(PDFVxxxx/PDFENCOD)  
MODULE(PDFVxxxx/PDFENCOD)  
BNDSRVPGM(*LIBL/PDFVxxSRV)  
ACTGROUP(*CALLER)  
TGTRLS(V3R2M0)  
There is a subtle implication here; the PDFVxxSRV service program was linked from the library  
list (note the BNDSRVPGM parameter). Thus, if you are using an OPM language, the  
PDFVxxSRV service program must appear in the job’s library list.  
The second interface program, PDFINITF, was linked in the same fashion.  
Running the Sample Programs  
A number of sample programs have been provided: a COBOL/400 program, an ILE COBOL  
program, an ILE C program, an RPG/400 program, and an ILE RPG program. For simplicity of  
compiling and running the samples, you may wish to change your current library to the  
PDFVxxxx library.  
The sample programs use the same printer file, PDFVxxxx/PDF417. Before you can compile  
any of the sample programs, you must create the printer file the samples will use. Two DDS’s  
have been provided; one for 240 DPI printers and one for the 300 DPI family of printers. These  
DDS’s differ in two ways; each uses a different font and different vertical line spacing. Refer to  
the PDF417 Encoder Programming Guide for more information on font selection and line  
spacing.  
When creating the printer file, you must use a device type of *AFPDS. To create the printer file  
for a 240 DPI printer, use the following:  
NeoMedia Technologies, Inc.  
Page 24  
 
PDF417  
Installation Guide  
CRTPRTF FILE(PDFVxxxx/PDF417)  
SRCFILE(PDFVxxxx/QDDSSRC)  
SRCMBR(PDF240)  
DEVTYPE(*AFPDS)  
REPLACE(*YES)  
To create the printer file for a 300 DPI printer, use the following:  
CRTPRTF FILE(PDFVxxxx/PDF417)  
SRCFILE(PDFVxxxx/QDDSSRC)  
SRCMBR(PDF300)  
DEVTYPE(*AFPDS)  
REPLACE(*YES)  
COBOL  
To compile and link the sample program for COBOL:  
NOTE: Compiling and testing the COBOL sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the COBOL API.  
Compiling and Running the sample COBOL/400 Program  
The sample COBOL/400 program calls the PDFVxxxx/PDFENCOD program. The source for  
the sample program is in PDFVxxxx/QLBLSRC(CBLPDF). It can be compiled using the  
following command:  
CRTCBLPGM PGM(PDFVxxxx/CBLPDF)  
SRCFILE(PDFVxxxx/QLBLSRC)  
SRCMBR(CBLPDF)  
REPLACE(*YES)  
The program is now ready to run. It will generate a spool file named PDF417 to the default  
output queue:  
CALL CBLPDF  
Compiling and Running the sample ILE COBOL Program  
The sample ILE COBOL program links with the PDFVxxxx/PDFVxxSRV service program.  
The source for the sample program is in PDFVxxxx/QCBLLESRC(CBLPDF). You must first  
compile the COBOL module:  
CRTCBLMOD MODULE(PDFVxxxx/CBLPDF)  
SRCFILE(PDFVxxxx/QCBLLESRC)  
SRCMBR(CBLPDF)  
REPLACE(*YES)  
Now create the ILE program (i.e., link it with the PDF417 service program):  
CRTPGM PGM(PDFVxxxx/ILECBLPDF)  
MODULE(PDFVxxxx/CBLPDF)  
BNDSRVPGM(*LIBL/PDFVxxSRV)  
REPLACE(*YES)  
The program is now ready to run. It will generate a spool file named PDF417 to the default  
output queue:  
CALL ILECBLPDF  
NeoMedia Technologies, Inc.  
Page 25  
 
PDF417  
Installation Guide  
RPG  
To compile and link the sample program for RPG:  
NOTE: Compiling and testing the RPG sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the COBOL API.  
Compiling and Running the sample RPG/400 Program  
The sample RPG/400 program calls the PDFVxxxx/PDFENCOD program. The source for the  
sample program is in PDFVxxxx/QRPGSRC(RPGPDF). It can be compiled using the following  
command:  
CRTRPGPGM PGM(PDFVxxxx/RPGPDF)  
SRCFILE(PDFVxxxx/QRPGSRC)  
SRCMBR(RPGPDF)  
REPLACE(*YES)  
The program is now ready to run. It will generate a spool file named PDF417 to the default  
output queue:  
CALL RPGPDF  
Compiling and Running the sample ILE RPG Program  
The sample ILE RPG program links with the PDFVxxxx/PDFVxxSRV service program. The  
source for the sample program is in PDFVxxxx/QRPGLESRC(RPGPDF). You must first  
compile the RPG module:  
CRTRPGMOD MODULE(PDFVxxxx/RPGPDF)  
SRCFILE(PDFVxxxx/QRPGLESRC)  
SRCMBR(RPGPDF)  
REPLACE(*YES)  
Now create the ILE program (i.e., link it with the PDF417 service program):  
CRTPGM PGM(PDFVxxxx/ILERPGPDF)  
MODULE(PDFVxxxx/RPGPDF)  
BNDSRVPGM(*LIBL/PDFVxxSRV)  
REPLACE(*YES)  
The program is now ready to run. It will generate a spool file named PDF417 to the default  
output queue:  
CALL ILERPGPDF  
NeoMedia Technologies, Inc.  
Page 26  
 
PDF417  
Installation Guide  
Following is a pictorial diagram of how the pieces fit together using RPG:  
RPG III (RPG/400)  
RPG IV (ILE)  
Compile  
w/opt 15  
OPM  
Program  
Compile  
w/opt 14  
ILE  
Program  
CALL  
CALL  
CALLB  
(CRTPGM to bind)  
PDFINIT  
PDFENCOD  
PDFvv/PDFvvSRV  
Service Program  
(PDFvv, or whatever library  
PDFvvSRV is installed in  
MUST be in the *LIBL)  
C Language  
To compile and link the sample program for C:  
NOTE: Compiling and testing the C sample is not a required step for installation of the  
PDF417 Encoder. It is recommended if you will be using the C API.  
Compiling and Running the sample ILE C Program  
The sample ILE C program links with the PDFVxxxx/PDFVxxSRV service program. The  
source for the sample program is in PDFVxxxx/QCSRC(CPDF). You must first compile the C  
module:  
CRTCMOD MODULE(PDFVxxxx/CPDF)  
SRCFILE(PDFVxxxx/QCSRC)  
SRCMBR(CPDF)  
REPLACE(*YES)  
Now create the ILE program (i.e., link it with the PDF417 service program):  
CRTPGM PGM(PDFVxxxx/CPDF)  
MODULE(PDFVxxxx/CPDF)  
BNDSRVPGM(*LIBL/PDFVxxSRV)  
REPLACE(*YES)  
The program is now ready to run. It will generate a spool file named PDF417 to the default  
output queue:  
NeoMedia Technologies, Inc.  
Page 27  
 
PDF417  
Installation Guide  
CALL CPDF  
Output of the sample programs  
The sample programs generate a single PDF417 symbol to the output spooler. If you view the  
spooler, you should see several lines of text characters looking something line the following:  
OOEDGEALCJBNAC LBKC HDNCICJILAOMAD  
OOEDGMDCBNLOMMF DOAAADLKOCOEAMOMAD  
OOEDFJGLBALHMFHG KLLFGNEHKE OIOMAD  
OOEDGMBOKCDBAACMNJALGGKBCJKNOIOMAD  
OOEDGELAJOACMODEHOBMHGI ECJNAIOMAD  
OOEDGJOBBNBCAOIAJKLHADLFOCJOIAOMAD  
OOEDECMNCKCCIMAINHHDAGGFFBILNAOMAD  
OOEDGJDHCDCHINHJ NELLGGKNKNIFAOMAD  
OOEDECCNBNOGMMLENIDCLFANEKODNMOMAD  
OOEDFHNGJ JDAC LBLJF E FCBHLAIOMAD  
OOEDGDNAKACJACGM ODHDFBGBCJGAIOMAD  
OOEDEA OBHBOACHHFIHDNGCNIJHLOIOMAD  
OOEDE DHBLLHAHJL M DCFHIHBHGAMOMAD  
OOEDGJB KJGCANOGJLLOADIOCCNHHMOMAD  
OOEDFHBOJ ICMKJG IOIMEBGHBEGHAOMAD  
OOEDGIFOJG NIKC LNLIHFHGGKBHFAOMAD  
OOEDEAOCCJFAALHAJMCI FENCBHOKAOMAD  
OOEDDKIOKNDNEGKAHLGLIFCNDKIGMAOMAD  
OOEDGKDCJMNCILNJ MK LDBFLCKDFAOMAD  
OOEDGM EKLADINKMNOI KFKHDBHGLMOMAD  
OOEDGBEOJGHDIHNBNNKNHENCFCBDGMOMAD  
OOEDEKHLCEMNALLEHHFGCDBGGCICCMOMAD  
When sent to the printer, rather than the characters seen above, a PDF417 symbol will be printed.  
If you do not get a PDF417 symbol, but rather the rows of characters “all bunched” up, then  
PSF/400 is performing a font substitution (check the messages for QSYSOPR). Possible causes  
include:  
The PDF417 fonts have not been properly installed in a library that PSF/400 can find.  
The printer writer was not restarted after the PDF417 fonts were installed.  
The DDS is using the incorrect font for your printer’s density.  
NeoMedia Technologies, Inc.  
Page 28  
 
PDF417  
Installation Guide  
Font Selection  
As mentioned earlier, the PDF417 encoder is shipped with all available printer fonts. Supported  
platforms include IBM AFP, Xerox, and Hewlett Packard PCL printers.  
The following tables list all of the supported platforms and printers. The font name is the name  
of the font file in the distribution kit. Refer to the PDF417 Programming Guide for more  
information on setting the code points (specifically, the PdfFontInitRender function for C/Setting  
Parameters for COBOL ). Failure to set the code points in the program can cause unpredictable  
output and can even cause printer reboots.  
The information has been broken into two tables; one for UNIX and PC Platforms (ASCII  
platforms) and a second for IBM S/370, S/390, and AS/400 systems (EBCDIC platforms).  
UNIX and PC Platforms:  
DPI  
300  
300  
Portrait Font  
HPPP3309  
HPPP3412  
Landscape Font  
HPPL3309  
HPPL3412  
Printer Family  
HP PCL  
HP PCL  
IBM S/370, S/390, AS/400:  
DPI  
240  
240  
300  
300  
300  
300  
300  
Portrait Font  
Landscape Font  
Printer Family  
IBM AFP  
IBM AFP  
IBM AFP  
X0PD2206  
X0PD2309  
X0PD3309  
X0PD3412  
X5P309  
X5P310  
X5P412  
X9P309  
X9P310  
N/A  
N/A  
N/A  
N/A  
X5L309  
X5L310  
X5L412  
X9L309  
X9L310  
X9L412  
IBM AFP  
XEROX AFP – 5 word  
XEROX AFP – 5 word  
XEROX AFP – 5 word  
XEROX AFP – 9700 series 300  
XEROX AFP – 9700 series 300  
XEROX AFP – 9700 series 300  
X9P412  
NeoMedia Technologies, Inc.  
Page 29  
 

Grizzly Musical Instrument H8181 User Manual
Hamilton Beach Iron 840127400 User Manual
Harbor Freight Tools Power Hammer 93853 User Manual
Hawking Technology Network Router H BR49 User Manual
Hotpoint Washer AQXXF 149 PM User Manual
Hotpoint Washer WMAQF 721 User Manual
HP Hewlett Packard All in One Printer PSC 2310 User Manual
HP Hewlett Packard Car Video System LP1965 User Manual
Hunter Fan Fan 22787 User Manual
Hyundai Portable Radio H 1411 User Manual