HereTryThis

PostScript Emulation for Network Printing

Overview

PostScript Emulation - WinXP Procedure



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.