如何在 C# 中將 HTML 文件渲染為 PDF

Render HTML File to PDF in C# with IronPDF.

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

IronPDF 透過基於 Chrome 的引擎渲染 HTML 檔案,將 HTML 檔案轉換為 PDF 文件,只需呼叫一個方法即可將任何可存取的 HTML 檔案轉換為專業的 PDF 輸出。

IronPDF 可渲染機器可存取的任何 HTML 檔案,是直接生成 PDF 的解決方案。

快速入門:使用 IronPDF 將 HTML 檔案轉換為 PDF

使用 IronPDF 只需幾行程式碼即可將 HTML 檔案轉換為 PDF。 ChromePdfRenderer 類別可快速將 HTML 內容轉換為 PDF 文件。 指定您的 HTML 檔案路徑,IronPDF 即會處理轉換。 這種簡化的流程使其成為在 C# 應用程式中加入 PDF 生成功能的理想選擇。

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

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

    new IronPdf.ChromePdfRenderer()
      .RenderHtmlFileAsPdf("path/to/your/file.html")
      .SaveAs("output.pdf");
  3. 部署到您的生產環境進行測試

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

    arrow pointer

如何使用 IronPDF 將 HTML 檔案轉換為 PDF?

IronPDF 會使用 RenderHtmlFileAsPdf 方法將 HTML 檔案渲染為 PDF 檔案。 此參數是本機 HTML 檔案的檔案路徑。

此方法可讓開發人員在開發過程中在瀏覽器中測試 HTML 內容。 他們可以在轉換前驗證渲染的保真度。 建議使用 Chrome 瀏覽器,因為 IronPDF 的渲染引擎是以 Chrome 為基礎。

如果內容能在 Chrome 中正確顯示,也能在 IronPDF 中正確呈現。 如需精確的呈現要求,請參閱我們的 使用 Chrome 調試 HTML 指南,以確保您的 PDF 符合您的期望。

我可以轉換哪些 HTML 內容?

這是程式碼渲染出的 example.html HTML 檔案:


<!DOCTYPE html>
<html>
    <head>
        <title>Page Title</title>
    </head>

    <body>
        <h1>My First Heading</h1>
        <p>My first paragraph.</p>
    </body>
</html>

<!DOCTYPE html>
<html>
    <head>
        <title>Page Title</title>
    </head>

    <body>
        <h1>My First Heading</h1>
        <p>My first paragraph.</p>
    </body>
</html>
HTML

下面顯示的是網頁上渲染的HTML檔。

IronPDF 支援先進的 HTML 功能,包括 CSS3、JavaScript、圖片和字型。 進一步瞭解 渲染選項,使用頁眉、頁腳、頁邊距等自訂 PDF 輸出。

如何在 C# 中實現轉換?

:path=/static-assets/pdf/content-code-examples/how-to/html-file-to-pdf.cs
using IronPdf;
using IronPdf.Engines.Chrome;
using IronPdf.Rendering;


var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        CssMediaType = PdfCssMediaType.Print,
        MarginBottom = 0,
        MarginLeft = 0,
        MarginRight = 0,
        MarginTop = 0,
        Timeout = 120,
    },
};
renderer.RenderingOptions.WaitFor.RenderDelay(50);

// Create a PDF from an existing HTML file using C#
var pdf = renderer.RenderHtmlFileAsPdf("example.html");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
Imports IronPdf.Engines.Chrome
Imports IronPdf.Rendering


Private renderer = New ChromePdfRenderer With {
	.RenderingOptions = New ChromePdfRenderOptions With {
		.CssMediaType = PdfCssMediaType.Print,
		.MarginBottom = 0,
		.MarginLeft = 0,
		.MarginRight = 0,
		.MarginTop = 0,
		.Timeout = 120
	}
}
renderer.RenderingOptions.WaitFor.RenderDelay(50)

' Create a PDF from an existing HTML file using C#
Dim pdf = renderer.RenderHtmlFileAsPdf("example.html")

' Export to a file or Stream
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

RenderHtmlFileAsPdf 方法會傳回一個 PdfDocument 物件,該物件包含 PDF 資訊。 您可以進一步操作此物件 - 例如,您可以 新增頁首和頁尾套用水印,或 將多個 PDF 文件合併為單一文件。

渲染選項可自訂輸出。 將 CssMediaType 設定為 Print 會套用特定於 PRINT 的 CSS 規則,而邊距設定則會產生全版列印的文件。 120 秒的逾時時間可讓包含外部資源的複雜 HTML 檔案完全載入。

50 毫秒的 RenderDelay 延遲可確保在建立 PDF 之前,所有資源均已載入。 這有助於 JavaScript 較多的頁面。 針對具有動態內容的複雜情況,請參閱我們的 JavaScript 渲染指南

最終的 PDF 輸出是什麼樣子?

這是程式碼產生的PDF檔案:

如何使用 Chrome 的預設列印設定?

