Problem
When using a PostScript driver, some print jobs are slow on the LaserJet 2200, taking like 125 s from start of transmission to start of printing for a DIN A5 DHL shipping label generated by the DHL Intraship Magento extension. Others are fast as they should, like 7 s for a DIN A4 Magento invoice.
Solution
Use a HP PCL driver instead. This will result in 3-4 s print times for the aforementioned DIN A5 label. This problem should affect all operating systems, as one can configure all of them to use a PostScript driver for printing to this printer. However, it will rarely affect Windows, as most users will use the manufacturer supplied driver there.
To use a PCL driver in Linux, choose the hpijs driver (named "HP LaserJet 2200 Series hpijs, 3.11.7" in the driver database). Be sure to change "Printer Options: Printout Mode: Normal" to "High Quality" in the printer default properties, accessible from the printer management system tool. Otherwise, the rendering quality will be visibly bad. Even with the "High Quality" setting, this driver will only print with 600 dpi, while the Postscript driver will print with 1200. But that difference is hardly ever noticeable without a magnifying glass.
An alternative is to use the gutenprint-ijs driver (named "Generic PCL 6 PCL XL LF Printer Foomatic/gutenprint-ijs.5.2" in the driver database). Likewise, set it to "Printer Options: Printout Mode: High Quality" in the printer default properties or it will even have a worse, "fringy" rendering quality than the hpijs driver. It also gives 3-4 s print times for the DHL Intraship labels, but also only achieves 600 dpi.
To use a PCL driver on Mac OS X, use the "Generic PCL" printer driver, not the "HP Laserjet 2200" one.
Discussion
This printer understands PostScript Level 2, but only as an emulation. This probably makes processing slow for some elements, maybe the barcodes on shipping labels. Talking to the printer in its native PCL6 language fixes this. Currently, there seems to be no way to enable the full 1200 dpi using a PCL driver. The problem is also reported on the driver's support page.
Proposals that might help but have not been tried:
- Printing as image with GIMP. GIMP can open a PDF (specify 1200 dpi resolution on open) and will print it as image. Images print fast on the PS driver, seemingly not triggering any of the slow emulated Postscript commands. By creating a pre-rendered image in 1200 dpi black and white, one might even get the best from both worlds: high resolution and fast printing. And even with the rastering or dithering algorithm of own choice. I did not test the speed with 1200 dpi full page though, it might still be slow due to the raw amount of data to transfer. To set this up in GIMP, go to "File -> Print with Gutenprint … -> Setup Printer", choose the "Adobe -> PostScript Level 2" driver and select this PPD file [found here], after downloading to your disk of course. You can choose the rendering style in "Output -> Adjust Output …". 1200 dpi is available with this PPD file. (Note that it does not help to choose any of the "HP LaserJet 2200 driver" or "Generic PCL 6 PCL XL LF Printer" driver in this GIMP dialog, as these are 600 dpi only, and in fact the sources of the hpijs and gutenprint-ijs drivers referenced above).
- Pre-processing the PDF. You could use a command like ps2ps. This might convert the Postscript elements to others that take less effort to render.
- Adding more memory to the printer. Because maybe the "difficult" Postscript elements just need more memory, not more processing power. And when lacking the proper amount of physical memory, this printer will will automatically compress memory content to be able to process the document [source: HP Manual for this printer]. And this processing will make it take more time, probably.
Proposals that did not help:
- Printing as image in Adobe Reader. This problem could not be fixed by choosing "print as image" in the Adobe Reader options. This works, but is even slower than the 125 s print time for a DHL shipping label.
- Postscript Level 3. This problem could not be fixed by sending Postscript Level 3 instead (the LaserJet 2200 only understands level 2, it will not even blink for transmission, and the print job is discarded after a time).
- Lowering the Postscript driver's resolution. This problem could also not be fixed by using a Postscript Level 2 driver and adapting the settings from "Resolution: FastRes 1200" to "600 dpi" and from "Resolution Enhancement: Printer's Current Setting" to "Off". Print time was exactly the same 125 s for the DHL shipping label, and print quality was even with magnification hardly any different from the original printouts. Maybe only the "Resolution Enhancement" was disabled, while the "Resolution" setting does not work at all?
- Changing the printer memory setting. This problem could not be solved by setting the "Total Printer Memory" parameter from "8-15 MB" to "16-23 MB". (The printer had 16 MB and the idea was, maybe only 8 MB get used with that current setting, as the computer probably cannot determine how much is in the printer.) However, this did not improve printing speed by any means. Print time was exactly the same 125 s for the DHL shipping label.
Leave a Reply