如何將 HTML 文件呈現爲 PDF 在 C#

使用IronPDF在C#中將HTML文件轉換為PDF

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

IronPDF通過基於Chrome的引擎在C#中將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支持包括CSS3、JavaScript、圖像和字體等的高級HTML功能。 了解更多關於渲染選項以通過標題、頁尾、邊距等自定義您的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#
using 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

Dim renderer As 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 VB.NET
Using pdf = renderer.RenderHtmlFileAsPdf("example.html")
    ' Export to a file or Stream
    pdf.SaveAs("output.pdf")
End Using
$vbLabelText   $csharpLabel

PdfDocument物件,其包含PDF資訊。 您可以進一步操作此物件,例如,您可以新增標題和頁尾應用水印,或合併多個PDF至單一文件。

渲染選項可自定義輸出結果。 將Print可應用印刷專用的CSS規則,而邊距設置則建立全出血文件。 120秒的超時允許帶外部資源的複雜HTML文件完全載入。

50毫秒的RenderDelay確保在建立PDF之前載入所有資源。 這有助於處理JavaScript密集的頁面。 對於具有動態內容的複雜情況,請查看我們的JavaScript渲染指南

最終的PDF輸出結果是怎樣的?

這是程式碼生成的PDF文件:

我如何使用Chrome的預設列印設置?

要使用Chrome的預設列印選項,請存取RenderingOptions。 使用此設置,IronPDF的輸出完全與Chrome列印預覽匹配。

: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的預設設置非常有效。 此方法自動處理常見列印設置,如頁面中斷、頁眉/頁腳格式和標準邊距。

Icon Quote related to 我如何使用Chrome的預設列印設置?

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

Milan Jovanovic related to 我如何使用Chrome的預設列印設置?

Milan Jovanovic

Microsoft MVP

查看案例研究
Icon Quote related to 我如何使用Chrome的預設列印設置?

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

Brent Matzelle related to 我如何使用Chrome的預設列印設置?

Brent Matzelle

首席技術官,OPYN

查看案例研究
Icon Quote related to 我如何使用Chrome的預設列印設置?

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

David Jones related to 我如何使用Chrome的預設列印設置?

David Jones

首席軟體工程師,Agorus Build

查看案例研究

其他轉換選項

IronPDF提供幾個增強PDF生成工作流程的相關功能:

  • 從HTML字串轉換:動態生成HTML,直接將HTML字串轉換為PDF而不需要先保存到文件。
  • URL到PDF:使用我們的指南將現有網站URL轉換為PDF
  • HTML ZIP檔案:對於具有多個資源的複雜項目,學習如何將HTML ZIP檔案轉換為PDF
  • 自定義斷字HyphenationLanguage屬性進行斷字。 在您的CSS中將其設置為特定語言並與hyphens: auto一起使用以在生成的PDF中啟用自動斷字。 對於高級用例,CustomHyphenation屬性接受自定義斷字模式,這優先於基於語言的選項。

效能考量

在生產環境中將HTML文件轉換為PDF時,請考慮以下優化:

  1. 異步操作:使用異步PDF生成方法以提高應用程式的響應能力。
  2. 快取:將相同HTML文件多次轉換時快取生成的PDF,以避免重複渲染。
  3. 資源管理:完成後請總是釋放PdfDocument物件以釋放記憶體資源。
  4. 批量處理:在轉換多個文件時重用同一個ChromePdfRenderer實例以提高性能。

常見問題解答

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

  • 缺少資源:確保HTML中引用的所有CSS、JavaScript和圖像文件可從文件的位置存取。
  • 字體渲染:為了在各系統上保持一致的字體渲染,請在您的HTML中嵌入字體或查看我們的字體管理指南
  • 大文件:對於包含許多圖像或複雜佈局的HTML文件,使用PDF壓縮技術以減小文件大小。

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

常見問題

HTML 到 PDF 轉換使用的是哪種渲染引擎?

IronPDF 使用基於 Chrome 的渲染引擎將 HTML 文件轉換為 PDF。這確保您的 HTML 內容在 PDF 中準確呈現,與其在 Chrome 瀏覽器中的顯示效果相匹配。

如何在 C# 中將 HTML 文件轉換為 PDF?

using IronPDF 的 ChromePdfRenderer 類配合 RenderHtmlFileAsPdf 方法。只需將 HTML 文件路徑作為參數傳遞,然後使用 SaveAs 方法保存輸出。整個轉換過程僅需幾行程式碼。

在 PDF 轉換中支持哪些 HTML 功能?

IronPDF 支持包括 CSS3、JavaScript、圖像和字體在內的高級 HTML 功能。基於 Chrome 的引擎確保了轉換過程中對現代網頁標準的完全相容性。

我可以用標題和頁腳自定義 PDF 輸出嗎?

可以,IronPDF 允許對 PDF 輸出的廣泛自定義。您可以新增標題和頁腳、應用水印、設置邊距,並合併多個 PDF。RenderingOptions 配置提供對最終文件的精確控制。

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

在轉換之前在 Chrome 瀏覽器中測試您的 HTML 內容。由於 IronPDF 使用的是基於 Chrome 的渲染引擎,在 Chrome 中正確顯示的內容將在 PDF 中準確呈現。對於精確要求,請使用 IronPDF 的除錯指南進行像素無失真渲染。

轉換方法返回的物件型別是什麼?

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

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,296,129 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

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