如何在 C# 中设置打印份数
打印文档的多份副本是一项常规需求——例如需要正本和副本的发票、批量打印的运输标签,或是分发给多个部门的报告。 与其在循环中调用 Print() 并为每份副本创建单独的打印任务,正确的做法是仅设置一次副本数量,让打印机驱动程序在单个任务中处理重复打印。
IronPrint 的 PrintSettings.NumberOfCopies 属性接受一个整数参数,并能一次性将指定数量的副本发送至打印机。 下文将涵盖安装、基本用法、异步工作流以及组合设置。
快速入门:设置副本数量
- 通过 NuGet 安装 IronPrint:
Install-Package IronPrint - 在文件中添加
using IronPrint; - 创建一个
PrintSettings对象 - 将
NumberOfCopies设置为所需计数 - 将设置与文件路径一并传递给
Printer.Print()
-
使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPrint
PM > Install-Package IronPrint -
复制并运行这段代码。
using IronPrint; // Print 3 copies of a PDF in one print job PrintSettings settings = new PrintSettings(); settings.NumberOfCopies = 3; Printer.Print("invoice.pdf", settings); -
部署到您的生产环境中进行测试
通过免费试用立即在您的项目中开始使用IronPrint
PrintSettings.NumberOfCopies
NumberOfCopies
1
0
NumberOfCopies
PrintSettings
NumberOfCopies
NumberOfCopies
PrintSettings.NumberOfCopies
最小工作流程(5 个步骤)
- 安装 IronPrint C# 打印库
- 创建一个
PrintSettings对象 - 将
NumberOfCopies设置为所需数量 - 将设置传递给
Printer.Print() - 验证打印机是否输出正确份数的副本
如何设置静默打印的副本数量?
静默打印会将文档直接发送至打印机,而不会显示任何对话框。 我们通过 PrintSettings.NumberOfCopies 配置副本数量,并将设置传递给 Printer.Print():
:path=/static-assets/print/content-code-examples/how-to/set-number-of-copies/set-number-of-copies-silent-copies.cs
using IronPrint;
// Configure the print job for 5 copies
PrintSettings settings = new PrintSettings
{
NumberOfCopies = 5
};
// Print the shipping label
Printer.Print("shipping-label.pdf", settings);
Imports IronPrint
' Configure the print job for 5 copies
Dim settings As New PrintSettings With {
.NumberOfCopies = 5
}
' Print the shipping label
Printer.Print("shipping-label.pdf", settings)
打印机驱动程序在硬件层级接收复制指令,这比将五个单独的任务放入队列更快、更可靠。 这一点在共享网络打印机上尤为重要,因为不同的打印任务可能会与其他用户的文档交错打印。
PrintSettings.NumberOfCopies 在未显式设置时默认采用 1。 接受任何正整数——将其设置为 0 或负值均无实际效果,驱动程序将回退到单份副本。
如何将"副本数量"与其他打印设置结合使用?
PrintSettings.NumberOfCopies 是 PrintSettings 上的一个属性。 我们可以将其与纸张边距、纸张尺寸、方向、DPI、灰度模式和打印机选择结合在一个单一的配置对象中:
:path=/static-assets/print/content-code-examples/how-to/set-number-of-copies/set-number-of-copies-combined-settings.cs
using IronPrint;
// Configure 3 copies with landscape A4 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"
};
// Print the Q4 report
Printer.Print("Q4-report.pdf", settings);
Imports IronPrint
' Configure 3 copies with landscape A4 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"
}
' Print the Q4 report
Printer.Print("Q4-report.pdf", settings)
对于非阻塞工作流,请将 PrintSettings 替换为 Printer.Print()。
字数限制是否受平台影响?
在某些平台上,打印机驱动程序可能无法准确再现 PrintSettings.NumberOfCopies 中指定的具体数字。 IronPrint文档指出,特定于平台的限制可能导致该值被忽略,从而只能打印一份。 这是驱动程序级别的限制,并非 IronPrint 的局限性。
在 Windows 桌面应用程序中(这是大多数打印工作流的主要目标环境),PrintSettings.NumberOfCopies 代码由本地和网络打印机均能可靠识别。 如果遇到打印机始终忽略该设置,请通过 Windows 打印机属性面板确认其驱动程序是否支持按页排序的多份打印任务。
我的下一个步骤是什么?
我们介绍了如何使用 PrintSettings.NumberOfCopies 设置打印份数,演示了静默打印和异步打印,讲解了如何将份数与其他设置结合使用,并指出了特定平台的注意事项。
欲了解更多信息,请探索以下资源:
- IronPrint教程——打印文档展示端到端的打印演练。
- 打印设置指南用于边距、DPI、方向等。
- PrintSettings类API参考以获取完整的属性文档。
- Printer类API参考适用于所有静态打印方法。
常见问题解答
如何在 C# 中使用 IronPrint 打印多份?
通过设置 IronPrint 中的 'NumberOfCopies' 属性,您可以在 C# 中打印多份,轻松控制打印文件的数量。
IronPrint 支持无声打印吗?
是的,IronPrint 支持无声打印,使您能够在无需用户干预的情况下打印文档,非常适合自动化工作流程。
我可以在 C# 中使用 IronPrint 进行异步打印吗?
IronPrint 支持异步工作流程,允许您异步打印文档,这有助于改善应用程序性能。
可以使用 IronPrint 组合不同的打印设置吗?
IronPrint 允许您结合使用各种打印设置,包括复制数量、纸张尺寸和方向,提供灵活的打印解决方案。
使用 IronPrint 进行多份打印有什么好处?
使用 IronPrint 进行多份打印简化了流程,只需调整单个属性即可,支持无声和异步打印,并提供可定制的设置。
使用 IronPrint 是否需要安装额外的软件?
IronPrint 是一款直接集成到 C# 应用程序中的 .NET 库,打印任务无需额外的软件安装。
IronPrint 如何处理大型打印任务?
IronPrint 高效管理大型打印任务,支持异步操作,使您的应用程序在打印期间继续处理。
IronPrint 与不同的打印机型号兼容吗?
IronPrint 设计用于各种打印机型号,提供适用于不同打印环境的多样化解决方案。
可以使用 IronPrint 自定义打印质量吗?
是的,IronPrint 允许您自定义打印质量设置,确保您可以根据特定要求调整输出。
需要什么编程知识来使用 IronPrint?
建议具备 C# 和 .NET 的基本知识,以便有效使用 IronPrint 并在您的应用程序中实现其功能。

