I recently upgraded my wife’s laptop from Windows Vista to Windows 7 Home Premium. (The laptop manufacturer sent us a free upgrade coupon since we purchased it not too long before Windows 7 was released.) This morning she discovered that she can’t print to the Canon MP830 that is shared from the G5 Mac (running Mac OS X 10.5.8) in our living room. In Vista, I had it working via Bonjour. I’ve now learned a little too late that Bonjour doesn’t work in Windows 7. (see UPDATE) I googled for a solution, but all I was able to find was a bunch of other people complaining about the same thing: printing from Windows 7 to a printer shared from Mac OS X wasn’t working as it had been in Windows XP or Vista.
Not to worry, though. After about 30 minutes of trying various solutions and just poking around in Windows 7, I found that the solution is pretty simple. The following procedure assumes you already have Printer Sharing enabled on your Mac.
I. Get your printer’s LPR Queue Name from CUPS admin
- On your Mac, open a browser and go to http://127.0.0.1:631 — the CUPS admin page.
- Click the Printers tab and look at the list of printers.
- If you’re using Snow Leopard, you’ll see a Queue Name column. Take note of the Queue Name for the printer you want to access from Windows 7. If you’re using Leopard or earlier, the Queue Name is the reddish link above a horizontal black line. (See pic below.) There are no spaces allowed in queue names, so if your printer shows up as Canon MP830 in the Print & Fax pref pane in System Preferences, the queue name will likely be Canon_MP830.
II. Enable LPR Port Monitor in Windows 7
- On your Windows 7 computer, go to your Control Panel and select the Programs item.
- Under the Programs and Features section, click Turn Windows features on or off.
- Expand the Print and Document Services item and then enable the LPR Port Monitor item.
- Click OK and wait for the change to be implemented. You should not need to reboot.
III. Add a new LPR printer
- Click the Start menu and select Devices and Printers.
- Click Add a printer in the toolbar.
- Select Add a local printer.
- Select Create a new port and then select LPR Port from the menu. Click Next.
- Type the name or IP address of your Mac in the first field and then enter the Queue Name you got in step I above in the second field. Click OK.
- The computer will attempt to verify the destination. If Printer Sharing is enabled on your Mac and you entered the info correctly, then you should not get any errors. If you see the following error, verify the settings on your Mac.
- You should now see the Install the print driver screen. Choose a postscript printer driver, regardless of the kind of printer you are connecting to. This is very important. You do not need to pick a matching driver for your device. The only consideration is whether to use a color driver or a b&w driver. (I’m using an HP Color LaserJet 3000 PS driver and it works well.) When you’ve selected a driver, click Next.
- Name your printer and click Next. The printer will now be installed.
- Select Do not share this printer and click Next.
- If you want this printer to be the default, check Set as default printer. Now click Print a test page.
Update: Bonjour Print Services for Windows
If the above method does not work for you, you should install Bonjour Print Services for Windows.