Getting an HP Color LaserJet CP1215 working on a Mac

Color Management

11/30/2010: As of now, I no longer have the CP1215 and cannot do any further testing or troubleshooting beyond what is on this post and in the comments. The process works for most people, and should continue to do so into the future, at least for Tiger, Leopard and Snow Leopard. I can’t make any promises about Lion next year.

07/19/2010: On the advice of a commenter, added an additional keystroke to the $PATH section for Mac OS 10.4.x that solves the mystery of why some were getting “Ghostscript not installed” errors even after following the instructions.

12/31/2009: Added a section on uninstalling the drivers.

11/23/2009: Added a section detailing how to get around some errors people have been encountering during the process.

09/27/2009: After numerous reports of no printing, I tracked the problem to the new version of the drivers. Updated link to old version until compatibility can be worked out. Added boldface to the code bits to help differentiate them better, and added a donation button for fun and profit.

09/21/2009: Changed some information about downloading XCode, depending on your OS version.

09/07/2009: I received Snow Leopard, and the printer works fine after upgrading. Once I finish downloading XCode for Snow Leopard, I’ll redo the installation process and see if anything has changed.

02/11/2009: A new version of one of the software installs used here causes some printing problems, so I’ve updated to link to the last working version. I’ve also enabled comment RSS, so you can subscribe if you have a question instead of having to check back here to see if I’ve answered.

02/01/2009: I’ve added another section on getting better color management from the printer. This is by far the most popular post I’ve ever made, garnering several thousand hits in the past month, so HP really messed up with this one!
End updates

When I moved to Alaska, I bought a bunch of technology equipment for my little home office: an iMac, an Epson scanner, and a little HP Color Laserjet CP1215. I eagerly unpacked it all and set it up after FedEx and UPS delivered everything to my door. I was particularly excited to have my own color laser printer, especially having found a great deal on it from HP. Imagine my dismay when, upon trying to add it to Mac OS X, I could not find any sort of driver for it on my computer. The printer install CD was only for Windows computers. HP’s website only listed Windows driver downloads.

Having spent the last 10+ years of my life working almost exclusively with HP LaserJets and Macs, I was surprised to find that this particular printer was not and would not ever be compatible with a Mac, according to HP. I apparently overlooked that little tidbit of information in the 3 days I spent researching it vs. the other cheap inexpensive color printers out there, assuming HP would have to be crazy to release a laser printer without Mac compatibility.

Much cursing ensued.

Since then, I’ve been saving everything I want to print as a PDF, opening Windows XP in a Parallels VM, and printing from there. It’s a hassle, and today I reached a breaking point. I created a nifty little business flyer in Pages (I’ll post it later), and the resulting PDF looked totally different than my original design! I needed to print directly from Pages, so I decided to see what Google would bring me. The news was good, if complicated. I’ll post my steps here, with links, for the betterment of humanity.

How to do it:
Note: I’ve only tested this on OS X 10.5 and 10.6 (Leopard and Snow Leopard), so I can’t guarantee this will work if you are on a different version of OS X.

