如何在C#中生成灰階PDF文件

如何在C#中生成灰度PDF

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

IronPDF使您能夠通過將true,將PDF渲染為灰度,將彩色內容轉換為灰度陰影,以實現成本效益的列印和提高可讀性。

快速入門:使用IronPDF將彩色PDF轉換為灰度

只需幾行程式碼,即可使用IronPDF將彩色PDF轉換為灰度。 在GrayScale屬性,以將網頁或HTML內容渲染為灰度PDF。 本指南將向您展示如何生成一致查看的灰度文件。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼片段。

    var renderer = new IronPdf.ChromePdfRenderer();
    renderer.RenderingOptions.GrayScale = true;
    var pdf = renderer.RenderUrlAsPdf("https://example.com");
    pdf.SaveAs("grayscale.pdf");
  3. 部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronPDF,透過免費試用

    arrow pointer


如何生成灰度PDF?

要生成灰度PDF,將true。 此功能是IronPDF綜合渲染選項的一部分,為您提供對PDF輸出的精細控制。

在提供的程式碼片段中,實例化ChromePdfRenderer後啟用了灰度功能。 然後它使用RenderUrlAsPdf方法渲染網頁。 程式碼還提取了渲染的PDF的首頁並將其保存在本地。 如果您不熟悉IronPDF,請查看我們的快速入門指南以掌握基礎知識。

為什麼將GrayScale設置為True會轉換顏色?

灰度PDF是一種文件,其中所有顏色和陰影都使用灰色陰影表示,而不是全色光譜。 啟用GrayScale選項後,IronPDF的Chrome渲染引擎會自動使用行業標準亮度計算將所有RGB顏色值轉換為相應的灰度等效值。 這確保在刪除所有顏色資訊的同時保持原始文件的視覺層級和對比度。

什麼時候應使用灰度PDF?

IronPDF以灰度而非顏色渲染PDF文件。 以灰度列印PDF文件對於大批量列印具成本效益。 在原始顏色過於明亮或鮮豔時,以灰度渲染可提高可讀性。 灰度PDF在裝置、軟體和平台之間具有更高的相容性,確保一致的查看和列印體驗。

灰度PDF的常見用途包括:

  • 商業報告:財務文件通常在灰度中看起來更專業
  • 法律文件:法院文件和法律簡報通常需要灰度格式
  • 學術論文:研究論文和論文通常以灰度列印
  • 大量列印:當列印數百頁時,灰度能降成本
  • 存檔文件:適合長期儲存和PDF/A合規

將文字轉換為灰度時會發生什麼?

目前的灰度功能實現將渲染的PDF文件中的文字轉換為圖像,導致ExtractAllImages方法不輸出任何文字。

目前,這種功能僅在渲染PDF時可用。 未來的更新可能會包括將現有PDF文件轉換為灰度的功能。 欲了解更多關於文字提取的資訊,請參閱我們的提取文字和圖像指南

:path=/static-assets/pdf/content-code-examples/how-to/color-grayscale-grayscale.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set GrayScale to true
renderer.RenderingOptions.GrayScale = true;

PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironsoftware.com/");
pdf.CopyPage(0).SaveAs("test.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Set GrayScale to true
renderer.RenderingOptions.GrayScale = True

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironsoftware.com/")
pdf.CopyPage(0).SaveAs("test.pdf")
$vbLabelText   $csharpLabel
Icon Quote related to 將文字轉換為灰度時會發生什麼?

我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic related to 將文字轉換為灰度時會發生什麼?

Milan Jovanovic

Microsoft MVP

查看案例研究
Icon Quote related to 將文字轉換為灰度時會發生什麼?

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle related to 將文字轉換為灰度時會發生什麼?

Brent Matzelle

首席技術官,OPYN

查看案例研究
Icon Quote related to 將文字轉換為灰度時會發生什麼?

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

David Jones related to 將文字轉換為灰度時會發生什麼?

David Jones

首席軟體工程師,Agorus Build

查看案例研究

高級灰度PDF生成範例

將HTML文件轉換為灰度PDF

處理本地HTML文件時,您可以將其轉換為灰度PDF。 這在您有需要渲染無色彩設計的模板或報告時很有用。 了解更多將HTML文件轉換為PDF

:path=/static-assets/pdf/content-code-examples/how-to/color-grayscale-3.cs
using IronPdf;

// Create a renderer with grayscale enabled
var renderer = new ChromePdfRenderer()
{
    RenderingOptions = new ChromePdfRenderOptions()
    {
        GrayScale = true,
        MarginTop = 50,
        MarginBottom = 50,
        MarginLeft = 20,
        MarginRight = 20
    }
};

// Render an HTML file to grayscale PDF
var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Reports\MonthlyReport.html");
pdf.SaveAs(@"C:\Reports\MonthlyReport_Grayscale.pdf");
Imports IronPdf

' Create a renderer with grayscale enabled
Dim renderer As New ChromePdfRenderer() With {
    .RenderingOptions = New ChromePdfRenderOptions() With {
        .GrayScale = True,
        .MarginTop = 50,
        .MarginBottom = 50,
        .MarginLeft = 20,
        .MarginRight = 20
    }
}

' Render an HTML file to grayscale PDF
Dim pdf = renderer.RenderHtmlFileAsPdf("C:\Reports\MonthlyReport.html")
pdf.SaveAs("C:\Reports\MonthlyReport_Grayscale.pdf")
$vbLabelText   $csharpLabel

從HTML字串建立灰度PDF

對於動態內容生成,將HTML字串直接轉換為灰度PDF。 此方法適用於生成發票、收據或任何程式化建立內容的文件。 如需更多詳情,請存取我們的HTML字串轉PDF指南

:path=/static-assets/pdf/content-code-examples/how-to/color-grayscale-4.cs
using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.GrayScale = true;

// HTML content with inline CSS
string htmlContent = @"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .header { background-color: #4CAF50; color: white; padding: 20px; }
            .content { padding: 20px; }
            .highlight { background-color: #ffeb3b; padding: 5px; }
        </style>
    </head>
    <body>
        <div class='header'>
            <h1>Invoice #12345</h1>
        </div>
        <div class='content'>
            <p>This colorful invoice will be rendered in grayscale.</p>
            <p class='highlight'>Highlighted sections maintain contrast in grayscale.</p>
        </div>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("invoice_grayscale.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.GrayScale = True

' HTML content with inline CSS
Dim htmlContent As String = "
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .header { background-color: #4CAF50; color: white; padding: 20px; }
            .content { padding: 20px; }
            .highlight { background-color: #ffeb3b; padding: 5px; }
        </style>
    </head>
    <body>
        <div class='header'>
            <h1>Invoice #12345</h1>
        </div>
        <div class='content'>
            <p>This colorful invoice will be rendered in grayscale.</p>
            <p class='highlight'>Highlighted sections maintain contrast in grayscale.</p>
        </div>
    </body>
    </html>"

Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("invoice_grayscale.pdf")
$vbLabelText   $csharpLabel

性能考量

生成灰度PDF時,請考慮這些性能因素:

  1. 文件大小:灰度PDF比彩色版本小,更適合電子郵件附件和網路下載
  2. 渲染速度:灰度轉換只增加極小的渲染時間負荷
  3. 記憶體使用量:灰度渲染比全色渲染使用較少記憶體,對於大文件尤其有益

為了在生成多個灰度PDF時獲得更好的性能,請使用異步和多執行緒技術

與其他IronPDF功能整合

將灰度PDF與其他IronPDF功能結合使用,以進行全面的文件處理:

  • 頁眉和頁腳:使用我們的頁眉和頁腳指南,在灰度文件中新增專業的頁眉和頁腳
  • 頁碼:根據我們的頁碼教程,在您的灰度PDF中加入頁碼
  • 水印:對灰度PDF應用水印以進行品牌化或安全性
  • PDF壓縮:通過結合灰度渲染和PDF壓縮進一步減小文件大小

生成灰度PDF的最佳做法

  1. 測試色彩對比:在轉換前確保元素之間有足夠的對比
  2. 使用語義HTML:結構良好的HTML產生更好的灰度轉換結果
  3. 考慮可存取性:灰度PDF能改善一些視覺障礙的可讀性
  4. 在生產前預覽:在生成大量文件前,經常預覽灰度輸出

常見問題的故障排除

如果您遇到灰度PDF生成問題:

  1. 文字顯得模糊:在渲染選項中使用適當的DPI設置
  2. 圖像看起來偏淡:在轉換前調整源圖像對比度
  3. 性能問題:對經常生成的灰度PDF實施快取

欲了解詳細故障排除,請存取我們的全面故障排除指南

準備好看看您還能做什麼嗎? 您可以在這裡查看我們的教程頁面:轉換PDF

常見問題

如何在C#中將彩色PDF轉換為灰階?

要使用IronPDF將彩色PDF轉換為灰階,實例化一個ChromePdfRenderer物件,然後將RenderingOptions中的GrayScale屬性設置為true。接著使用例如RenderUrlAsPdf、RenderHtmlAsPdf或RenderHtmlFileAsPdf的方法來生成您的灰階PDF文件。

RenderingOptions中的GrayScale屬性的目的是什麼?

IronPDF的RenderingOptions中的GrayScale屬性將PDF中的所有顏色轉換為灰階。在設置為true時,IronPDF的Chrome渲染引擎會自動計算RGB色彩的亮度值,並將它們轉換為相應的灰階,同時保留視覺層次結構和對比度。

我為什麼要使用灰階PDF而不是彩色PDF?

IronPDF的灰階渲染對於大型批量操作的節省成本列印尤為合適。當原始顏色過於明亮時,灰階PDF也能增強可讀性,確保在不同裝置和平臺間更好的相容性,並提供一致的觀看體驗。

我能否將特定頁面轉換為灰階而保留其他頁面為彩色?

使用IronPDF,您可以在灰階中渲染文件,然後使用CopyPage等方法提取特定頁面。在啟用GrayScale屬性時,整個文件將以灰階形式渲染,但您可以結合不同的渲染過程來建立混合的彩色和灰階文件。

哪些型別的內容可以轉換為灰階PDF?

IronPDF可以將各種內容型別轉換為灰階PDF,包括通過RenderUrlAsPdf的網頁、通過RenderHtmlAsPdf的HTML字串,以及使用RenderHtmlFileAsPdf的HTML文件。所有內容型別均支持相同的GrayScale渲染選項,以獲得一致的結果。

Hairil Hasyimi Bin Omar
軟體工程師
和所有偉大的工程師一樣,Hairil是一位充滿熱情的學習者。他正在完善自己對C#、Python和Java的知識,並利用這些知識為Iron Software的團隊成員創造價值。Hairil從馬來西亞的瑪拉工藝大學畢業,擁有化學與流程工程學士學位,後加入Iron Software團隊。
準備開始了嗎?
Nuget 下載 19,936,792 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。