Why One Windows Application Prints Only in Black and White

Windows prints a color test page and other programs print color correctly, but one application shows the same device as black-and-white or always produces grayscale output. That evidence makes a printer hardware failure unlikely. The difference is usually in the logical queue, the application-saved print settings, the capability data returned by the driver, or the print path used by that program.

Applications do not all send the same kind of job. A legacy Win32 program may render through GDI and a per-user DEVMODE; another application may create XPS; a vendor program can emit printer-ready PCL or PostScript as RAW data; a browser may generate a PDF first; and a modern IPP queue can use a Print Support App.

The fastest diagnosis compares one working application with the failing one while holding the printer, document, and user constant.

Confirm the Exact Queue

One physical printer can have several Windows queues:

  • Vendor PCL queue.
  • Vendor PostScript queue.
  • Microsoft IPP Class Driver queue.
  • WSD-discovered queue.
  • Shared print-server queue.
  • A monochrome preset or accounting queue.

Compare the full queue name and port in both applications. Disable Let Windows manage my default printer during testing and set one known queue as default. Microsoft’s current default-printer guidance explains that Windows can otherwise select the last-used printer.

If the problem application stores a queue by its old name, selecting “the printer” from a short list may still target a different logical device.

Check the Application’s Own Saved Preset

Open the print dialog inside the failing application, then open Printer Properties or Preferences from that dialog. Look for:

  • Color, Auto Color, Grayscale, or Black Only.
  • Draft, Eco, Toner Save, or Accounting mode.
  • Document template or report-level print settings.
  • A named application preset.
  • “Use printer defaults” versus explicit values.

Microsoft notes in its color and black-and-white printing guidance that available options are printer-specific. An application can submit a document-level setting that overrides the queue default for that job.

Create a new blank document or report in the same application. If the new item prints color while an old template does not, the setting is embedded in the document or application profile.

Understand DEVMODE and Per-User Defaults

Classic Windows printing represents many job settings in a DEVMODE structure. The driver exposes fields for orientation, paper, copies, print quality, color, and device-specific data. A program can copy that structure, modify it, and save it for later use.

The color field is not the only possible switch. Vendor-specific private data can force grayscale even when the standard color flag appears correct. A stale saved structure from an older driver can also make a program believe the queue has different capabilities.

This explains why reinstalling the printer without resetting the application can fail: the application reloads its old private settings. Test with a new Windows profile or reset only the program’s print preferences according to its vendor documentation before making system-wide changes.

Compare GDI, XPS, RAW, and Modern IPP Paths

Microsoft’s spooler architecture documentation shows how an application, GDI, the spooler, a print provider, processor, driver, and monitor participate in a classic job.

GDI and EMF

Many desktop programs call GDI. The driver converts device-independent drawing operations into printer commands. EMF spooling can preserve the application’s page representation for later rendering.

XPS

Applications using the XPS Print API create an XPS-based job and PrintTicket. Microsoft explicitly separates XPS from the older WritePrinter path. A driver or print server can expose different capabilities in XPS and GDI workflows.

RAW printer language

A specialized program may generate PCL, PostScript, ZPL, ESC/P, or another printer language itself and submit it as RAW. Microsoft’s WritePrinter documentation warns that RAW data must fully describe job settings in the language the hardware understands. Queue preferences cannot reliably add color if the application-generated stream explicitly requests grayscale or contains no color commands.

IPP and Print Support Apps

Windows 11’s modern print architecture favors IPP class drivers with vendor Print Support Apps. Microsoft’s Windows Ready Print documentation describes this direction. A legacy program may still behave better with the vendor’s supported PCL or PostScript queue, while a modern application works through IPP.

Use “Print to File” Comparisons

Without installing packet capture software, perform two safe control tests:

  1. Print the same colored test object from the failing app to Microsoft Print to PDF.
  2. Print it from a working app to the same PDF destination.

If the failing app’s PDF is already grayscale, the application or document removed color before the printer driver. If the PDF is colored but the physical printer output is monochrome, focus on queue capability negotiation, DEVMODE/PrintTicket, driver, or printer language.

Also try exporting from the failing program to PDF, then printing that PDF from a known working viewer. If it prints in color, the application’s direct printer path is the differentiator.

Inspect the Spool Job Safely

Open Print Management or the queue’s properties and record:

  • Driver name and version.
  • Port type and address.
  • Print processor.
  • Default data type, such as RAW or NT EMF.
  • Whether advanced printing features are enabled.
  • Whether the job is rendered on client or server.

Change one variable at a time. Do not leave spool-file retention enabled because documents can contain confidential data.

If vendor support needs a spool sample, reproduce with a non-sensitive test page. The data type helps the developer determine whether the application is generating printer-ready content or relying on the driver.

Driver Test Matrix

Install only drivers supported by the printer manufacturer and the Windows release. Create temporary queues pointing to the same printer IP rather than replacing the working production queue:

Test queueWhat it reveals
Current vendor PCL driverCompatibility with common Windows business apps
Current vendor PostScript driverWhether the app’s PDL expectations differ
Microsoft IPP Class DriverBehavior on the modern Windows print path
Existing shared queueWhether print-server settings alter capabilities

Name the queues clearly and test the same document. Remove only the temporary queues after recording results.

Do not download a generic driver-updater utility. Use Windows Update or the printer manufacturer’s official support channel.

Application Compatibility Checks

For old or specialized software, confirm:

  • Supported Windows versions and bitness.
  • Supported printer languages and drivers.
  • Whether the program requires a specific report engine.
  • Whether color is licensed or disabled by a program option.
  • Whether it queries color capability only at startup.
  • Whether a configuration file, registry value, or user profile stores printer settings.
  • Whether Remote Desktop redirects a different printer/driver.

If restarting the application after changing the default queue makes color appear, the program probably cached capabilities. If only one Windows user is affected, compare application profiles rather than reinstalling the driver for everyone.

Escalation Package for the Software Vendor

Provide:

  • Application name and exact version.
  • Windows build.
  • Printer model and firmware.
  • Working and failing queue/driver names.
  • Whether Print to PDF preserves color.
  • Spool data type and print processor.
  • Screenshots of the application’s print dialog and printer properties.
  • A non-sensitive sample document.
  • Reproduction steps from application launch.

Ask which Windows print API and printer languages the application supports. That question is more actionable than “why is the printer black and white?”

Conclusion

When every program except one prints color, start above the hardware. Prove that the application targets the same queue, clear its saved preset, compare PDF output, identify the job data type, and test supported driver families through temporary queues.

The application may use GDI/EMF, XPS, RAW printer commands, or a modern IPP path. Once that difference is identified, the repair becomes specific: reset a stale per-app DEVMODE, select the correct queue, use a supported PCL/PS driver, or have the vendor correct the application’s generated print job.