如何在 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. 使用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;

// Silently print a color PDF as black-and-white
PrintSettings settings = new PrintSettings
{
    Grayscale = true
};

Printer.Print("color-brochure.pdf", settings);
Imports IronPrint

' Silently print a color PDF as black-and-white
Dim settings As New PrintSettings With {
    .Grayscale = True
}

Printer.Print("color-brochure.pdf", settings)
$vbLabelText   $csharpLabel

Grayscaletrue 時,印表機驅動程式會在上墨前去除色彩資訊。 原始檔案保持不變 — 只有列印輸出為單色。 這與在 Windows 列印對話方塊中手動選取「黑白」或「灰階」的效果相同,但我們以程式化方式控制,無需任何使用者互動。

未明確設定時,Grayscale 預設為 false,表示文件預設以全彩列印。

何時應使用灰階列印?

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

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

可讀性 — 含有淺色文字或柔和背景色的文件在紙張上可能難以閱讀。 灰階轉換通常能提升文字密集內容的對比度與易讀性。

法規合規與歸檔 — 某些受監管的行業要求提交單色副本。 灰階輸出可在不修改來源文件的前提下滿足此要求。

對於色彩準確性至關重要的文件(行銷素材、品牌資料、含色碼資料的圖表),請將 Grayscale 保留為預設值 false

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

GrayscalePrintSettings 上的其中一個屬性。 我們可以將它與紙張邊距、紙張尺寸、方向、DPI、份數印表機選擇整合到單一設定物件中:

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

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

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

' Full configuration: grayscale draft printing for internal distribution
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"
}

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

Grayscale = true 與較低 DPI(如 150)搭配使用,可建立快速、經濟的草稿列印設定,非常適合大量內部文件。 對於非阻塞式工作流程,請改為將相同的 PrintSettings 傳遞給 Printer.PrintAsync()

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

IronPrint 支援函式庫所處理的所有檔案格式輸出灰階:PDF、PNG、TIFF、GIF、JPEG 和 BMP。 無論來源格式為何,Grayscale 屬性的套用方式完全相同 — 無論是列印 PDF 報告還是 JPEG 相片,我們都傳遞相同的 PrintSettings 物件給 Printer.Print()

對於需要在列印前將檔案本身轉換為灰階的 PDF 專屬工作流程,IronPDF 的灰階渲染功能提供了此能力。 相比之下,IronPrint 的 Grayscale 屬性會保持來源檔案為彩色,僅影響列印輸出結果。

接下來我該怎麼做?

我們介紹了如何使用 PrintSettings.Grayscale = true 啟用灰階列印,示範了靜默與非同步灰階工作流程,討論了何時使用單色輸出,並將灰階與其他設定結合以進行草稿品質批次列印,同時確認了所有 IronPrint 相容檔案格式的支援情況。

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

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

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 38,930 | 版本: 2026.4 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronPrint
執行範例 觀看您的文件打到印表機上。