Posted on | July 21, 2010 | No Comments
What do we mean by a “Commercial Quality PCL Interpreter”?
In our estimation only a handful of products in the market today are truly commercial quality, although there are hundreds of products that claim to interpret PCL. The majority of them are simple PCL parsers that were developed during the PCL4 era (1980s) to extract text from simple PCL print streams off of a form overlay. The developers of these tools tried to adapt them to work with PCL5. The first hurdle was the need to add printer resident font and symbol set support. Besides PCLTool SDK there is only one other product that can convert PCL5 downloaded scalable PCLEO (.SFS) Intellifont typefaces (Test File: TESTSFS.PCL).
Next came PCL5e with downloaded and resident scalable PCLETTO (.SFT) Intellifont/TrueType typefaces (Test File: TESTSFT.PCL). Then came downloaded TrueType Universal Type 16 typefaces (Test File: TESTSFT2.PCL).
Next came PCL5/5e files with proprietary raster compression methods from different printer manufacturers like Lexmark, Kentek and others.
In the mid-90’s HP introduced a completely new PCL XL or PCL6 printer language.
PCLXL (.PXL) Language Features:
- Extensible by any printer manufacturer.
- PXL V1.0, 2.0 or 3.0 can be fully implemented and allows switching from PXL to PCL to HPGL/2 and back (Test File: TESTXLV3.PCL).
- PXL can be partially implemented where all the PXL generated is compressed in a JPEG format (Test File: TESTJPEG.PXL).
- PXL can be partially implemented where all the PXL generated is compressed in a proprietary HP JetReady V4.0, V4.1 or V4.2 format (Test File: TESTJETR.PXL).
So, the barrier to entering the PCL transformation business is not parsing PCL or PXL; it’s the commitment to full-time, ongoing development in support of a printer language that is a rapidly moving target, full of surprises from custom printer drivers requiring support for most types of scalable and bitmap font formats.
Even if you can find a product that can render PCL into PDF format, you need to be aware of the following:
- Make sure that you completely proof the PDF output font-by-font and character-by-character for any errors.
- Make sure you can extract the text needed to split, index, commingle or edit the PCL.
- Make sure you can search the text in the PDF file that was created.
Just because the text in the PCL is rendered into another format does not mean that it’s usable:
- The text could be in the form of raster data.
- The text could be mapped to a custom symbol set that the interpreter does not know how to remap to legible (useful) text.
- The text could be downloaded in the order in which the characters are being used in the document and mapped to downloaded temporary bitmap or scalable fonts unbound to a symbol set. We call this “scrambled text,” and it is very common in PCL print streams generated from Windows printer drivers.
Without legible, searchable or useful text:
- You cannot split a multiple document PCL file into individually-named and indexed PDF files.
- You cannot sort, commingle, edit or perform any of the higher functions of the more powerful PCL transformation products.
With very little work PageTech can “unscramble” the text in these types of files in order for you to take advantage of all that can be accomplished in one pass of its transformation tools.
We do this by building a Character Descriptor Recognition System (CDRS) database file that we give a .amp extension. We run the PCL through our product in a mode that will extract each character that is not bound to a symbol set and output into a “missed.pcl” file.
We then view the “missed.pcl” (or .pxl) file to identify all the characters so they can be remapped to their correct ASCII symbol set character cells. Once the .amp file is built and referenced, our product automatically translates the “scrambled text” into useful text (Test File: TEST6TXT.PRN – first view/print it to read its content to learn more).
If you’re lucky you have simple PCL that any PCL transformation product can handle. If not, and you run into more complex PCL print streams , you’re wasting your time unless you’re using PCLTool SDK!
A complete suite of test PCL & PXL files is available with the PCLTool SDK Evaluation located in the \Data folder of our root directory.