How to Print in Grayscale in C#

Printing in grayscale converts color documents to black-and-white output at the printer driver level. This preserves colored ink or toner cartridges during high-volume batch runs, keeps internal drafts readable without wasting expensive consumables, and meets formatting requirements where monochrome output is preferred.

IronPrint makes this a single boolean: set PrintSettings.Grayscale to true, and the printer produces black-and-white output regardless of the document's original colors. We cover installation, basic usage, async workflows, and combined settings below.

Quickstart: Print in Grayscale

  1. Install IronPrint via NuGet: Install-Package IronPrint
  2. Add using IronPrint; to the file
  3. Create a PrintSettings object
  4. Set Grayscale to true
  5. Pass settings to Printer.Print() with the file path
  1. Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint
  2. Copy and run this code snippet.

    using IronPrint;
    
    // Print in grayscale — one property, one line
    PrintSettings settings = new PrintSettings();
    settings.Grayscale = true;
    Printer.Print("report.pdf", settings);
  3. Deploy to test on your live environment

    Start using IronPrint in your project today with a free trial

    arrow pointer

How Do I Enable Grayscale for Silent Printing?

To print in grayscale without any user interaction, we enable the Grayscale property and pass the settings to Printer.Print():

:path=/static-assets/print/content-code-examples/how-to/grayscale-printing/silent-grayscale.cs
using IronPrint;

// Silently print a color PDF as black-and-white
PrintSettings settings = new PrintSettings
{
    Grayscale = true
};

Printer.Print("color-brochure.pdf", settings);
Imports IronPrint

' Silently print a color PDF as black-and-white
Dim settings As New PrintSettings With {
    .Grayscale = True
}

Printer.Print("color-brochure.pdf", settings)
$vbLabelText   $csharpLabel

When Grayscale is true, the printer driver strips color information before laying ink or toner on the page. The original file remains unchanged — only the printed output is monochrome. This is the same behavior as manually selecting "Black & White" or "Grayscale" in the Windows print dialog, except we control it programmatically without any user interaction.

Grayscale defaults to false when not explicitly set, meaning documents print in full color by default.

When Should I Use Grayscale Printing?

Grayscale printing is the right choice in several common scenarios:

Cost reduction — Color toner cartridges cost significantly more than black cartridges. Switching internal-facing documents (drafts, timesheets, internal memos) to grayscale can reduce per-page printing costs substantially over a quarter.

Readability — Documents with light-colored text or pastel backgrounds can be difficult to read on paper. Grayscale conversion often improves contrast and legibility for text-heavy content.

Compliance and archival — Some regulated industries require monochrome copies for filing. Grayscale output meets this requirement without modifying the source document.

For documents where color accuracy matters — marketing collateral, branded materials, charts with color-coded data — leave Grayscale at its default false value.

How Do I Combine Grayscale with Other Print Settings?

Grayscale is one property on PrintSettings. We can combine it with paper margins, paper size, orientation, DPI, number of copies, and printer selection in a single configuration object:

:path=/static-assets/print/content-code-examples/how-to/grayscale-printing/combined-settings.cs
using IronPrint;

// Full configuration: grayscale draft printing for internal distribution
PrintSettings settings = new PrintSettings
{
    Grayscale = true,
    NumberOfCopies = 10,
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Portrait,
    Dpi = 150,
    PaperMargins = new Margins(15),
    PrinterName = "Office Mono Laser"
};

Printer.Print("team-memo.pdf", settings);
Imports IronPrint

' Full configuration: grayscale draft printing for internal distribution
Dim settings As New PrintSettings With {
    .Grayscale = True,
    .NumberOfCopies = 10,
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Portrait,
    .Dpi = 150,
    .PaperMargins = New Margins(15),
    .PrinterName = "Office Mono Laser"
}

Printer.Print("team-memo.pdf", settings)
$vbLabelText   $csharpLabel

Pairing Grayscale = true with a lower DPI like 150 creates a fast, economical draft-printing configuration ideal for high-volume internal documents. For non-blocking workflows, pass the same PrintSettings to Printer.PrintAsync() instead.

What File Formats Support Grayscale Printing?

IronPrint supports grayscale output for every file format the library handles: PDF, PNG, TIFF, GIF, JPEG, and BMP. The Grayscale property applies identically regardless of the source format — we pass the same PrintSettings object to Printer.Print() whether we are printing a PDF report or a JPEG photograph.

For PDF-specific workflows that require converting the file itself to grayscale before printing, IronPDF's grayscale rendering provides that capability. IronPrint's Grayscale property, by contrast, keeps the source file in color and only affects the printed output.

What Are My Next Steps?

We covered how to enable grayscale printing with PrintSettings.Grayscale = true, demonstrated silent and async grayscale workflows, discussed when monochrome output makes sense, combined grayscale with other settings for draft-quality batch printing, and confirmed format support across all IronPrint-compatible file types.

For further reading, explore these resources:

Get a free trial license to test every feature in a live environment, or view licensing options when you're ready to deploy.

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...

Read More
Ready to Get Started?
Nuget Downloads 37,845 | Version: 2026.3 just released
Still Scrolling Icon

Still Scrolling?

Want proof fast? PM > Install-Package IronPrint
run a sample watch your document hit the printer.