When a DOS application prints. it is spooled.
Windows NT determines that the DOS job is done by determining that there is no more activity on the port, after a default timeout of 15 seconds.
If your print job is very complex or your computer is busy or slow, the timeout may expire with no port activity being sensed. This causes the job to be split incorrectly.
To work around this problem, use Regedt32 to navigate to:
The LPT_timeout value name in the right hand pane is a string value (type REG_SZ) which defaults to 15 seconds. Increase this timeout.