How to fix slow printing of a HP LaserJet 2200?

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.

Posted

in

,

by

Tags:

Comments

10 responses to “How to fix slow printing of a HP LaserJet 2200?”

  1. Chris

    Thank you.

    This was of great help to me.

  2. bob

    Wow.

    Using HP LJ 2200dn CUPS, on ubuntu.

    Went from minutes to print 20 pages duplex, 4-up to <30 seconds.

    Much obliged for posting this.

  3. Johan

    Thank you very much. This problem already existed for a long time. Now it seams very likely associated with Qr- and barcodes.
    The system is OpenSUSE 12.3 and the driver is now “HP LaserJet 2200 Series hpijs pcl3 3.11.10”
    Thanks again.
    Johan.

  4. herb

    Thank you very much, now i don’t need to become insane anymore…

  5. Andrew

    Switch to PCL5 versus PCL6. Much faster for large raster images (scans to PDF, DJVU, etc).

  6. andiz

    I was very unsatisfied with the speed of the Laserjet 2200 Foomatic/Postscript driver and the low printing quality of the Laserjet 2200 Series hpijs-driver (true 600dpi-limitation).
    After testing all available drivers (as well with a DHL-label) I finally came to the conclusion that the the Laserjet 2200 Foomatic/pxlmono driver offers the best quality (1200*1200dpi) and speed.

    An alternative seems to be the Canon LPB-1000 Foomatic/hpijs-pcl5e driver , with a quality nearly comparable to the pxlmono-driver. Although 600dpi-limited in the driver settings, resolution seems to be 1200dpi.

    I hope this helps. Best regards….

  7. huehnerhose

    I can confirm your MacOS suggestion. I switched to the generic HP PCL Driver and can now print more than 10 pages a day 🙂

    Thanks!

  8. Just tried andiz’ tip from the comment above, and can confirm that solution: Use the “Laserjet 2200 Foomatic/pxlmono” driver, it’s both fast and 1200×1200 dpi. Thanks for sharing!

  9. Sascha

    Have been dealing with printer troubles for my old (but still working like a charm) HP LJ 2200 from my work laptop (new MacBook) for over a year now. Either taking ages to print or even would error out after more than a minute if it was more complex than just a bit of text. Most of the times I would just have used my private (Windows) computer to print more complex documents which worked fine as a workaround.

    Finally did another attempt to get printing working on the Mac and came across this hint here. Removed the old/messed up printer installation by selecting “reset printing system” in the MacOS settings, then re-added the network printer using the Generic PCL driver. Works fine now and prints within seconds. Thanks so much, even after 10 years, some hints are still useful. 🙂

  10. @Sascha: Thank you for letting me know that the article helped you out. Nice surprise that a 10 year old article can still do some good! And yes, we also still keep our Laserjet 2200 around … there’s just nothing wrong with it so far.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.