How to Set the Number of Copies When Printing in C#
Printing multiple copies of a document is a routine requirement — invoices that need an original and a duplicate, shipping labels printed in batches, or reports distributed to several departments. Rather than calling Print() inside a loop and creating separate print jobs for each copy, the correct approach is to set the copy count once and let the printer driver handle duplication in a single job.
IronPrint's PrintSettings.NumberOfCopies property accepts an integer and sends the specified number of copies to the printer in one operation. We cover installation, basic usage, async workflows, and combined settings below.
Quickstart: Set Number of Copies
- Install IronPrint via NuGet:
Install-Package IronPrint - Add
using IronPrint;to the file - Create a
PrintSettingsobject - Set
NumberOfCopiesto the desired count - Pass settings to
Printer.Print()with the file path
-
Install IronPrint with NuGet Package Manager
PM > Install-Package IronPrint -
Copy and run this code snippet.
using IronPrint; // Print 3 copies of a PDF in one print job PrintSettings settings = new PrintSettings(); settings.NumberOfCopies = 3; Printer.Print("invoice.pdf", settings); -
Deploy to test on your live environment
Start using IronPrint in your project today with a free trial
Minimal Workflow (5 steps)
- Install the IronPrint C# printing library
- Create a
PrintSettingsobject - Set
NumberOfCopiesto the desired count - Pass settings to
Printer.Print() - Verify the printer produces the correct number of copies
How Do I Set the Copy Count for Silent Printing?
Silent printing sends a document straight to the printer without displaying a dialog. We configure the copy count through PrintSettings.NumberOfCopies and pass the settings to Printer.Print():
:path=/static-assets/print/content-code-examples/how-to/set-number-of-copies/set-number-of-copies-silent-copies.cs
using IronPrint;
// Print 5 copies silently to the default printer
PrintSettings settings = new PrintSettings
{
NumberOfCopies = 5
};
Printer.Print("shipping-label.pdf", settings);
Imports IronPrint
' Print 5 copies silently to the default printer
Dim settings As New PrintSettings With {
.NumberOfCopies = 5
}
Printer.Print("shipping-label.pdf", settings)
The printer driver receives the copy instruction at the hardware level, which is faster and more reliable than queuing five individual jobs. This matters on shared network printers where separate jobs can be interleaved with other users' documents.
NumberOfCopies defaults to 1 when not explicitly set. Any positive integer is accepted — setting it to 0 or a negative value has no practical effect and the driver falls back to a single copy.
How Do I Combine Copy Count with Other Print Settings?
NumberOfCopies is one property on PrintSettings. We can combine it with paper margins, paper size, orientation, DPI, grayscale mode, and printer selection in a single configuration object:
:path=/static-assets/print/content-code-examples/how-to/set-number-of-copies/set-number-of-copies-combined-settings.cs
using IronPrint;
// Full configuration: 3 copies of a landscape A4 report at 300 DPI
PrintSettings settings = new PrintSettings
{
NumberOfCopies = 3,
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Landscape,
Dpi = 300,
PaperMargins = new Margins(15),
Grayscale = false,
PrinterName = "HP LaserJet Pro MFP M428"
};
Printer.Print("Q4-report.pdf", settings);
Imports IronPrint
' Full configuration: 3 copies of a landscape A4 report at 300 DPI
Dim settings As New PrintSettings With {
.NumberOfCopies = 3,
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Landscape,
.Dpi = 300,
.PaperMargins = New Margins(15),
.Grayscale = False,
.PrinterName = "HP LaserJet Pro MFP M428"
}
Printer.Print("Q4-report.pdf", settings)
For non-blocking workflows, pass the same PrintSettings to Printer.PrintAsync() instead.
Are There Platform Limitations on Copy Count?
On certain platforms, the printer driver may not reproduce the exact number specified in NumberOfCopies. The IronPrint documentation notes that platform-specific limitations can cause the value to be ignored, resulting in a single copy. This is a driver-level constraint, not an IronPrint limitation.
On Windows desktop applications — the primary target for most printing workflows — NumberOfCopies is reliably honored by both local and network printers. If you encounter a printer that consistently ignores the setting, verify that its driver supports collated multi-copy jobs through the Windows printer properties panel.
What Are My Next Steps?
We covered how to set the number of printed copies using PrintSettings.NumberOfCopies, demonstrated silent and async printing, combined copy count with other settings, and noted platform-specific caveats.
For further reading, explore these resources:
- IronPrint Tutorials — Print Document for end-to-end printing walkthroughs.
- Print Settings How-To for margins, DPI, orientation, and more.
- PrintSettings Class API Reference for complete property documentation.
- Printer Class API Reference for all static printing methods.
Get a free trial license to test every feature in a live environment, or view licensing options when you're ready to deploy.

