Send As SMS

Friday, November 26, 2004

Printing from DOS Programs –– DOSPrint (version 2003.03.03) and PrintFile (version 2.1.5)

PrintFile
Screen Shots of PrintFile (click on the image to enlarge)

I found a recipe program that was once many years ago required to be purchased but was changed to freeware status. Even though the program is written entirely in DOS, I still liked it. Most versions of Windows still have the ability to open DOS programs. The program worked perfectly except I could not print from the program. I was able export a recipe to a file and print the file using another text program like Notepad, but it would not print using the print option directly from the program. When I looked at the printer setup in the program, I found I could select LPT1, LPT2 or LPT3 which I later discovered were called ports. I discovered my printer did not support this type of port but instead uses a USB port to connect the printer to the CPU. I performed searches on the internet to find a solution. In my searches, I discovered several forums where others reported the same problem while trying to print from legacy DOS programs but no solutions. I’ve thought about reviewing the recipe program (Meal Master) but since you can’t use a mouse with it, I decided most people may not like it. However, I do think some people may find my solution useful when printing from legacy DOS programs.

I tried PRN2FILE which is a DOS utility that redirects the printer output from the LPT port to a text file which I thought could be redirected to my USB printer. Unfortunately, I was never able to print from Meal Master to a text file with it. I decided to try something else. My searches eventually brought me to the DOSPrint web site, which said it could capture LPT1 through LPT9 directly to local LPT, USB, or TCP/IP printers. When I started using it though, I still had problems. When I selected something to print from Meal Master, the software for my printer would produce indications on my computer screen that it was printing but it would never actually print. I decided that DOSPrint must not be compatible with the software for my Canon Multipass printer. I found a solution by setting up a dummy printer that would use the print to file function available on Windows. So when I printed from Meal Master, it would save a file to a folder on my C drive. I then found another program called PrintFile that has a “spooling” function. It monitors the folder on my C drive for the file, prints it and then deletes the file. It may seem like a complicated solution but it works. I do recommend that you try DOSPrint and have it print directly to your printer first. If that doesn’t work, try my PrintFile spooling approach. I wrote a procedure on how to do this below:

1. Download DOSPrint and unzip its contents to a new folder called C:\Program Files\DOSPrint.
2. Create a shortcut with the target "C:\Program Files\DOSPrint\DOSPrintUI.exe" and name the shortcut “DOSPrint”.
3. Save the shortcut to your “Startup” menu which is most likely in the folder C:\Documents and Settings\All Users\Start Menu\Programs\Startup.
4. Determine the LPT number to which your legacy DOS program prints (or set it to LPT1).
5. Open DOSPrint by clicking on the Windows “Start” button, then “Programs” then “Startup” and then “DOSPrint”.
6. Highlight the LPT number to which your legacy DOS program prints.
7. Click on “Set” and select your printer from the list.
8. Try printing something from your legacy DOS program. If it prints, you are done. If it doesn’t, continue with the next step.
9. Add a new folder to your C drive, C:\spool
10. Add a new printer as follows:
a. Go to the Windows control panel and open the printers option. Click on “Add Printer”.
b. Click "Next" on the "Welcome to the Add Printer Wizard" dialog box.
c. Select "Local printer" and uncheck "Automatically detect and install...", click "Next".
d. Click "Create a new port", type has to be "Local Port" and click "Next".
e. Enter: C:\spool\dos.txt when prompted for port name, click "OK".
f. Select "Generic" from the "Manufacturers" and "Generic / Text Only" from "Printers", click “Next”.
g. The next dialog will prompt you for printer name and enter “DOS Printing”, select "No" to use this printer as default and click "Next".
h. In printer sharing dialog select "Do not share this printer" and click "Next".
i. Select "No" to print a test page and click "Next".
j. Click Finish.
11. Install PrintFile.
12. Set up PrintFile as shown in the screen shots above. In the “Settings” option, be sure that “Enable Spooler function” is checked. In the “Settings” option, click on “Conversion…” and ensure the option “Enable conversion of:” is unchecked.
13. Create a shortcut with the target "C:\Program Files\PrintFile\PRFILE32.EXE" /s:c:\spool\dos.txt (exactly like this with the quotes) and name the shortcut “PrintFile”.
14. Save the shortcut to your “Startup” menu.
15. Open DOSPrint.
16. Click on “Set” and then select “DOS Printing” from the list of printers.
17. Click on “OK”.

There are several settings in PrintFile that will change the appearance of your printed copies. You may want to read the help file that is downloaded with the program for assistance.