若要使用 Chrome 的預設列印選項,請存取 ChromePdfRenderOptions 類別的 DefaultChrome 屬性,並將其指派給 RenderingOptions。 在此設定下,IronPDF 的輸出與 Chrome Print Preview 完全匹配。

:path=/static-assets/pdf/content-code-examples/how-to/html-file-to-pdf-default-chrome.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure the rendering options to default Chrome options
renderer.RenderingOptions = ChromePdfRenderOptions.DefaultChrome;
Imports IronPdf

Private renderer As New ChromePdfRenderer()

' Configure the rendering options to default Chrome options
renderer.RenderingOptions = ChromePdfRenderOptions.DefaultChrome
$vbLabelText   $csharpLabel

當您希望 PDF 與使用者從瀏覽器列印時所看到的內容相符時,Chrome 的預設設定就會很好用。 此方法可自動處理常見的列印設定,例如分頁符號、頁首/頁尾格式以及標準頁邊空白。

其他轉換選項

IronPDF 提供多項相關功能,可強化 PDF 生成工作流程:

  • 從 HTML 字串轉換:動態產生 HTML,直接將 HTML 字串轉換為 PDF,而無需先儲存為檔案。
  • URL 至 PDF:使用我們的 將 URL 轉換為 PDF 指南來轉換即時網站。
  • HTML ZIP 檔案:針對具有多種資源的複雜專案,學習如何 將 HTML ZIP 檔案轉換為 PDF
  • 自訂分字:ChromePdfRenderOptions 透過 HyphenationLanguage 屬性支援分字功能。 請在 CSS 中將其與 hyphens: auto 搭配設定為特定語言,以啟用生成的 PDF 中的自動換行功能。 針對進階使用情境,CustomHyphenation 屬性可接受自訂連字模式,其優先級高於基於語言的選項。

效能考量

在生產環境中將 HTML 檔案轉換為 PDF 時,請考慮這些最佳化:

1.同步操作:使用 async PDF 生成方法可獲得更好的應用程式回應能力。 2.快取:在多次轉換相同的 HTML 檔案時,快取所產生的 PDF,以避免重複渲染。

  1. 資源管理:完成操作後請務必釋放 PdfDocument 物件,以釋放記憶體資源。
  2. 批次處理:轉換多個檔案時,重複使用同一個 ChromePdfRenderer 實例,以提升效能。

疑難排解常見問題

如果您在 HTML 轉換為 PDF 的過程中遇到問題,請嘗試這些解決方案:

  • 遺失的資源:確保在您的 HTML 中引用的所有 CSS、JavaScript 和圖片檔案都能從檔案的位置存取。
  • 字體呈現:若要跨系統一致的字型呈現,請在 HTML 中嵌入字型或探索我們的 字型管理指南
  • 大型檔案:對於有許多圖片或複雜佈局的 HTML 檔案,請使用 PDF 壓縮技術 來縮小檔案大小。

準備好看看您還能做些什麼嗎? 請造訪我們的教學頁面:轉換 PDF 文件

常見問題解答

HTML 至 PDF 的轉換使用何種渲染引擎?

IronPDF 使用基於 Chrome 的渲染引擎將 HTML 檔案轉換為 PDF。這可確保您的 HTML 內容在 PDF 中準確呈現,與 Chrome 瀏覽器中的顯示方式相符。

如何用 C# 將 HTML 檔案轉換為 PDF?

使用 IronPDF 的 ChromePdfRenderer 類與 RenderHtmlFileAsPdf 方法。只需傳入 HTML 檔案路徑作為參數,並使用 SaveAs 方法儲存輸出即可。整個轉換只需要幾行程式碼。

PDF 轉換支援哪些 HTML 功能?

IronPDF 支援先進的 HTML 功能,包括 CSS3、JavaScript、圖片和字型。基於 Chrome 的引擎可確保在轉換過程中與現代網路標準完全相容。

我可以自訂 PDF 輸出的頁首與頁尾嗎?

是的,IronPDF 允許對 PDF 輸出進行廣泛的自訂。您可以新增頁首與頁尾,套用水印,設定頁邊,以及合併多個 PDF。RenderingOptions 配置提供了對最終文件的微調控制。

在轉換為 PDF 之前,如何確保 HTML 能正確呈現?

轉換前在 Chrome 瀏覽器中測試您的 HTML 內容。由於 IronPDF 使用基於 Chrome 的渲染引擎,因此在 Chrome 瀏覽器中能正確顯示的內容,在 PDF 中也能準確渲染。如需精確要求,請使用 IronPDF 的調試指南,以獲得像素級的完美呈現。

轉換方法會返回何種物件類型?

RenderHtmlFileAsPdf 方法會返回一個 PdfDocument 物件。此物件包含所有 PDF 資訊,並可進一步操作以進行其他作業,例如新增水印或與其他 PDF 合併。

Curtis Chau
技術作家

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

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

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

還在捲動嗎?

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