Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

LPD server adds and prints control codes


View products that this article applies to.

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.

↑ Back to the top


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.

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
  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

↑ Back to the top


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

132460 Troubleshooting Windows NT print server alteration of print jobs

168457 Configuring individual printers to passthrough LPR print jobs

↑ Back to the top


Keywords: kbnetwork, kbprint, KB150930

↑ Back to the top

Article Info
Article ID : 150930
Revision : 7
Created on : 2/21/2007
Published on : 2/21/2007
Exists online : False
Views : 899