What version of PCL is my file? Convert a PCL 3 monochrome Driver to PCL 5e

287 Views Asked by At

Back in December 2019 a bug was submitted that the print from our custom legacy driver is fuzzy. The driver was developed in 2006 by a developer at our company. It is a bitmap driver that outputs PCL. The developer wrote the PCL driver and PCL To tiff converter. It still works and customers love it. Some customers report that the print is fuzzy. As a person with no driver development background, I sought help on forum. Some forum members have helped me figure out that this it is a monochrome driver and so the print is fuzzy. Some customers have also asked for a color driver. The 2 necessary functionalities are fix the fuzziness primarily and then color would be good.

Printing is also done directly from a document but the complicated workflow is the one from HP 5Si. I could totally get rid of PCL for our driver and make it XPS (which I tried) but it is not compatible with Hp 5Si workflow. I also made sure it is the PCL generated by our legacy driver not the converter. I also use Ghost PCL and output was fuzzy there too.

I hope that made some sense to you. Now after one year, I am back to working on the driver. I really thought our driver is outputting PCL3 and so the fuzziness. But if you say its PCL5, then I would need to figure out why? Its hard to find samples for PCL. Then i have the problem of figuring out converter PCLtoTiff which is in C# but still feels like greek and latin.

I would like to know what version of PCL does HP5Si output? I used a application called PclParaphernalia and this is how the commands look. It is not the complete file, just the beginning. I don't see 'Switch To HP-GL/2 command' which is weird. enter image description here

Ending enter image description here

Driver 2. The second driver is our legacy driver. I would also like to know what version of PCL it outputs.

I am just guessing it is PCL3 since it was written around 2006. How do I know what version of PCL is it outputting? Driver 1 is not in my control. If I upgrade driver 2, can I upgrade it to PCL5? What about compatibility?

Finally,

Can anyone point me to the differences in PCL commands between PCL 3 and PCL 5e? If the second driver is written in PCL 5 then great!. If not I would like to attempt to convert it to PCL5. The driver is originally a bitmap driver which outputs PCL code. Where should I start. The code is written in C, C++. Are there any sample projects I could use for PCL 5 code in C++?

EDIT: The driver starts out with this sample https://github.com/microsoft/Windows-driver-samples/tree/master/print/OEM%20Printer%20Customization%20Plug-in%20Samples/C%2B%2B/bitmap

Code got added to emit PCLRasterGraphicPage inside a file called ddihook.cpp. PC PCLRasterGraphicPage takes a SURFOBJ.

Fuzzy image enter image description here Thank you.

0

There are 0 best solutions below