According to the documentation, DOSPrint requires Windows NT 4.0, 2000, or XP. Windows 9x is not supported. The file downloaded from DOSPrint is a compressed file, DOSPrint.zip. When unzipped, it produces 3 files DOSPrintUI.exe, DOSPrint.PDF, DOSPrint.exe that you save as identified in the directions.
The PrintFile documentation states it needs one of the following versions of Microsoft Windows, 3.1x, 95, 98, ME, NT 3.51 or later, 2000 or XP. The PrintFile download produces compressed file prf215.zip which when unzipped produces files PrFile32.exe, PrFile.exe and SETUP.EXE with some other text and help files. The download contains both 16 and 32 bit versions of the software. Double clicking on the SETUP.EXE with your file manager will result in the installation program choosing the correct executable for your operating system.

DOSPrint Home Page

Download DOSPrint

PrintFile Home Page

Download PrintFile

7 Comments:

At November 14, 2005, Anonymous said...

Hi - this took a little bit of time to make work, but finally did. The instructions for DOSPrint weren't a whole lot of help either. Thanks Rod

 
At November 14, 2005, George said...

I'm glad you were able to use my review. This review represents several months of periodic experimenting. I finally figured out the combination of these two programs. Then after a couple of months, I decided to buy a recipe program. So, I am not using Meal Master anymore which is why I went through all this. I'm glad somebody got some benefit from it.

 
At August 28, 2006, Sandy said...

George, George, George... you are the greatest! I'm in love! If I weren't already a married woman... just kidding!

Yesterday, I pulled out my antique budget program on diskette from 1994 when my husband decided that he wanted us to get control of our budget. It all worked great until I wanted to print. I was able to use the "net use" command for one printer at work (although it had crap formatting). But, for the life of me, I couldn't get it to work from home. Your hard work and detailed instructions enabled me to print a beautifully formatted document of our monthly budget. Tomorrow I will be doing this setup again on my work laptop. Thanks so much!

 
At October 22, 2006, barry.levitt@careersystemsintl.com said...

George,

I followed your instructions for DOSPrint, rebooted, and lo and behold my ancient DOS application printed -- once. And then it stopped working until I rebooted once more. Any ideas on why this happened?

 
At October 23, 2006, George said...

I suggest that you verify that both DOSPrint and PrintFile are running when you reboot (you should see an icon for each of them in your system tray if they are running). Both programs must be running for this process to work. You need to verify there is a shortcut for each program in your start-up option (Click on your Windows start button, then "All Programs" and then "Startup" to verify the shortcuts are there). If you have both shortcuts in your start-up, make sure each shortcut has the correct path to the executable.

There is a different way to get the shortcuts in your startup. It takes a little dexterity, but you can create the shortcut on your desktop and then drag the shortcut over to your Windoes Start button and hover over it, then hover over "All Programs" and then drop it into "Startup".

 
At November 01, 2006, Anonymous said...

Hi,
when I add C:\spool\dos.txt as the port name, I get "Specified port cannot be added. The port already exists". Any ideas?
Robert

 
At November 01, 2006, George said...

Robert,

I was able to repeat the same problem that you had. I attempted to add a second port when I already had a local port named “C:\spool\dos.txt” and got the error message that you describe. You probably have already added the port without realizing it. Since you already have the port, I modified the procedure a bit for you to add the printer:

a. Go to the Windows control panel and open the printer option. Click on “Add Printer”.
b. Click "Next" on the "Welcome to the Add Printer Wizard" dialog box.
c. Select "Local printer" and uncheck "Automatically detect and install...", click "Next".
d. Select "Use the following port:".
e. From the pull down list to the right of "Use the following port:", select C:\spool\dos.txt (Local Port).
f. Select "Generic" from the "Manufacturers" and "Generic / Text Only" from "Printers", click “Next”. If you get a prompt asking you about the driver, select to use the existing one.
g. The next dialog will prompt you for printer name and enter “DOS Printing”, select "No" to use this printer as default and click "Next".
h. In printer sharing dialog select "Do not share this printer" and click "Next".
i. Select "No" to print a test page and click "Next".
j. Click Finish.

I had no particular reason to use "dos.txt". It worked but there are other ways to make it work. The "printer" I had you set up above doesn't actually print anything. It actually creates a text file of what you are printing from your dos application. It saves the file to C:\spool and names the file "dos.txt". So when I set up PrintFile, I made it look for that specific file name in the folder. I suppose *.txt would work although it would then print any txt file that might get added to the C:\spool folder. Once PrintFile has printed the txt file, it gets deleted automatically. I thought using "dos.txt" might be a little safer in case a txt file gets accidentally added to the folder, so the file won't get printed and deleted unless it is actually named "dos.txt".

Let me know if you get everything working. You might also let me know of ways to improve the procedure. I which I could have made it easier.

George

 

Post a Comment

<< Home

FreeWare Ring
� 2006 WebRing Inc.
FreeWare Ring
[ Join Now | Ring Hub | Random | << Prev | Next >> ]
Search
This webring Sponsored by The Mystic Tarot
StatCounter - Free Web Tracker and Counter