USB printer will not print from DOS

January 23, 2013 at 22:37:57
Specs: Windows 7 pro 32 bit, C2Duo, 4GB RAM,
I have shared the printer and used the NET USE command to print to it. The program accepts the printer and sends jobs to it, but they are not physically printed, they stay in the queue.
Any help would be appreciated.

See More: USB printer will not print from DOS

Report •


#1
January 23, 2013 at 23:15:02
DOS & DOS applications can't communicate with a USB printer.

For printing in DOS, you need to have a printer with a parallel port (like all printers had before USB was introduced).

You connect the printer to the computer's parallel port with a parallel printer cable.

Finding a parallel port printer is going to be a challenge in 2013.


Report •

#2
January 23, 2013 at 23:16:59
Do you mean DOS, or do you mean a Wondows command prompt? "net use" does not exist in DOS.

Report •

#3
January 23, 2013 at 23:38:09
Hi phil22,

We am currently using several usb printers to print from the same program. I share them and put the command "net use lpt1" \\printername\sharename in a batch file for the users' convenience, they can even print to deskjets.
Just this new HP Laserjet will not print, I think it does not have pcl drivers?


Ijack, sorry I did mean a command prompt, used the wrong term.


Report •

Related Solutions

#4
January 24, 2013 at 07:56:59
Usually HP printers always support PCL orders needed to print legacy DOS streams. As far as I know laser printers need a Form Feed (0Ch) character at the end of the stream to accomplish the job and eject the sheet. If PCL is not supported you get garbage but anyway you get something.

I suppose the net use command you issue is

net use LPT1: \\%computername%\shared_printer_name

the above works for me to redirect legacy parallel DOS output to a HP Officejet 6500 network printer.


Report •

#5
January 24, 2013 at 09:47:17
Hi IVO,
thanks for your reply. Once again I was too hasty with my posting - I do use \\computername\shared_printername or computer_ip_address\shared_printername

It works with most printers except some of the smaller HP laserjet printers for some reason? I don't even get garbage, the job is sent to the printer and stays in the queue, it just does not print.

It is the same with Win7 and print _to_to_file, I create a FILE printer and share it and select it as LPT#, it executes but does not physically print, job stays in the queue. No problem with XP, it would come up and ask the filename and path to save it to and it was done.
But as XP is disappearing I will have a bit of a problem in the future.....

Anyway to clarify, this is a Cobol program on a DOS platform written in 1998 and still working nicely, (though menu driven, no mouse), and within the program, according to the type of paper (pre-printed forms or plain paper), the LPT1/2/3 printing options are hard-coded.
If we select LPT1 we get a type of print, LPT3 for another, and LPT2 is for laser.

Any ideas how to resolve the problem(s)?

Thanks, Lucia


Report •

#6
January 24, 2013 at 13:43:49
You may try DOSprn (see DOSprn.com web site) , a tiny and cheap shareware tool to enable redirection of DOS streams to Win printers. You can try it before you buy, so no risk for your money. It can emulate the most popular PCL and ESC/P codes if not supported by the selected printer. I used it for an Epson Win printer that did not support DOS codes and DOSprn worked fine. Beware it needs the program uses the true DOS service calls, i.e. int 21h legacy supervisor request.

By the way you have to begin planning to install a virtual machine to run DOS inside since 32 bit Windows is closer to its end.


Report •

#7
January 24, 2013 at 20:29:52
Thank you for the tips, Ivo, I will definitely try DOSprn.
I did install a virtual machine for myself at one stage, but had a few problems with our program when using it.
I could manage to resolve them but am not sure how the average user would cope. I will start working on that again.
Your help is much appreciated.

Report •


Ask Question