如何在 C# 中以灰階列印

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

灰階列印是在印表機驅動程式層級將彩色文件轉換為黑白輸出。 此功能可在大量批次列印時節省彩色墨水或碳粉匣,確保內部草稿清晰可讀且不浪費昂貴的耗材,並符合偏好單色輸出的排版需求。

IronPrint 將此設定為單一布林值:將 PrintSettings.Grayscale 設為 true,印表機便會輸出黑白文件,無論原始文件的顏色為何。 以下內容涵蓋安裝、基本用法、非同步工作流程以及綜合設定。

快速入門:灰階列印

  1. 透過 NuGet 安裝 IronPrint:Install-Package IronPrint
  2. 在檔案中加入 using IronPrint;
  3. 建立一個 PrintSettings 物件
  4. Grayscale 設定為 true
  5. 將設定與檔案路徑一併傳遞給 Printer.Print()
  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPrint

    PM > Install-Package IronPrint
  2. 請複製並執行此程式碼片段。

    using IronPrint;
    
    // Print in grayscale — one property, one line
    PrintSettings settings = new PrintSettings();
    settings.Grayscale = true;
    Printer.Print("report.pdf", settings);
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronPrint

    arrow pointer

如何啟用靜音列印的灰階模式?

若要無需任何使用者互動即可進行灰階列印,我們會啟用 Grayscale 屬性,並將設定傳遞給 Printer.Print()

:path=/static-assets/print/content-code-examples/how-to/grayscale-printing/grayscale-printing-silent-grayscale.cs
using IronPrint;

// Configure grayscale output
PrintSettings settings = new PrintSettings
{
    Grayscale = true
};

// Print the color brochure as monochrome
Printer.Print("color-brochure.pdf", settings);
Imports IronPrint

' Configure grayscale output
Dim settings As New PrintSettings With {
    .Grayscale = True
}

' Print the color brochure as monochrome
Printer.Print("color-brochure.pdf", settings)
$vbLabelText   $csharpLabel

時,印表機驅動程式會在將墨水或碳粉印至紙張上之前,先移除色彩資訊。 原始檔案保持不變 — 僅列印輸出為單色。 此行為與在 Windows 列印對話方塊中手動選取"黑白"或"灰階"相同,不同之處在於我們透過程式化方式控制,無需任何使用者互動。

若未明確設定,預設值為,這表示文件預設會以全彩列印。

何時該使用灰階列印?

在以下幾種常見情境中,灰階列印是正確的選擇:

降低成本 — 彩色碳粉匣的價格遠高於黑色碳粉匣。 將內部文件(草稿、工時表、內部備忘錄)切換為灰階列印,可大幅降低每頁的季度列印成本。

可讀性 — 文字顏色較淺或背景為柔和色調的文件,在紙本上可能難以閱讀。 將內容轉為灰階通常能提升文字密集型內容的對比度與可讀性。

合規與歸檔 — 部分受監管產業要求提交黑白副本以供歸檔。 灰階輸出可在不修改原始文件的情況下滿足此要求。

對於色彩準確性至關重要的文件——例如行銷宣傳品、品牌宣傳材料、採用色彩編碼的數據圖表——請將 保留為預設值

如何將灰階與其他PRINT設定結合使用?

`` 是 PrintSettings 上的其中一個屬性。 我們可以將紙張邊距、紙張尺寸、方向、DPI、複印份數印表機選項整合至單一設定物件中:

:path=/static-assets/print/content-code-examples/how-to/grayscale-printing/grayscale-printing-combined-settings.cs
using IronPrint;

// Configure grayscale draft printing
PrintSettings settings = new PrintSettings
{
    Grayscale = true,
    NumberOfCopies = 10,
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Portrait,
    Dpi = 150,
    PaperMargins = new Margins(15),
    PrinterName = "Office Mono Laser"
};

// Print the team memo
Printer.Print("team-memo.pdf", settings);
Imports IronPrint

' Configure grayscale draft printing
Dim settings As New PrintSettings With {
    .Grayscale = True,
    .NumberOfCopies = 10,
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Portrait,
    .Dpi = 150,
    .PaperMargins = New Margins(15),
    .PrinterName = "Office Mono Laser"
}

' Print the team memo
Printer.Print("team-memo.pdf", settings)
$vbLabelText   $csharpLabel

Grayscale = true 與較低的 DPI(例如 )搭配使用,可建立快速且經濟的草稿列印設定,非常適合大量列印內部文件。 若要實現非阻塞工作流程,請將相同的 傳遞給 </a> 函式。

哪些檔案格式支援灰階列印?

IronPrint 支援該程式庫所處理的所有檔案格式的灰階輸出:PDF、PNG、TIFF、GIF、JPEG 及 BMP。 無論來源格式為何,屬性的應用方式皆相同 — 我們傳遞相同的 物件傳遞給 ``,無論是印製 PDF 報告或 JPEG 照片皆然。

針對需要先將 PDF 檔案轉換為灰階再進行列印的特定工作流程,IronPDF 的灰階渲染功能可提供此項能力。 相較之下,IronPrint 的 `` 屬性,會保留原始檔案的色彩,僅影響列印輸出。

接下來我該怎麼做?

我們已說明如何透過 PrintSettings.Grayscale = true 啟用灰階列印,並示範了無互動式與非同步的灰階工作流程;此外,我們探討了何時適合採用單色輸出,說明如何結合灰階與其他設定以進行草稿品質的批次列印,並確認了所有相容於 IronPrint 的檔案類型皆受支援。

如需進一步閱讀,請參考以下資源:

立即取得免費試用授權,在實際環境中測試所有功能;或於準備部署時查看授權方案

常見問題

什麼是 IronPrint .NET?

IronPrint .NET 是一套讓開發人員能在 C# 應用程式中管理列印任務的程式庫,支援灰階列印、靜音列印及非同步操作等功能。

如何使用 IronPrint 以灰階模式列印文件?

若要在 C# 中使用 IronPrint 以灰階列印文件,您可以設定 PrintSettings 屬性以啟用單色輸出,這有助於降低列印成本。

灰階列印有哪些好處?

以灰階列印可減少墨水或碳粉用量,從而節省成本,且適用於無需色彩的文件。

我可以使用 IronPrint 進行靜默列印嗎?

是的,IronPrint 支援靜默列印,可在不顯示任何列印對話方塊的情況下列印文件,非常適合自動化工作流程。

IronPrint 是否支援非同步列印?

IronPrint 支援非同步列印,可實現非阻塞操作,並在執行列印任務時提升應用程式效能。

如何結合 IronPrint 的列印設定?

透過在 C# 程式碼中適當設定 PrintSettings 物件,IronPrint 允許您結合灰階模式與靜音列印等設定。

IronPrint 是否適合用於經濟實惠的列印解決方案?

是的,IronPrint 旨在透過提供灰階列印及高效資源管理等功能,提供具成本效益的列印解決方案。

IronPrint 適用於哪種程式語言?

IronPrint 適用於 C# 程式語言,讓開發人員能將進階列印功能整合至其 .NET 應用程式中。

IronPrint 可用於批次列印任務嗎?

IronPrint 可用於批次列印任務,讓開發人員能高效地自動化多份文件的列印流程。

哪些類型的應用程式能從使用 IronPrint 中受益?

對於需要強大列印功能的應用程式(例如文件管理系統、報表工具及自動化工作流程),採用 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
執行範例程式,親眼見證您的文件送印。