Tested on Mac OS X Leopard 10.5.1 Also works with DeskJet 710C, DeskJet 712C, DeskJet 720C, DeskJet 722C, DeskJet 1000Cse, DeskJet 1000Cxi

Update: After using the 820 drivers on my Mac for a week, I found that some documents do not print at all. For this reason, I am now using the method described here to set up a Postscript converter on a Windows computer I have. Now on the Mac I have a printer set up as a HP Color LaserJet 4550 PS, which sends a postscript document to the windows box. The Windows machine receives it, converts it using Ghostscript, and then prints to the 820Cxi.

I've been trying for weeks to get my Mac to print to an old HP DeskJet 820Cxi that is attached to a Windows box in the next room and today I was successful. Turns out the 820 series uses a protocol called PPA (Printer Performance Architecture), which is proprietary to Hewlett-Packard. I've confirmed that this method also works when the printer is attached to a JetDirect 300X print server.

  1. Download and install pnm2ppa and espgs (GhostScript). Update: If you are running Mac OS X Lion, the Ghostscript package may not work.  The reason is that in Lion, Mac removed the ability to run PowerPC binaries (Apple called this technology Rosetta)

  2. Download this ppd file, which tells Mac OS X how to print to the 820.

  3. Open the Printer Setup Utility (look in Applications->Utilities folder or in System Preferences) and Add a printer. If attached to the network, enter the info to connect to it. When asked for the printer model (Print Using:), select Other, then find the ppd file you downloaded in step 3. If Mac OS X complains about not being able to find programs, then you'll have to put the full paths to the programs in the ppd.

    1. Open the ppd file and find the line that starts "*FoomaticRIPCommandLine: "gs -q -dNOPAUSE ...." and change it to "*FoomaticRIPCommandLine: "/usr/local/bin/gs -q -dNOPAUSE ...."

    2. On the same line, you'll see "pnm2ppa" which should be changed to the full path also: "/usr/local/bin/pnm2ppa%C%B -v 820 -i - -o -" (the -v 820 tells pnm2ppa the model of the printer)

  4. That's it!

For more info: Linux Foundation