Printing from a Mac to a Windows printer
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 a 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).
The process falls into these five general steps:
- Make sure you have a working printer set up on your Windows XP computer (this is not covered here).
- Install the software needed to emulate a Postscript printer and redirect printing ports
- Set up an emulated Postscript printer on Windows XP that will actually print to the (probably non-Postscript) printer set up in step one.
- 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.
- Set up an LPR over IP printer in Mac OS X pointing to your Windows XP computer.
Step 1: A Working Printer
This document proceeds assuming you have a printer set up and working via your windows computer.
Step 2: Postscript and Redirection Software
We need to install the following software packages:
- Ghostscript (Postscript emulation software)
- GSview (Postscript viewer and print processor)
- RedMon (Printer port redirection)
Step 3: Emulated Postscript Printer
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. Do not use 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:Ghostgumgsviewgsprint.exe. (It appears that more recent versions put it here: C:Program FilesGhostgumgsviewgsprint.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. You may need to add the options "-copies 1" in there somewhere. If you're having troubles getting your printer to work, try adding that.
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.
Click OK.
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.
Step 4: Unix Print Services
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. The two .DLLs in the zip file are the ones extracted from the CD. Click OK. To go back to the Add/Remove panel. Close it.
You need to enable the service in the Services section of the Administrative Tools control panel.
Open Control Panels, then open Administrative Tools. That's like opening a whole new set of control panels. Then open Services. Click on the Extended tab. Find the service TCP/IP Print Server and set it to start automatically.
Open Printers and Faxes again and click on Add a printer:
Click Next.
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:
or
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. 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.
Click OK.
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.
Some Windows settings, possibly default settings for Windows XP Service Pack 2, do not prompt you to share the printer by default. If this is the case, click Next or Finish until you're done. In the Printers and Faxes window, right-click on the GhostscriptLPR printer and select Sharing. Microsoft provides a reasonable wizard to walk you through setting up sharing on your network. You'll have to restart your XP machine, but before you do, you can select "Share this printer" and name it "GhostscriptLPR."
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.
Instructions on workign with Windows XP SP2 firewall.
Step 1)
Open the Control Panel and double click on the Windows Firewall icon.
Step 2)
Click on the Exceptions tab.
Step 3)
Click on the Add Port> button.
In the Name field, enter "LPD daemon".
In the Port number field, enter "515".
Make sure TCP is selected.
Step 4)
Click on the "Change scope" button in the lower left hand corner.
Select the middle choice, "My network (subnet) only".
Close all the windows.
You have now completed the fourth step.
Step 5: Print Center on Mac OS X
We will now set up Mac OS X to print to the Ghostscript LPR printer. Open the Printer Center application by opening the Applications folder and then the Utilities folder.
When you open Print Center you should see this window:
Click Add Printeru2026.
In the LPR Printer's Address box type the name of your Windows XP computer, if your Mac is set up to recognize it by name, or the IP address (192.168.0.110 in our example).
Unselect the Use Default Queue on Server checkbox and type GhostscriptLPR in the Queue Name box.
Select LaserWriter Color 12_660 PS from the Printer Model popup list.
Click Add.
You have finished step five. Try printing from a Mac application.
Other Notes
- 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.

