The LPR.EXE command is limited to sending 2GB print jobs


Symptoms


Attempting to send a large print job with the LPR.EXE command will result in a timeout when the 2GB threshold has been exceeded.

Cause


LPR.EXE uses signed integer variables which will limit the size of jobs to 2GB.

NOTE: The 64-bit LPR.EXE code is using the same data types, and thus has the same limitations.

Resolution


Use the application creating the files you are attempting to print to generate jobs of less than 2GB in size.

Third party and open-source LPR clients may also provide a workaround.

More Information


Windows Data Types
http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx

  • Signed integer value range: -2,147,483,648 to +2,147,483,647
  • Unsigned integer value range: 0 to 4,294,967,295

Line Printer Daemon Protocol
http://www.ietf.org/rfc/rfc1179.txt