Debugging PCL Transformations FAQ

Posted on | September 16, 2010 | No Comments


Determine the compatibility of transformation into a raster format.  Can you convert the PCL using PCLTool.exe using the default settings into TIFF Gp4 or raster PDF?  Or can you View PCL to bitmap view format?


If you don’t have some other method of capturing your PCL, take the printer off-line and print to it.  Then look in the .\WINDOWS\system32\spool\PRINTERS folder for the .spl file that is waiting for the spooler to release the PCL job to the printer.

The more advanced method is to go to our PCLTSDK_Vvv icon group – Print Capture – Port Monitor and run the PMSetup utility.  It will create the PCL Transformation Driver, which prints to the PMon1:  port monitor that also gets installed.  You can either print from your application to the PCL Transformation Driver or print directly to the PMon1: port monitor.  You may need to read the Port Monitor help file to find out how the Port Monitor works and how to configure it.


If the file is too big to work with, use PCLSplit –R to split off the first “n” pages.


Use the program defaults and convert the PCL into TIFF/Gp4 format.  Review the .LOG file that was generated and View Image the .TIF files that were created.

Investigate the probable causes of any errors that were generated.  You may need to go back to the .TXT file produced by PCLCodes and search for commands that may cause problems.  The most common search strings are:  “Symbol Set”, “typeface”, “Reset” and “macro”.

If the TIFF image looks good, then print the PCL using the DOS command:

“COPY /B filename.PCL PRN”

Or by using the View PCL and then the FastPrint feature (which uses the Windows SDK EscapePassThru function) print from page 1 to however many pages you need to prove that the file is a good PCL file.

Also, print the TIFF images to compare to the printed PCL pages.  If they match, then proceed to determining the index-ability of the text within the PCL file.  If they do not match, then you will need to delve deeper into the PCLCodes disassembled PCL .TXT file to see where the error first occurs and look for the cause (e.g. a font id for a font that is not in the file or resident?, a macro call for a missing macro? etc.).

You will want to make sure all the correct preferences are set in PCLTool for the nature of the PCL file.  If you are missing a download font that is in the file, then you need the turn on the “Convert Download Bitmap Fonts” preference.


Disassemble the PCL file into readable English text with PCLCodes Program or PCLCodes Web Service.

Look at the .LOG file for error messages that were generated during the conversion of the PCL by PTC32.DLL (when using PCLWorks.exe, PCLTool.exe, PCLView.exe or PCLXForm.exe). These errors are a direct result of the transformation process and bear more weight than the .LOG file generated by PCLCodes.

Investigate the probable causes of any errors that were generated.

If no errors were generated, look at the .TXT file (and note) the nature of the PCL file in order to determine which options need to be set for a trial conversion:

Look at the end of the disassembly text file for “invalid escapes”, the PCL Escape Summary, Font Summary, Font Attribute Summary, Macro Summary, Palettes Referenced by Raster, Palettes Referenced by Color Entry and Page Summary.

If you need to delve deeper into the PCL disassembled detail, then set the other output options that are appropriate for your task.  Other output options include:

  • Font Char. Descriptor data
  • Bitmap Font Char. Raster Data
  • Graphics Raster Data
  • Summary of 24-bit Color Raster Values


Determine Compatibility of Transformation Into a Vector Format.  Can you convert the PCL using PCLWorks.exe/PCLTool.exe into EMF or vector PDF?  Can you View PCL to vector view format?


Convert the PCL into destination file Type EMF.  Review the .LOG file that was generated and View Image the .EMF files that were created.  Investigate the probable causes of any errors that are generated.

If you see the wrong fonts or a missing font, the most probable causes are that the PCL contains downloaded fonts, the PCL is referencing resident printer fonts or the PCL is referencing fonts, macros or other resources that are normally sent to the printer prior to the print stream.

Switch the Direct Driver PDF file type option to “as Vector” with “Embedded Fonts”.  Convert the PCL to PDF and view the PDF file in Acrobat Reader.  Debug any anomalies that may show up.

If the ultimate (decollated) PDF file is going to be less than 5 pages in length, you may want to turn off the “Embedded Fonts” option to see how small you may be able to get the PDF file size.

There are many workarounds available to get your PDF files to be 100% correct, small and with fast conversions.  However, these workarounds are too numerous to document and are much better addressed by sending your zipped PCL, *.ini and .tpt files for analysis.


Check out PCLXForm.exe and how easy it is to use our .TPT script programming language BEFORE you try to write any custom code with the API to our .dll’s.  For starters, the PCLTool SDK EVAL disables the ability for any custom .exe to call our .dll’s… even our sample custom programs.  We want you to at least try the following sample script before you decide to write a custom .exe:

RUN “pclxform .\scripts\convert\pdfport.tpt”

Look in our .\out folder for the .pdf file that was created.  Open the .tpt afterwards to see Job Parameters.  Read through to the end of the JobParams section of the PCLXForm help file.  It will show you how to override the script JobParams on the command line.

If you feel that PCLXForm with a custom .tpt script is not going to allow you to meet all your application requirements, then please allow us the opportunity to verify your assumption.  If you provide us with your application, workflow, transformation, text extraction (for file splitting, output file naming, indexing, routing, etc.), client/server implementation method, document type, maximum number of pages per file/per document and other requirements we can provide you with a fixed quote for a custom .tpt script or at least confirm that writing your own .exe is going to meet all your requirements.


If you get stuck – Run TechSupport.exe program installed in our main program icon group, which gathers everything from your system that we need to solve your PCL issues.  After running TechSupport.exe send us the file that is generated along with your PCL and workflow information via our Technical Support Form.

If you enjoyed this post, make sure you subscribe to my RSS feed!


Leave a Reply

You must be logged in to post a comment.