Very large print job spooled to a printer that uses an XPS driver on a 32-bit version of Windows may generate no output

Applies to: Windows 7 StarterWindows 7 ProfessionalWindows 7 Ultimate


Consider the following scenario:
  • You have a system that is running a 32-bit version of Windows 7, Windows 8, or Windows 8.1.
  • The system has a print queue installed that uses an XPS printer driver.
  • You are using a large, custom paper size. For example, you are using a paper size that is larger than 40 inches in both dimensions.
  • You are printing from a 32-bit graphics program to this large paper size.

    Note Only certain 32-bit graphics programs are affected by this issue.

In this scenario, after the print job is sent to the print queue, the print job seems to have been completed successfully in the application. However, there is no output from the printer, and the print job is deleted from the print queue without an error. The memory used by the application increases to about 2 gigabytes (GB), and then it decreases rapidly.


This is caused by the intrinsic 2 GB virtual address space limit when you run a 32-bit application on a 32-bit version of Windows.

The print job may be sent from the Graphics Device Interface (GDI) to the XPS Document Converter (MXDC) in small strips. As the large job is built in this manner before being sent to the spooler, the application may hit the 2 GB address space limit, and the print job will fail to complete.

If you instead run the 32-bit application on a 64-bit version Windows, the conversion process is performed by splwow64.exe. This is a 64-bit process that does not have the 2 GB address space limit. Therefore, the job will complete successfully.


When you print high-resolution print jobs to a very large page size, we recommend that you use a 64-bit version of Windows to allow for the necessary address space to complete the print job.

If you encounter this issue on a 64-bit version of Windows, see KB2011767 for the resolution.