Share a Windows Printer with a Mac
This page used to reside on a SourceForge page, but I moved it here because I believed a comment trail would be useful to the community. -RH
How to Use a Printer Attached to a Windows XP Computer in Mac OS X
This document gives a detailed explanation of how to set up an HP DeskJet 722C printer that is attached to a Windows XP computer so that the printer can be used by a Mac OS X computer on a local area network (LAN). If your printer is slightly different, or you have a different version of Windows, or you’re using a different Unix than Mac OS X, or you’re sharing to another Windows computer, you’ll have to adapt these instructions with your own creativity.
Be aware that these procedures may not be necessary at all if the printer you have has Mac drivers, and other Microsoft incantations are working properly. You may be able to get off easy, but then, you probably wouldn’t be searching the Internet looking for these instructions. Your mileage may vary.
Thanks to the detailed directions at http://pnm2ppa.sourceforge.net/PPA_networking/PPA_networking-4.html which gave me most of the information I needed to make these detailed instructions.
The process falls into these five general steps:
- On Windows: Make sure you have a working printer set up on your Windows XP computer (this is not covered here).
- On Windows: Install the software needed to emulate a Postscript printer and redirect printing ports
- On Windows: Set up an emulated Postscript printer on Windows XP that will actually print to the (probably non-Postscript) printer set up in step one.
- On Windows: Set up Unix LPR Printer Services on Windows XP that will point to the emulated Postscript printer in step three that in turn points to the real printer in step one.
- On Mac OS X: Set up an LPR over IP printer in Mac OS X pointing to your Windows XP computer.
What follows are some email messages that people have sent me about some problem they overcame that I did not encounter. I’m sorry I cannot “boil down” their advice, because I no longer have a PC, but here is what they have to say.
And now, the instructions.
If you don’t have a working printer set up with your Windows XP computer, consult your Windows XP documentation or get your 10-year old neighbor to help you out.
This document proceeds assuming you have an HP DeskJet 722C printer set up and working and have named it HP DeskJet 722C. For the geeks out there, note that this is one of those “lite” printers like the “Win-Modems” that give non-Windows computers such a hard time–we’ll show them!
We need to install the following software packages on the Windows computer:
- Ghostscript (Postscript emulation software)
- GSview (Postscript viewer and print processor)
- RedMon (Printer port redirection)
Go to the Ghostscript home page (http://pages.cs.wisc.edu/~ghost/) to download Ghostscript. In February 2009, version 8.63 was available here: http://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs863/gs863w32.exe. 64-bit versions are on their website. After downloading this software, double click it and follow its instructions to install it.
GSview is also available from the Ghostscript site (http://www.cs.wisc.edu/~ghost/). In February 2009, version 4.9 was available here: http://mirror.cs.wisc.edu/pub/mirrors/ghost/ghostgum/gsv49w32.exe. 64-bit versions are on their website. After downloading this software, double click it and follow its instructions to install it.
RedMon is also available from the Ghostscript site (http://www.cs.wisc.edu/~ghost/). In February 2009, version 1.7 was available here: ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/ghostgum/redmon17.zip. After downloading this software, expand it with WinZip and run the Setup program to install it.
On your Windows XP computer, click Start and then Control Panel. Then double click on Printers and Faxes. You should see something that looks like this:
Click on Add a printer which you will find on the left side of the window. You should see the first panel of a wizard, and it will look like this:
Click Next. The next panel you see should look like this:
Select Local printer attached to this computer and make sure that Automatically detect and install my Plug and Play printer is not checked. Click Next. You should see the following panel:
Select Create a new port and select Redirected Port from the popup list. Click Next. A little dialog box should pop up that looks like this:
The port name RPT1: is a fine port name. Click OK. You should be back at the next panel of the wizard:
Select a nice Postscript printer. Since we have a color printer, we will select the Apple Color LW 12/660 PS, a fine printer. Do this and click Next. You may or may not see this:
If you do, select Keep existing driver (recommended), and click Next. Now you should see this panel:
Give your printer a name. I recommend not using spaces. We will call the printer Ghostscript722C to indicate that it is an emulated Postscript printer (using Ghostscript) that prints to an HP DeskJet 722C. You do not want to make this your default printer. Select No. Click Next. You should see this:
Select Do not share this printer. No, I haven’t lost my mind. You’re welcome to share this printer if you want so that other Windows computers can print to an emulated Postscript printer, but this won’t get you any closer to printing on Mac OS X. Click Next. You’ll see the following test page panel:
Select No. It wouldn’t work now if you did try to print. Click Next. You should see the following summary:
Click Finish. You should be back at the Printers and Faxes control panel.
Right click on Ghostscript722C and select Properties from the popup menu. You should see this:
Click on the Ports tab to take you to this panel:
With RPT1: Redirected Port Ghostscript722C selected, click Configure Port… to bring up this panel:
In the Redirect this port to the program box, enter or browse to the gsprint.exe program. Its default location is C:\Ghostgum\gsview\gsprint.exe. (It appears that more recent versions put it here: C:\Program Files\Ghostgum\gsview\gsprint.exe)
In the Arguments for this program are box, enter -printer “HP DeskJet 722C” -color -. It is essential that you precisely identify the name of the real, working printer (in this case, “HP DeskJet 722C”) and that you include the trailing hyphen that stands alone.
In the Run box, select Hidden.
The default value of 300 in the Shut down delay box should be sufficient. If you find that jobs are getting lost because it takes longer than this to begin printing your document, you may come back here and increase this value.
Go back to the General tab:
Click on Print Test Page. A test page should come out of your printer.
You have completed the third step.
Now we must set up print services for Unix. Click Start and then Control Panel. Double click on Add or Remove Programs. It should look like this:
Click on Add/Remove Windows Components to bring up this panel:
Double click Other Network File and Print Services to bring up this panel:
Select Print Services for Unix. You will probably need your Windows XP CD. If your computer came with XP installed, you might have to dig through the CD’s that came with it to find the XP disk. If this fails, and you legitimately own a copy of XP, you might consider borrowing a friend’s XP CD to install the required driver files. Click OK. To go back to the Add/Remove panel. Close it.
Open Printers and Faxes again and click on Add a printer:
Again, select Local printer attached to this computer and be sure that Automatically detect and install my Plug and Play printer is not selected. Click Next.
This time after selecting Create a new port, select LPR Port from the popup selections. Click Next to bring up this dialog box:
In the Name or address of server providing lpd box type your computer’s name. My computer’s name is tigger, so that’s what I typed. This may actually be a sore point when you get to your Mac OS X computer, so you can alternately type in the IP address of your Windows XP computer on your LAN. To get the IP address, go to Start -> Run and type cmd followed by return. When the command prompt window opens, type ipconfig followed by return; that will give you your IP address. If you use DHCP to dynamically assign an IP address, it’s time to reconsider that approach, nice as it is.
In the Name of printer or print queue on that server box type Ghostscript722C just as we named it before.
Again select the Apple Color LW 12/660 PS printer and click Next.
Select Keep existing driver (recommended) and click Next.
In the Printer name box type GhostscriptLPR (or some other name if you like). Do not make this your default printer. Click Next.
You do want to share this printer, so select Share name and type GhostscriptLPR. Click Next.
When it informs you that your printer name is too long and thus cannot be accessed from DOS computers, just click Yes, unless you need to print from networked DOS computers, in which case click No and type in a smaller name.
Type in something descriptive in the Location and Comment boxes, and click Next.
You’re welcome to print a test page to see if it works. Click Next.
You have now completed the fourth step.
We will now set up Mac OS X to print to the Ghostscript LPR printer. Open System Preferences and click on Print & Fax. You’ll see something like this:
Click the Plus (+) sign in the lower left to bring up the window for adding a new printer.
Click the IP button (looks like a sphere) and enter the relevant information like so:
Click the Add button. You have finished step five. Try printing from a Mac application to see how wonderful this is.
- Since you aren’t really printing to a LaserWriter Color 12/660 PS, you won’t be able to use all of the options that are presented to you in the Print dialog box on your Mac. Many of the options will simply have no effect. Experiment.
- Your print quality will largely be determined by the default settings you’ve given your real Windows printer. In my case I leave the default print quality on Draft, so everything I print from my Mac is in Draft mode. You may want a different behavior for your computer.