Knowledgebase
Knowledgebase: PaperCut > Debugging
Troubleshooting PDL Transforms
Last modified on 14 August 2020 05:21 PM

PDL transforms is an advanced feature of PaperCut NG/MF, so please read this section in the manual to understand how transforms work and how to write a transform.

IMPORTANT NOTE
PDL Transforms are designed the provide enhanced functionality, supportability and compatibility between two different drivers used in a single print process - E.g. A source print queue with a certain driver, and an output print queue with a different driver. Therefore when the source queue and the output queue have the same driver, any Transforms that have been written will not be used! The process is not called at all. So please ensure that PDL Transforms are only used in environments where the source print queue and the output print queue use different drivers.

To troubleshoot any PDL transform problem, please follow the steps listed below:

1. Open the file [app-path]/providers/print/[platform]/print-provider.conf in a text editor.

2. Set debug=on and EnableTransformTestMode=on in print-provider.conf file.

3. Restart the Print Provider service.

Once the transform test mode is enabled, a .log, .before, and .after file are created each time a spool file is transformed by print queue redirection. They are created under [app-path]/providers/print/[platform]/transforms/logs.

Note: This is an advanced option so remember to turn it off when you are done.

These 3 files will have names based on the spool file name. For example: On Windows C:\Windows\system32\spool\PRINTERS\00259.SPL would have 3 corresponding files 259.log, 259.before and 259.after.

Common Problems

No .log, .before or .after files.

Do your print queues have different drivers? If the drivers in your source print queue and output print queue are the same, then PDL Transforms will not work.

Check that transforms are supported.

We added support for PDL Transforms in PaperCut version 14.3. See the release history here.

Check that transform test mode is enabled

Search the print-provider.log file for the phrase ‘TRANSFORM LOGGING IS ENABLED’. That phrase should appear for every print job when EnableTransformTestMode=on in the print-provider.conf file.
If you cannot find the ‘TRANSFORM LOGGING IS ENABLED’ message for your print job, then check the print-provider.conf file to verify that it has debug=on and EnableTransformTestMode=on, and restart the Print Provider service again.

Check that PaperCut is finding and applying your transform

Search backward from end of the print-provider.log file for the phrase ‘TRANSFORM LOGGING: WORK TO DO?’
If the Transform is found you will see a message similar to TRANSFORM LOGGING: WORK TO DO? language=‘PostScript’,printer_name=‘sharedprinter’,printer_type=‘PaperCut Global PostScript’,target_printer_name=‘HP Color LaserJet’,target_printer_type=‘HP Color LaserJet PS’,has_work=1
If has_work=0 then either the drivers on your source and output queues are the same, or there was no transform file under the transforms/system or transforms/custom directories that matched the printer language / printer type and target printer name / target printer type.
Check the article section “Matching rules for running a transform script” to see why your transform is not being selected. If you cannot see why then please contact support.
If you see a log message ‘TRANSFORM LOGGING: No transform selected’ (which has the same fields as ‘TRANSFORM LOGGING: WORK TO DO?’) then take the same steps as for has_work=0 detailed above.

Redirected print job is not printing or is printing incorrectly.

Find the .log, .before and .after files for the print job.
If the .log file reports an error then try to fix it in your .transform file or contact support if you cannot. Try printing again after you have made your corrections.
If no errors are reported in the .log file then you are probably transforming the file in the wrong way. Compare the .before and .after files and try to identify the problem.
It is usually a good test to print directly to the printer that is being redirected to, save the spool file and compare it to the .after file. Transforms attempt to emulate direct printing so these files should match for printer language syntax and for the options being selected.

If you cannot tell why your transform did not work then contact support with the .transform, .log, .before and .after files, debug logs, and full a description of the problem.