This procedure explains how to set up a Windows XP PC to share
almost any kind of printer on a network, and make it appear as a
generic PostScript printer that can be used by almost any
operating system or software package. This design makes only one
assumption about the printer that is being shared - that it is able
to correctly render Windows graphics. So long as this is true, the
target printer could be almost anything, including proprietary
Windows-only printers, which are notoriously network-unfriendly. I
have tested this design with a couple of different kinds of
printers (including an old IBM dot-matrix line printer) and found
it to be effective, but your mileage may vary.
You should know up front that this solution is fairly complicated.
If anything goes wrong, you may require some advanced knowledge
of Windows and networking in order to get it working. Also, before
you attempt this, you should verify that you have Service Pack 1
for WindowsXP installed (look here
for more information).
If you find any errors in this procedure, or can verify other
problems (or even success), please let me know by e-mail at
"heretrythis at comcast dot net".
1. Get the printer working correctly on your
print server. In this case, the print server is the PC
that is directly connected to the printer. Hook up the cables,
install the drivers, and test printing from different applications.
The rest of this procedure depends on Windows print functions
working normally for this printer, so be sure that everything is
straight here before you continue with the rest of the procedure.
2. Download Ghostscript for WinXP.
Try
here for version 8.14. Ghostscript is the PostScript
engine that makes all of this work.
3. Download GSView for WinXP.
This may be included in your Ghostscript installation. If not,
look
here. GSview makes a nice front-end for Ghostscript,
and provides a great little tool called GSprint that
simplifies the PostScript-to-Windows-GDI interface.
4. Download RedMon for WinXP.
Try
here.
This tool gives Windows guys access to the data stream
of a print job, just as Unix guys have always had.
5. Install Ghostscript and GSview.
Do yourself a favor and use the default installation
paths.
6. Fire up GSview, and open one of the
example files that come with Ghostscript (for example,
"tiger.eps"). You should be able to view the file
without any errors. Also, be sure to try printing the file to
your target printer. This too should happen without any errors.
7. Set up and test the GSprint utility.
Open a DOS window, and CD into the directory where
GSview is installed. Make sure that the file "gsprint.exe" is
located here. Type "notepad gsprint.cfg", and create a file
that looks like this:
-noquery
-color    
(optional - omit for B&W printers)
-printer
My Windows Printer
-ghostscript
"C:\GS\GS8.14\BIN\GSWIN32C.EXE"
...where "My Windows Printer" is the name of your printer
EXACTLY as it appears in Control Panel... Printers, and
"C:\GS\GS8.14\BIN\GSWIN32C.EXE" is the exact path and
filename of the command-line executable for Ghostscript (your
values for these two may be different - enter the correct
values for your PC). Save this file, then run the following
command:
gsprint somepsfile.ps
...where "somepsfile.ps" is the filename of the PostScript file
that you want to print. After a brief pause, that file should
print without any errors or dialog boxes. If you have any
trouble at this point, check
here for some possible
solutions.
8. Create and test a new printer.
This should use a standard PostScript driver, such
as the one for the "Apple LaserWriter II NT". For now, set
the driver to print to a file. Do not share the printer yet.
Print a test page to this printer. You will be prompted for
a place to store the output file - verify that this file
gets created, and that the size is not zero bytes.
9. Install RedMon.
Extract the RedMon files from the ZIP file that you
downloaded, and run "setup.exe".
10. Create a RedMon re-directed port
for your PS printer. View the Properties of the
PostScript printer you created above, click "Add Port" on
the "Details" tab, and select "Redirected port". Specify a
reasonable port name (like "RDR1:") and click "OK". Click
"Configure Port", and enter the following settings:
Redirect to program:
C:\GS\GSVIEW\GSPRINT.EXE
Arguments for program:
-    
(a single dash, no spaces)
Output:
Program handles output
Run as user:
[     ]    
(unchecked)
Use the correct path to GSprint on your PC. Click "Log file",
enable debug mode, and specify a filename to use for the log.
Save your port settings. When you return to the "Details" tab
of the PS printer, set "Port" to the RedMon redirected port
you just created.
11. Print something to the PostScript
printer. You may see a DOS window pop up and
run GSprint. Your document should now begin printing. You
should not get any dialog boxes or error messages. If you
have any trouble, check
here for some troubleshooting
help. If you were able to print correctly, relax - you're
almost done!
12. Share your PostScript printer.
Be sure to use a short share name, like
"PSEMU". Set permissions on the share to grant "Full
Control" to the group "Everyone".
13. Add a new printer to a client
PC. Add this as a network printer, pointed to
the UNC name of the share that you created above (for
example, "\\MYSERVER\PSEMU"). Select a PostScript driver
for the new printer, such as the "Apple LaserWriter II NT"
driver.
14. Test. Whenever
another PC prints to the share, RedMon will call GSprint
directly, sending your job through Ghostscript and on to
your printer. If you are having trouble printing from your
client PC, but you were able to print successfully in
Step 11 above, you may want to look
here to learn about
a problem running RedMon on early versions of XP.
Advanced Variation: Instead of using
NetBIOS networking to map to the printer, you can also share and
access it using LPD (look here
for more info).
DISCLAIMER: I (obviously) do not
work for Hewlett Packard, so my comments and suggestions
here should not be construed as any kind of official
advice. Any mention of a company or product on this site
does not imply that this information is supported or
sanctioned by that company or the product's manufacturer
in any way. All tradenames are (probably) copyrighted by
their respective owners. The information offerred here
is provided without any warranty, implied or otherwise.
Use this information at your own risk.