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

使用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內容?

這是程式碼渲染出的 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");
$vbLabelText   $csharpLabel

RenderHtmlFileAsPdf 方法傳回一個PdfDocument對象,該對象保存 PDF 資訊。 您可以進一步操作此物件—例如,您可以新增頁首和頁尾套用浮水印,或將多個 PDF 合併到一個文件中。

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

50 毫秒 RenderDelay 確保在建立 PDF 之前載入所有資源。 這有助於處理大量使用 JavaScript 的頁面。 對於具有動態內容的複雜場景,請參閱我們的JavaScript渲染指南。

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

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

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

若要使用 Chrome 的預設列印選項,請造訪 DefaultChrome 類別的 ChromePdfRenderOptions 屬性並將其指派給 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;
$vbLabelText   $csharpLabel

如果您希望 PDF 檔案與使用者在瀏覽器中列印時看到的內容一致,Chrome 的預設設定可以很好地滿足您的需求。 這種方法可以自動處理常見的列印設置,如分頁符號、頁首/頁尾格式和標準邊距。

其他轉換選項

IronPDF提供多種相關功能,可增強 PDF 產生工作流程:

-從 HTML 字串轉換:動態產生 HTML,並將HTML 字串直接轉換為 PDF,無需先儲存到檔案。

性能考量

在生產環境中將 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?

使用 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 下載 17,803,474 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速取得證據? PM > Install-Package IronPdf
運行範例看著你的HTML程式碼變成PDF檔。