Continuing on my previous post I was troubleshooting some issues with some Zebra label printers. I thought I had it working by switching the rendering path to XPS. This did allow the printers to print – or so I thought. It turns out that some of the older Zebra printers we had (LP-2824) were not printing the labels correctly, a newer LP-2824 PLUS was printing correctly. The LP-2824’s were scaling the labels down to 20% for some reason.
In order to capture this so I wasn’t wasting legions of paper, you need to turn on ‘Keep printed documents’ in the ‘Advanced’ tab of your printer.
On your print server (not the client), this option will store the spooler files (SPL) here:
Generally, there are two types of formats encapsulated in a SPL file, RAW and EMF. Citrix provides a EMF reader in ‘cpviewer.exe’. This utility is located in Program Files (x86) and is used like this:
“C:\Program Files (x86)\Citrix\ICA Client\cpviewer.exe” C:\00167.SPL
This will bring up a preview.
I setup two scenarios for printing.
Scenario 1 – Printing directly to the print queue with the “ZDesigner LP 2824” driver
Scenario 2 – Printing through the Citrix Universal Print Driver via UPS.
Trying both scenarios caused my cpviewer.exe to hang/freeze. This is where I learned the cpviewer utility ONLY works with EMF-type SPL files. Trying to read a RAW file will cause it to hang. I was able to verify it was RAW by looking at the preferences for the print driver:
|Left print is direct to the printer, on the right is through Citrix UPD. I’m missing the barcode on the right.|