PDF417 Encoder Technical and Support Information
|Platform||Supported Languages||Available Media|
|OS/390, z/OS||COBOL II, C||XMT files (via CD-ROM, E-Mail)|
|OS/400||COBOL, C, RPG, PL/I||Save files (via CD-ROM, E-Mail)|
- OS/390 and z/OS support requires C runtime libraries or LE/370
- Supported Unix platforms include:
Other Unix platforms available by special arrangement.
(Click a link to view the PDF document in your browser – right click it to download)
- Programmer’s Manual
- AS/400 Installation Manual
- AIX Installation Manual
- Linux Installation Manual
- z/OS Installation Manual
- ILE Examples
- OPM Examples
- DDS Example
MVS, OS-390, z/OS Examples
- COBOL Example
- How does generating and printing PDF417 symbols differ from other barcodes?
Unlike many one-dimensional barcodes (like Code 128 or Code 39), PDF417 symbols cannot be printed by simply using a special font. While we do provide a custom font for printing a PDF417 symbol, this is done to simplify the task of printing the symbol. The majority of the work is performed by the encoder, a callable library routine. The encoder is a sophisticated piece of software that performs all of the necessary formatting, data compaction, and error correction that goes into a PDF417 symbol.
- In general, how does the PDF417 encoder work?
The PDF417 product consists of two components; a callable library routine, and a special PDF417 font. Your application program must call this library routine with the data you wish to “encode” in the PDF417 symbol. The library routine returns a buffer of characters. Your application program then sends these characters to the printer, using the PDF417 font. The complexity of this final step depends on your printing environment.
MVS, OS/390 & z/OS
- What’s the minimum version of MVS supported?
The encoder has been tested as far back as MVS 5.2.2. The encoder may work on earlier version; however, we do not have the facilities for testing these versions. The C runtime libraries must also be present (e.g., as part of LE/370) and must be compiled in AMODE=31 (the default). Your calling program must also be running above the line to call the encoder directly.
- What’s the minimum version of OS/390 or z/OS supported?
The encoder is currently support by all versions of OS/390 and z/OS. The C runtime libraries must have been installed and compiled in AMODE=31 (the default). Your calling program must also be running above the line to call the encoder directly.
- What programming languages are supported?
The PDF417 encoder is distributed as an application callable load library (written in C). COBOL II and C are directly supported. Other languages like RPG and PL/I, while not documented, should work with the encoder. Sample programs written in a variety of languages are provided.
- How is the PDF417 encoder linked with my application?
Our PDF417 routine is shipped as a load library and can be linked either statically or dynamically with your application. When the library is first installed on your system it must be linked with your C runtime libraries. JCL for this step is provided.
- What’s the minimum version of OS/400 supported?
The minimum version is V4R1M0.
- Are Original Programming Model languages (COBOL/400, RPG/400) supported?
Yes. The PDF417 encoder is distributed as an ILE service program. However, special ILE interface programs have been provided for OPM and EPM environments that invoke the service program for the calling program. Sample COBOL/400 and RPG/400 programs are supplied which demonstrate the calling convention.
- Are Integrated Language Environment (ILE) languages (ILE COBOL, ILE RPG) supported?
Yes. The PDF417 encoder is distributed as an ILE service program. The CRTPGM command is used to link the service program with your ILE modules. Sample ILE COBOL and RPG programs are supplied which demonstrate the calling convention.
- How do I print the PDF417 symbol from an AS/400?
The PDF417 encoder returns a rectangular array of characters which need
to be printed using our special PDF417 font. Furthermore, these lines must be
printed using a line spacing that depends on the module size you choose for your
output symbol. The simplest way on an AS/400 to print is using a DDS to an AFP
capable printer. The DDS for the PDF417 record may look something like this:
A CDEFNT(X0PD3309) A PDFOUT01 37A POSITION(1.700 1.350) A PDFOUT02 37A POSITION(1.730 1.350) A PDFOUT03 37A POSITION(1.760 1.350) A PDFOUT04 37A POSITION(1.790 1.350) A PDFOUT05 37A POSITION(1.820 1.350) A PDFOUT06 37A POSITION(1.850 1.350) A PDFOUT07 37A POSITION(1.880 1.350) A PDFOUT08 37A POSITION(1.910 1.350) A PDFOUT09 37A POSITION(1.940 1.350) A PDFOUT10 37A POSITION(1.970 1.350) A PDFOUT11 37A POSITION(2.000 1.350) A PDFOUT12 37A POSITION(2.030 1.350) A PDFOUT13 37A POSITION(2.060 1.350) A PDFOUT14 37A POSITION(2.090 1.350) A PDFOUT15 37A POSITION(2.120 1.350) A PDFOUT16 37A POSITION(2.150 1.350) A PDFOUT17 37A POSITION(2.180 1.350) A PDFOUT18 37A POSITION(2.210 1.350) A PDFOUT19 37A POSITION(2.240 1.350) A PDFOUT20 37A POSITION(2.270 1.350) A PDFOUT21 37A POSITION(2.300 1.350) A PDFOUT22 37A POSITION(2.330 1.350) A PDFOUT23 37A POSITION(2.360 1.350) A PDFOUT24 37A POSITION(2.390 1.350) A PDFOUT25 37A POSITION(2.420 1.350)
Sample COBOL, C, and RPG programs are all provided for the AS/400.
- How is a PDF417 symbol printed?
Normally, the PDF417 encoder uses font rendering to print the PDF417 symbol. The actual “output” of the encoder library is simply a series of characters (the space character and letters in the range ‘A’-‘O’). The exact layout of the output depends on the space you have available to print the symbol and its aspect ratio. When printed using the provided PDF417 font, the correct symbol is “rendered” by the printer.
For example, the output of the encoder may look like the group of characters shown below. When rendered in the provided font, the result is the PDF417 symbol image shown to the right.
OOEDGEALCJBNALBHNIC LFB KCJILAOMADH OOEDGMDCCBOKINOGJKLDOGDF KOEAMOMADH OOEDFJGLCCHEMKHILLOJHGICLKE OIOMADH OOEDGMBOK ECAIJA OCBNDE HBKNOIOMADH OOEDGELAKDNAAMF DLCGJGMAFCJNAIOMADH OOEDGJOBCFENAIHENKHHLGNDFKJOIAOMADH OOEDECMNBB IA LLDNNLLGMJOBILNAOMADH OOEDGJDHCMADALKIHNOGMGHFLKNIFAOMADH OOEDECCNCMCMADDANLNDGENLLCODNMOMADH OOEDFHNGJAIJAHFJ LJF E FCBHLAIOMADH OOEDGDNAKACJACGM ODHDFBGBCJGAIOMADH OOEDEA OBHBOACHHFIHDNGCNIJHLOIOMADH
- Which AFP/IPDS printers are supported?
All AFP capable IPDS printers are supported (both 240 and 300/600/1200 DPI). It is important to note though that your operating environment must have AFP support installed and operational (specifically, our software requires a PSF host).
3800 series printers are supported only if they are operating in page mode and AFP is present on the system.
- Which Xerox printers are supported?
We have the ability to generate fonts for most Xerox printers. In particular, 9700-series and 5-word fonts are provided. While we can generate fonts for other printer series (e.g., 2700 and 3700) we do not have the ability to test these, nor can we necessarily deliver these fonts on the appropriate media. Call us for individual evaluation of your printer environment.
- Which PCL printers are supported?
We provide soft fonts for HP PCL printers. These fonts will work on virtually any HP compatible laser printer. Furthermore, we provide some basic documentation on downloading and printing with soft fonts. However, this documentation does not address generating PCL on all possible platforms (e.g., MVS and OS/400).