如何在 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
最小工作流程(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;
// 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)
印表機驅動程式在硬體層級接收複印指令,這比將五個獨立工作排入佇列更快且更可靠。 這在共用網路印表機上尤為重要,因為不同的列印工作可能會與其他使用者的文件交錯處理。
若未明確設定,NumberOfCopies 將預設為 1。 接受任何正整數 — 將其設定為 0 或負值並無實際效果,驅動程式將回退至單一副本。
如何將"副本數"與其他列印設定結合使用?
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;
// 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)
若採用非阻塞式工作流程,請將 PrintSettings 替換為 Printer.PrintAsync()。
內容複製次數是否有平台限制?
在某些平台上,印表機驅動程式可能無法精確重現 NumberOfCopies 中指定的數值。 IronPrint 的文件說明指出,平台特定的限制可能導致該值被忽略,從而僅產生一份副本。 這是驅動程式層級的限制,並非 IronPrint 的限制。
在 Windows 桌面應用程式中(這是大多數列印工作流程的主要目標),NumberOfCopies 無論是本地印表機還是網路印表機,都能可靠地被支援。 若遇到某印表機始終忽略此設定,請透過 Windows 印表機屬性面板確認其驅動程式是否支援排序式多份列印工作。
接下來我該怎麼做?
我們已說明如何使用 PrintSettings.NumberOfCopies 設定列印份數,並示範了靜默列印與非同步列印,結合了份數設定與其他參數,同時也列出了各平台的注意事項。
如需進一步閱讀,請參閱以下資源:
- IronPrint 教學 — 文件列印,提供端到端的列印操作指南。
- 列印設定教學:關於邊距、DPI、紙張方向等設定說明。
- 請參閱 PrintSettings 類別 API 參考文件以獲取完整的屬性說明。
- 所有靜態列印方法的 Printer 類別 API 參考。
立即取得免費試用授權,在實際環境中測試所有功能;或於準備部署時查看授權選項。

