使用 IronPDF 在 C# 中將 HTML 檔案轉換為 PDF
IronPDF 透過基於 Chrome 的引擎渲染 HTML 檔案,使其在 C# 環境中轉換為 PDF 文件,僅需單一方法呼叫,即可將任何可存取的 HTML 檔案轉化為專業級的 PDF 輸出。
IronPDF 可渲染電腦可存取的任何 HTML 檔案,使其成為生成 PDF 的簡易解決方案。
快速入門:使用 IronPDF 將 HTML 檔案轉換為 PDF
只需幾行程式碼,即可使用 IronPDF 將 HTML 檔案轉換為 PDF。 ChromePdfRenderer 類別可快速將 HTML 內容轉換為 PDF 文件。 請指定您的 HTML 檔案路徑,IronPDF 將自動處理轉換。 此簡化流程使其成為為 C# 應用程式新增 PDF 生成功能的理想選擇。
簡化工作流程(5 個步驟)
- 下載 IronPDF 函式庫以進行 HTML 轉 PDF 轉換
- 建立 ChromePdfRenderer 類別的實例
- 設定 RenderingOptions 以微調輸出 PDF
- 將 HTML 檔案路徑傳遞給渲染器
- 儲存並下載 PDF
RenderHtmlFileAsPdf
如何使用 IronPDF 將 HTML 檔案轉換為 PDF?
IronPDF 會使用 RenderHtmlFileAsPdf() 方法將 HTML 檔案渲染為 PDF 檔案。 該參數為本地 HTML 檔案的路徑。
此方法讓開發人員能在開發過程中於瀏覽器中測試 HTML 內容。 他們可在轉換前驗證渲染的準確性。 建議使用 Chrome 瀏覽器,因為 IronPDF 的渲染引擎即以此為基礎。
若內容在 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 檔案顯示如下。
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")
RenderHtmlFileAsPdf() 方法會傳回一個 PdfDocument 物件,該物件包含 PDF 資訊。 您可以進一步操作此物件——例如,您可以新增頁首和頁尾、套用浮水印,或將多個 PDF 合併為單一文件。
渲染選項可自訂輸出內容。 將 CssMediaType 設定為 Print 會套用特定於 PRINT 的 CSS 規則,而邊距設定則會建立全版排版文件。 120 秒的超時設定可讓包含外部資源的複雜 HTML 檔案完全載入。
50 毫秒的 RenderDelay 確保所有資源在建立 PDF/A 之前皆已載入。 這有助於處理 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;
Imports IronPdf
Private renderer As New ChromePdfRenderer()
' Configure the rendering options to default Chrome options
renderer.RenderingOptions = ChromePdfRenderOptions.DefaultChrome
若您希望 PDF 文件與使用者從瀏覽器列印時所見的內容一致,Chrome 的預設設定便能發揮良好效果。 此方法會自動處理常見的列印設定,例如分頁、頁首/頁尾格式以及標準邊距。
其他轉換選項
IronPDF 提供多項相關功能,可優化 PDF 生成工作流程:
- 從 HTML 字串轉換:動態產生 HTML,並將 HTML 字串直接轉換為 PDF,無需先儲存為檔案。
- URL 轉 PDF:透過我們的"URL 轉 PDF 指南",將線上網站轉換為 PDF 檔案。
- HTML ZIP 壓縮檔:針對包含多項資源的複雜專案,瞭解如何將 HTML ZIP 檔案轉換為 PDF。
- 自訂連字:
ChromePdfRenderOptions透過HyphenationLanguage屬性支援連字功能。 請在 CSS 中將其與hyphens: auto搭配設定為特定語言,以啟用生成的 PDF 中的自動斷字功能。 針對進階使用情境,CustomHyphenation屬性可接受自訂的斷字模式,此模式將優先於基於語言的預設選項。
效能考量
在生產環境中將 HTML 檔案轉換為 PDF 時,請考慮以下優化措施:
- 非同步操作:使用非同步 PDF 生成方法,以提升應用程式的響應速度。
- 快取:當多次轉換同一 HTML 檔案時,請將生成的 PDF 檔案快取,以避免重複渲染。
- 資源管理:完成操作後,請務必釋放
PdfDocument物件以釋放記憶體資源。 - 批次處理:轉換多個檔案時,請重複使用同一個
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 設定,可對最終文件進行精細的控制。
如何確保 HTML 在轉換為 PDF 之前能正確渲染?
轉換前請先在 Chrome 瀏覽器中測試您的 HTML 內容。由於 IronPDF 使用基於 Chrome 的渲染引擎,在 Chrome 中顯示正確的內容將在 PDF 中準確呈現。如需精確的渲染要求,請參閱 IronPDF 的除錯指南以實現像素級精準渲染。
轉換方法會傳回哪種物件類型?
RenderHtmlFileAsPdf 方法會傳回一個 PdfDocument 物件。此物件包含所有 PDF 資訊,並可進一步進行操作,例如添加浮水印或與其他 PDF 合併。

