如何在 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. using 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 或負值並無實際效果,驅動程式將回退至單一副本模式。

如何將"副本數"與其他PRINT設定結合使用?

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 列印多份副本?

您可以在 C# 中透過設定 IronPrint 中的 'NumberOfCopies' 屬性來列印多份副本,從而輕鬆控制列印文件的數量。

IronPrint 是否支援靜默列印?

是的,IronPrint 支援無互動列印,讓您能在無需使用者介入的情況下列印文件,非常適合自動化工作流程。

我可以在 C# 中使用 IronPrint 進行非同步列印嗎?

IronPrint 支援非同步工作流程,讓您能夠以非同步方式列印文件,有助於提升應用程式效能。

是否可以透過 IronPrint 組合不同的列印設定?

IronPrint 讓您能夠組合各種列印設定,包括份數、紙張尺寸和方向,提供靈活的列印解決方案。

using IronPrint 進行多份複印有哪些好處?

Using IronPrint to perform multiple copies simplifies the process by adjusting only one property, supports silent and asynchronous printing, and offers customizable settings.

using IronPrint 是否需要安裝額外的軟體?

IronPrint 是一個可直接整合至您的 C# 應用程式的 .NET 程式庫,執行列印任務時無需安裝任何額外軟體。

IronPrint 如何處理大型列印工作?

IronPrint 透過支援非同步操作,能有效管理大型列印工作,讓您的應用程式在列印進行期間仍可繼續處理其他任務。

IronPrint 是否相容於不同型號的印表機?

IronPrint 設計用於支援各種印表機型號,為不同的列印環境提供多功能的解決方案。

我可以使用 IronPrint 自訂列印品質嗎?

是的,IronPrint 允許您自訂列印品質設定,確保您能根據特定需求調整輸出結果。

using IronPrint 需要具備哪些程式設計知識?

建議具備 C# 和 .NET 的基礎知識,以便有效使用 IronPrint 並在其應用程式中實作其功能。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 41,154 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPrint
執行範例程式,親眼見證您的文件送印。