You’ll be installing some Unix-based software, so say hello to the command line!

  1. Install Apple’s Developer Tools, if you haven’t already. It’s a free download (about 1GB!), but you’ll have to create an account on the Apple Developer site to get to it. Once you have your account and are logged in, go to Downloads, then Developer Tools, then click on whatever version of XCode Developer Tools (disk image) they list for your OS. For Snow Leopard (10.6.x), 3.2 is the latest; Leopard (10.5.x), 3.1.4 is the latest; and for Tiger (10.4.x), 2.5 is what you want. If you already have an ADC account and are running Snow Leopard, you can go straight to the XCode download site.

    After it downloads, it will open up and you’ll have to double-click the XCode Tools package installer to start the process. No restart is required.

  2. Download GhostScript, just click on the latest version I’ve updated this to link to a specific working version, 8.63. The 8.64 version disables color printing for some reason. I’ll file a bug report and update this when it’s fixed. It’s okay to use the linked version.
  3. Download foomatic-filters.
  4. Download foo2hp. The download link is a little ways down the page, and the downloaded file is actually called foo2zjs. I’ve updated the link to point to the last working version of the drivers, until I can work out some issues with the latest version.
  5. Compile the software you just downloaded. To do so, open Terminal in your /Applications/Utilities folder
  6. Navigate to wherever your downloads are stored. In 10.4 it’s usually on the Desktop (unless you’ve changed it), and in 10.5 it’s usually in the Downloads folder. Just type:
    cd Desktop or cd Downloads and hit Enter.
  7. The bits of software you downloaded should have automatically unarchived, so you should be able to go directly into their folders:
    cd ghostscript (after typing a few characters of the folder name, you can hit the Tab key and it will fill in the rest of the folder name)
    • If your computer didn’t automatically unarchive the downloads, type tar -zxf nameofdownloadedfile.tar.gz to unarchive them (replace nameofdownloadedfile.tar.gz with the names of the actual files you downloaded).
  8. Next, type: ./configure and hit enter. A lot of text will scroll by. It will eventually stop and hopefully there won’t be any errors.
  9. When you can type again, type in make and hit enter. More text, hopefully no errors.
  10. Finally, type sudo make install and hit enter. It will ask for your password. Enter it. If you don’t have a password set on your account, and you’re running Mac OS X 10.5, you’ll need to set a password in System Preferences: Accounts before this will work.
  11. Now we have to do almost the same for the next piece of the puzzle, the foomatic-filters. Type cd .. to go back one folder, then cd foomatic-filters-3.0.2 into the foomatic-filters folder.
    • Note: if you have trouble getting Terminal to get the full folder name after hitting Tab, that’s due to having two items that start with similar letters (eg. the downloaded file “foomatic-filters-3.0-current.tar” and the unarchived folder “foomatic-filters-3.0.2”).

      There are many ways to solve this. You can delete the downloaded tar.gz files after you’re sure the folders have been unarchived, you can type out more of the folder name until it is differentiated from the tar.gz file, or as Roger notes in the comments, you can type cd in the Terminal, then drag the folder icon to the Terminal window and it will fill in the correct path.

  12. Repeat the “./configure,” “make,” and “sudo make install” steps from before, hopefully receiving no errors!
  13. Now, navigate into the foo2zjs folder (cd .. then cd foo2zjs)
  14. This time, you start by typing make.
    • Note: Some people have reported receiving an error about ghostscript not being installed during this step. If this happens to you, please skip down to the Adding To Your $PATH section, then return here when you’ve completed those steps.
  15. Next, you’ll need to download the actual drivers for your printer. Since I have a 1215, I typed ./getweb 1215 and it downloaded the drivers.
  16. sudo make install one last time, and you’re almost ready to go.
  17. Restart your printer software with sudo make cups. An alternative to this is to just restart your computer.
  18. Open up your Printer Utility (10.4) or Print and Fax PreferencePane (10.5), and add the printer. OS X will see the 1215 attached via USB, and after searching for drivers, will find the foo2hp for 1215 driver!

Color Management

Now, to get better colors on your prints, you’ll have to change around the color profile for the printer. To do this, print something and in the print dialog box that opens, select “Printer Features” from the third drop-down menu (you may need to click the blue arrow button beside the printer drop-down menu). Here’s what it will look like (click to enlarge):
Printer Dialog 1

This is where you can set whether to print in color or black and white, what sort of paper to use, etc. Click on the menu named “Feature Sets,” and select “Adjustments.” This is where you can change how the printer decides how to print colors. These .icm files all contain color management instructions for the printer, and most of them don’t work very well. It was pointed out in the comments that the ones that aren’t specifically labeled for the CP1215 actually work the best, which makes this even more awesome.

I found that the .icm file named “HP 1600/2600 – hpclj2600n-0.icm” gave me smoother gradients in the test photo, but the file named “HP 1600/2600 – ICCFactory1 (default) gave me more vivid colors. If only we could combine their powers and make a super .icm file! Anyway, select the one you want to use.
Printer Dialog 2

After you’ve set everything the way you want, you can save it as a preset, so you don’t have to go through and set it all again the next time you print. Just click on the second drop-down menu that probably says “Standard,” and Save As…
Printer Dialog 3

You can make a preset for each type of paper, color option, etc. so life will be even easier after all this hard work.
Printer Dialog 4

Finally, if you’re keen to get a custom color profile made specifically for your printer (even printers of the same production model will have slight variations in printing), you can buy a custom profile from this ebay vendor: fotojimbo’s Custom ICC Profiles.

