I was helping out a co-worker on Tuesday with an issue of printing to a network printer from DOS; not something I need to do. I’m not sure why, but either the co-worker hadn’t searched on Google for the resolution to this issue, or just didn’t find a good answer. Anyway, Google was the first place I went to. Many of the pages I came across said the solution was to setup the printer as being shared, or setup a print spooler, or something like that; I really don’t recall, as those were not viable options. Eventually, I came across a page that simply had a comment of “pool the printers”. I wasn’t sure what that meant, so I Googled it, and lo and behold, the answer presented itself. So, without further ado, here is what I did to print from DOS, via LPT1, to a network printer using Windows XP.
Note: this, of course, will probably not work if you bypass Windows XP (i.e., booting directly into DOS).
- Open Printers and Faxes from the Start menu.
- Select the network printer you wish to configure, right-click, and select Properties.
- Select the Ports tab.
- Check Enable printer pooling.
- Now, with the initial port set for this printer (which would be something like IP_xxx.xxx.xxx.xxx if you let Windows name it), scroll all the way to the top of the port list and check LPT1 (or which ever LPT you wish to use). Scroll down and make sure the network port is still selected.
- Hit Apply and OK.
And that should be that. To test it, open the command prompt, go to C:\, and type dir > LPT1. You should hear (provided it is nearby) your printer spring to life and print out the listing of your C:\ directory.
An uspecified amount of time passes and Sean digs through his browser history.
So, I’m not sure how I got to it, but I eventually came to Bruce Sanderson’s Windows Web: Printing from DOS with Windows 2000 or XP, where the following was listed:
the printer is a Local Printer and the print device is connected to a USB or some other kind of port (e.g. a Standard TCP/IP port).
In this case, you need to either:
a. pool the port the printer is on with the LPT1 port (see Pool in Glossary) (thanks to Steven Latus for this suggestion)
or
b. create a share for the printer and map the printer to an emulated local port that DOS know about (e.g. LPT1).
As I was not sure what was meant, I then copy-pasted pool the port the printer is on with the LPT1 port into the Google search box in Firefox. The first item listed was the page mentioned above, but the fourth item was a “solution” on Experts Exchange. My first thought was that I was not going to find anything worthwhile, as typically the “solutions” they list are not really that helpful. The fourth comment listed here (oddly enough) was the solution above. The explanation is as follows:
The concept here is a printer pool is a collection of printers that are exactly the same and when printing to this type of printer the first available printer is chosen to be printed to. By performing the above steps you have created a bunch of printer pools that consist of one printer and an LPT1 port. When a job is directed to LPT1 and since there is no printer there, it will print to the “other” printer in the pool.
Makes sense, and the setup is easy enough.
Latest Comments