如何在 C# 中设置打印份数

This article was translated from English: Does it need improvement?
Translated
View the article in English

打印文档的多份副本是一项常规需求——例如需要正本和副本的发票、批量打印的运输标签,或是分发给多个部门的报告。 与其在循环中调用 Print() 并为每份副本创建单独的打印任务,正确的做法是仅设置一次副本数量,让打印机驱动程序在单个任务中处理重复打印。

IronPrint 的 PrintSettings.NumberOfCopies 属性接受一个整数参数,并能一次性将指定数量的副本发送至打印机。 下文将涵盖安装、基本用法、异步工作流以及组合设置。

快速入门:设置副本数量

  1. 通过 NuGet 安装 IronPrint:Install-Package IronPrint
  2. 在文件中添加 using IronPrint;
  3. 创建一个 PrintSettings 对象
  4. NumberOfCopies 设置为所需计数
  5. 将设置与文件路径一并传递给 Printer.Print()
  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPrint

    PM > Install-Package IronPrint
  2. 复制并运行这段代码。

    using IronPrint;
    
    // Print 3 copies of a PDF in one print job
    PrintSettings settings = new PrintSettings();
    settings.NumberOfCopies = 3;
    Printer.Print("invoice.pdf", settings);
  3. 部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronPrint

    arrow pointer

PrintSettings.NumberOfCopies NumberOfCopies 1 0 NumberOfCopies PrintSettings NumberOfCopies NumberOfCopies PrintSettings.NumberOfCopies

如何设置静默打印的副本数量?

静默打印会将文档直接发送至打印机,而不会显示任何对话框。 我们通过 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)
$vbLabelText   $csharpLabel

打印机驱动程序在硬件层级接收复制指令,这比将五个单独的任务放入队列更快、更可靠。 这一点在共享网络打印机上尤为重要,因为不同的打印任务可能会与其他用户的文档交错打印。

PrintSettings.NumberOfCopies 在未显式设置时默认采用 1。 接受任何正整数——将其设置为 0 或负值均无实际效果,驱动程序将回退到单份副本。

如何将"副本数量"与其他打印设置结合使用?

PrintSettings.NumberOfCopiesPrintSettings 上的一个属性。 我们可以将其与纸张边距、纸张尺寸、方向、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)
$vbLabelText   $csharpLabel

对于非阻塞工作流,请将 PrintSettings 替换为 Printer.Print()

字数限制是否受平台影响?

在某些平台上,打印机驱动程序可能无法准确再现 PrintSettings.NumberOfCopies 中指定的具体数字。 IronPrint文档指出,特定于平台的限制可能导致该值被忽略,从而只能打印一份。 这是驱动程序级别的限制,并非 IronPrint 的局限性。

在 Windows 桌面应用程序中(这是大多数打印工作流的主要目标环境),PrintSettings.NumberOfCopies 代码由本地和网络打印机均能可靠识别。 如果遇到打印机始终忽略该设置,请通过 Windows 打印机属性面板确认其驱动程序是否支持按页排序的多份打印任务。

我的下一个步骤是什么?

我们介绍了如何使用 PrintSettings.NumberOfCopies 设置打印份数,演示了静默打印和异步打印,讲解了如何将份数与其他设置结合使用,并指出了特定平台的注意事项。

欲了解更多信息,请探索以下资源:

获取免费试用许可证以在实时环境中测试每个功能,或者当您准备好部署时查看许可选项

常见问题解答

如何在 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 并在您的应用程序中实现其功能。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 41,154 | 版本: 2026.5 just released
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPrint
运行示例 观看您的文档打到打印机上。