In my short bit of testing, I have found a couple of caveats:

  • To print in color, you’ll need to set it to color in the print dialog box, under “Printer Features” in the drop-down menu.
  • In “Printer Features,” setting the Bits Per Plane to “2” will waste a lot of toner
  • Setting the paper type to HP Photo Paper and using HP Photo Paper is a disaster. All three of my test prints didn’t turn out: some of the toner didn’t get correctly applied, and spilled everywhere. I’ll still have to use Windows to print photos.
  • Color matching isn’t the greatest, I’ve had some trouble getting dark blues to turn out dark. But, it’s better than not being able to print from OS X at all.
  • See, Macs are simple!

    If you found this helpful, please consider encouraging me with a donation or even better, buy a photograph (everybody wins!).

    Adding To Your $PATH

    This section is specifically for people experiencing an error saying ghostscript isn’t installed during Step 14. Ghostscript is actually installed, but Terminal is dumb and can’t see where it is. Let’s correct that!

    • Mac OS X 10.5/10.6
      1. In the Terminal, type cd /etc/paths.d
      2. Type sudo pico local and enter your password.
      3. You’ll be given a mostly empty window where you can type. This is the pico text editor, one of the simplest command line text editors. Type /usr/local/bin and do not hit Enter or any other extra keys.
      4. Press and hold the Control key on the keyboard. While holding the Control key, press the ‘X’ key and then let go of both keys. Pico will ask you something like “Save modified buffer?” That’s nerd-speak for “Do you want to save your file?” Press the ‘Y’ key to save.
      5. Restart your computer
      6. Return to Step 14 and try again. Be sure you navigate back into the foo2zjs folder with the Terminal first!
    • Mac OS X 10.4
      1. In the Terminal, type cd (this puts the command line back in your home directory)
      2. Type pico .profile
      3. More than likely, you’ll be given a mostly blank window. If not, hit the Enter key once to make some space, then the Up arrow key to put the cursor in the space you just made.
      4. Type export PATH=/usr/local/bin:$PATH and do not hit Enter or any other extra keys.
      5. Press and hold the Control key on the keyboard. While holding the Control key, press the ‘X’ key and then let go of both keys. Pico will ask you something like “Save modified buffer?” That’s nerd-speak for “Do you want to save your file?” Press the ‘Y’ key and then the ‘Enter’ key to save.
      6. Restart your computer
      7. Return to Step 14 and try again. Be sure you navigate back into the foo2zjs folder with the Terminal first!


    If you need to delete the drivers, please copy and paste the following command in the Terminal:

    sudo rm -r /usr/local/bin/gs /usr/local/bin/foo* /usr/local/etc/foomatic /usr/local/share/ghostscript /usr/local/man/man1/foomatic* /usr/bin/foo2* /usr/share/foo2* /usr/libexec/cups/filter/foomatic*

7 Random Things

I was tagged by T at Return to Rural for this little meme, where I post 7 weird/random facts about myself that most people may not know.

1. I find it hard to concentrate when there is any exterior noise. For instance, I started this post 8 hours ago, but postponed it until now because Skippy was in the other room talking on the phone. Now everyone else is asleep, so I can concentrate on writing. Exception: reading. I can read through just about anything.

2. I often feel that I could be better at whatever I’m doing, but my laziness/procrastination/etc. self-destructs my attempts to improve myself. I am working on changing this.

3. I am a wannabe science nerd. Since I can remember, I’ve been fascinated by biology, space, physics, chemistry…everything. Since I can remember, I’ve also been struggling with the effects of #2 up there, so I’ve never gotten very far with science. I started my college career as biology major, but wasn’t in the mindset for more school at that point, and missed an opportunity to go farther (other paths presented themselves, and here I am, so I’m not mad). On Monday, I’m restarting my science education in earnest, as part of my 10 year plan.

4. Using Microsoft Windows causes me acute, physical pain in my brainal area. It is sort of alleviated by being paid to get it working for other people, but primary, daily use is not going to happen.

5. I bite my fingernails, but if I didn’t tell you, you’d never know just by looking at them.

6. I still occasionally entertain the idea that I could have been a pretty good professional baseball player, if I had adjusted my priorities appropriately in high school. See #2. Of course, my knees tell me a different story these days. Mostly: creak creak crunch OW!

7. Sitting in front of a computer all day has rarely given me a sense of accomplishment, yet it’s where I spend a large portion of time. Sometimes I’m working on a project, like a website or a set of photos or a video, but more often I’m just “looking at stuff” with no coherent goals, or playing video games…usually avoiding some sort of work online (like getting around to doing this list, or finishing up my photography site so people can just download my photos already and pay $ if they want signed prints!) or avoiding some sort of work in meatspace (like cleaning the cat box or doing all those dishes). Part of fixing the problem of #2 and succeeding with #3 will be getting better control over my unpaid, undirected time on the ol’ iMac. Less time slouching slack-jawed while following Wikipedia trails or shooting the Combine, more time on focused learning and/or monetarily beneficial tasks. Slack-jawed slouching has its place, but it doesn’t need to take up as much space as it has been.

Now I’m supposed to tag 7 other blogs, but Skippy already got the ones I read, so..uh…who she said!