如何在 C# 中设置打印份数
打印文档的多份副本是一项常规需求——例如需要正本和副本的发票、批量打印的运输标签,或是分发给多个部门的报告。 而不是在循环中调用Print()并为每份副本创建单独的打印任务, 正确的方法是设置一次副本数, 让打印机驱动程序在单个任务中处理重复。
IronPrint的PrintSettings.NumberOfCopies属性接受一个整数,并在一次操作中将指定数量的副本发送到打印机。 下文将涵盖安装、基本用法、异步工作流以及组合设置。
快速入门:设置副本数量
- 通过NuGet安装IronPrint:
Install-Package IronPrint - 添加
using IronPrint;到文件 - 创建一个
PrintSettings对象 - 将
NumberOfCopies设置为所需的数量 - 将设置与文件路径一起传递给
Printer.Print()
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)
打印机驱动程序在硬件层级接收复制指令,这比将五个单独的任务放入队列更快、更可靠。 这一点在共享网络打印机上尤为重要,因为不同的打印任务可能会与其他用户的文档交错打印。
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)
对于非阻塞工作流, 请将相同的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 允许您结合使用各种打印设置,包括复制数量、纸张尺寸和方向,提供灵活的打印解决方案。
using IronPrint 进行多份打印有什么好处?
using IronPrint 进行多份打印简化了流程,只需调整单个属性即可,支持无声和异步打印,并提供可定制的设置。
using IronPrint 是否需要安装额外的软件?
IronPrint 是一款直接集成到 C# 应用程序中的 .NET 库,打印任务无需额外的软件安装。
IronPrint 如何处理大型打印任务?
IronPrint 高效管理大型打印任务,支持异步操作,使您的应用程序在打印期间继续处理。
IronPrint 与不同的打印机型号兼容吗?
IronPrint 设计用于各种打印机型号,提供适用于不同打印环境的多样化解决方案。
可以使用 IronPrint 自定义打印质量吗?
是的,IronPrint 允许您自定义打印质量设置,确保您可以根据特定要求调整输出。
需要什么编程知识来使用 IronPrint?
建议具备 C# 和 .NET 的基本知识,以便有效使用 IronPrint 并在您的应用程序中实现其功能。

