LPR Problems

G

Guest

I'm using LPR on a windows 2003 web server, to send a file to a network
printer (actually the pc controlling the printer). The command is being
executed in a batch file.
I'm being told by the computer operators that when the print file (which is
just a text file) gets to the controlling pc, sometimes it has lines inserted
somehow during the transfer process. These lines are not in the file on the
web server. A line with the full path to the file I'm sending to the printer
and a line with a FormFeed character are sometimes inserted into the file
somehow.
The problem is those two lines are not always added to the file. I'm
guessing this has something to do with LPR.
Is there are way to control whether or not those lines get inserted? Like
using a switch on the command line?

Thanks,
Keith F
 
S

Shilpa Sinha [MSFT]

Hi

Maybe this will help:

LPD server adds and prints control codes
=========================================

Important This article contains information about modifying the registry.
Before you modify the registry, make sure to back it up and make sure that
you understand how to restore the registry if a problem occurs. For
information about how to back up, restore, and edit the registry, click the
following article number to view the article in the Microsoft Knowledge
Base:

256986 - Description of the Microsoft Windows Registry
http://support.microsoft.com/default.aspx?kbid=256986

SYMPTOMS
===============
When a formatted job prints from a line printer remote (LPR) client to a
Windows NT computer that is running the Line Printing Daemon (LPD)
services, PCL or PostScript codes are printed instead of a properly
formatted document.

RESOLUTION
================
The LPD service can be reconfigured to ignore the format control command
from the LPR client and always assign the RAW data type. Use one of the
appropriate sections below to reconfigure the LPD service.

Configuring SimulatePassThrough for all printers in Windows XP Professional
and Windows Server 2003

To assign the RAW data type regardless of the control file contents in
Windows XP Professional and in Windows Server 2003, follow these steps.

Warning: If you use Registry Editor incorrectly, you may cause serious
problems that may require you to reinstall your operating system. Microsoft
cannot guarantee that you can solve problems that result from using
Registry Editor incorrectly. Use Registry Editor at your own risk.

1. Start Registry Editor.
2. From the HKEY_LOCAL_MACHINE subtree, click the following subkey:
\SYSTEM\CurrentControlSet\Services\LPDSVC\Parameters
3. On the Edit menu, click New, and then click DWORD Value.
4. Name the new entry SimulatePassThrough.
5. Double-click the SimulatePassThrough entry, and then change the data
value to 1.

Note: The default data value is 0. A 0 data value informs LPD to assign
data types according to the control commands.
6. Click OK.
7. Quit Registry Editor.

Configuring SimulatePassThrough for all printers in Windows NT 4.0 and
Windows 2000

To assign the RAW data type regardless of the control file contents in
Windows NT 4.0 and Windows 2000, do the following:

WARNING: Using Registry Editor incorrectly can cause serious, system- wide
problems that may require you to reinstall Windows NT to correct them.
Microsoft cannot guarantee that any problems resulting from the use of
Registry Editor can be solved. Use this tool at your own risk.

1. Run Registry Editor (REGEDT32.EXE).
2. From the HKEY_LOCAL_MACHINE subtree, go to the following key:
\SYSTEM\CurrentControlSet\Services\LPDSVC\Parameters
3. On the Edit menu, click Add Value.
4. Add the following:

Value Name: SimulatePassThrough
Data Type: REG_DWORD
Data: 1

NOTE: The default value is 0, which informs LPD to assign data types
according to the control commands.

Configuring SimulatePassThrough in Windows NT 3.51

In Windows NT 3.51 the code looks for a registry setting in the LPD key
instead of the LPDSVC key. You can work around this problem by creating an
LPD key at the same level as the LPDSVC key and then duplicating the
information in the LPDSVC key to the LPD key.

For Windows NT 3.51 to assign the RAW data type, regardless of the control
file contents, do the following:

WARNING: Using Registry Editor incorrectly can cause serious, system- wide
problems that may require you to reinstall Windows NT to correct them.
Microsoft cannot guarantee that any problems resulting from the use of
Registry Editor can be solved. Use this tool at your own risk.

1. Run Registry Editor (REGEDT32.EXE).
2. From the HKEY_LOCAL_MACHINE subtree, go to the following key:
\SYSTEM\CurrentControlSet\Services\LPDSVC\Parameters
3. On the Edit menu, click Add Value.
4. Add the following:

Value Name: SimulatePassThrough
Data Type: REG_DWORD
Data: 1

NOTE: The default value is 0, which informs LPD to assign data types
according to the control commands.
5. To work around the problem mentioned above, create an LPD key at the
same level of the LPDSVC key.
6. Click the LPDSVC Key, click Save Key from the Registry menu, and then
save the file as LPDSVC.KEY.
7. Click the LPD key created in step 5.
8. Click Restore on the Registry menu, click the file created in step 6,
and then click OK.
9. A warning message appears. Click OK and then quit Registry Editor.
10. At a command prompt, type:
net stop lpdsvc
11. At a command prompt, type:
net start lpdsvc

MORE INFORMATION
========================
The Windows NT LPD Service follows the RFC1179 specification. This states
that the LPR client must tell the LPD server how to handle the print job.
If the client formats the job, it must send the "l" control character to
instruct the LPD server to print the job without any alteration.

Some LPR clients cannot be configured to send different control characters
and always send an "f". This control character instructs Windows NT to
assign a data type of TEXT and to use the printer driver to create a new
print job that prints the text of the original job on the page. In the case
of a postscript job, the new print job prints the original job's PostScript
code on the page.

For additional information, please see the following articles in the
Microsoft Knowledge Base:

124735 - How Windows NT LPD server implements LPR control characters
http://support.microsoft.com/default.aspx?scid=kb;EN-US;124735

132460 - Troubleshooting Windows NT print server alteration of print jobs
http://support.microsoft.com/default.aspx?scid=kb;EN-US;132460

168457 - Configuring individual printers to passthrough LPR print jobs
http://support.microsoft.com/default.aspx?scid=kb;EN-US;168457

The information in this article applies to:

o Microsoft Windows Server 2003, Standard Edition
o Microsoft Windows Server 2003, Enterprise Edition
o Microsoft Windows Server 2003, Datacenter Edition
o Microsoft Windows XP Professional
o Microsoft Windows 2000 Server
o Microsoft Windows 2000 Advanced Server
o Microsoft Windows 2000 Professional
o Microsoft Windows NT Workstation 4.0
o Microsoft Windows NT Server 4.0
o Microsoft Windows NT Server 3.51
o Microsoft Windows NT Workstation 3.51
o Microsoft Windows NT Server 3.5
o Microsoft Windows NT Workstation 3.5

Reference Link:
=============
http://support.microsoft.com/default.aspx?scid=kb;en-us;150930&Product=winsv
r2003

Shilpa Sinha
This posting is provided "AS IS" with no warranties, and confers no rights.
 
B

Bruce Sanderson

1. are these additional lines actually being sent from the Windows 2003 Web
server? The Network Monitor that comes with Windows 2003 could be used to
determine this.

2. What options are you using on the lpr command in the batch file? A
sample of the complete lpr command being used woud be useful.

3. What OS is running on the "controlling pc" that is receiving the print
request?

4. See RFC 1179 for additional information about the lpr/lpd protocol
(http://www.ietf.org/rfc/rfc1179.txt?number=1179).

5. See if the section "Configure Windows LPR Software" in
http://support.microsoft.com/default.aspx?scid=kb;EN-US;132460 helps.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top