如何在 C# 中將 HTML 字串渲染為 PDF | IronPDF

How to Convert HTML String to PDF in C

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

IronPDF使用 Chrome 渲染引擎,以 C# 語言將 HTML 字串轉換為 PDF 文檔,支援所有 HTML5、CSS3 和JavaScript內容,只需一行程式碼即可進行基本轉換。 該庫提供了強大的功能,可以在保持完美渲染保真度的同時建立 PDF 文件

IronPDF讓開發人員可以使用 C#、F# 和 VB .NET為.NET Core和.NET Framework輕鬆建立 PDF 文件。 IronPDF支援將任何 HTML 字串渲染成 PDF,並且渲染過程使用功能齊全的 Google Chromium 核心。這確保了 HTML 內容在現代瀏覽器中的顯示效果與在瀏覽器中完全一致,使其成為從動態 HTML 內容產生報表、發票和文件的理想選擇。

快速入門:將 HTML 字串在幾秒鐘內轉換為 PDF

使用IronPDF將 HTML 字串轉換為 PDF 檔案。 本指南示範如何使用最少的程式碼在 C# 中將 HTML 字串轉換為 PDF 文件。 非常適合需要在專案中整合 PDF 渲染功能的開發人員。

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

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

    IronPdf.ChromePdfRender.StaticRenderHtmlAsPdf("<p>Hello World</p>").SaveAs("string-to-pdf.pdf");
  3. 部署到您的生產環境進行測試

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

    arrow pointer


如何將簡單的HTML字串轉換為PDF?

以下是IronPDF使用 RenderHtmlAsPdf 方法將 HTML 字串渲染成 PDF 的範例。 該參數是一個HTML字串,將被渲染成PDF檔案。 此方法是 ChromePdfRenderer 類別的一部分,該類別可對您的 PDF 生成需求的渲染選項進行廣泛的控制。

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

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

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

RenderHtmlAsPdf 方法傳回一個 PdfDocument 對象,該對像是用來保存 PDF 資訊的類別。 該物件提供了許多操作 PDF 的方法,包括合併 PDF新增浮水印設定安全選項

當從外部來源取得 HTML 字串並且需要停用本機磁碟存取或跨網域請求時,請將 ChromePdfRenderer.EnableWebSecurity 屬性設為 true。

對於包含 CSS 樣式的複雜 HTML 內容,請使用"基本 URL 和資源編碼"功能,透過內嵌樣式增強 HTML 字串或引用外部樣式表:

// Example with inline CSS
var styledHtml = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; border-bottom: 2px solid #0066cc; }
        p { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Professional Report</h1>
    <p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";

var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
// Example with inline CSS
var styledHtml = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; border-bottom: 2px solid #0066cc; }
        p { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Professional Report</h1>
    <p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";

var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
$vbLabelText   $csharpLabel

產生的PDF檔案是什麼樣子的?

這是程式碼產生的檔案:

產生的 PDF 文件保留了 HTML 的精確格式和樣式,非常適合產生 PDF 報告或將 Web 內容轉換為可列印的文件。

如何在將 HTML 轉換為 PDF 時包含外部資源?

此範例展示了IronPDF如何從可選的 BasePath 載入外部影像資源。 設定 BaseUrlOrPath 屬性可以為超連結、映像、CSS 和JavaScript檔案提供相對檔案路徑或 URL 上下文。 在處理PDF 中的影像或需要引用外部資源時,此功能至關重要。

:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf-2.cs
using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
$vbLabelText   $csharpLabel

對於涉及複雜佈局或動態內容的進階場景,請利用 IronPDF 對JavaScript渲染的支援:

// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
    <script>
        window.onload = function() {
            document.getElementById('dynamic').innerHTML = 
                'Generated on: ' + new Date().toLocaleString();
        };
    </script>
</head>
<body>
    <h1>Dynamic Content Example</h1>
    <div id='dynamic'></div>
</body>
</html>";

// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
    <script>
        window.onload = function() {
            document.getElementById('dynamic').innerHTML = 
                'Generated on: ' + new Date().toLocaleString();
        };
    </script>
</head>
<body>
    <h1>Dynamic Content Example</h1>
    <div id='dynamic'></div>
</body>
</html>";

// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
$vbLabelText   $csharpLabel

使用外部資源時,您可能需要處理身分驗證或特殊標頭。 IronPDF透過HTTP 請求標頭功能支援此功能,讓您在取得資源時包含授權令牌或自訂標頭。

為什麼設定外部資源的 BasePath 很重要?

這是程式碼產生的檔案:

正確設定 BasePath 可確保 HTML 中的所有相對引用都能正確解析。 如果沒有它, IronPDF將無法找到外部資源,例如圖像、樣式表或腳本。這在以下情況下尤其重要:

  1. 轉換引用本機檔案系統資源的 HTML
  2. 使用相對 URL 的內容管理系統
  3. 將現有網頁內容移轉到 PDF 格式
  4. 建立使用共享資源的模板

對於基於 Web 的資源,請使用完整的 URL 作為基本路徑:

// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
    "<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>", 
    "https://mywebsite.com"
);
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
    "<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>", 
    "https://mywebsite.com"
);
$vbLabelText   $csharpLabel

如需進一步控制 PDF 產生流程,請查閱 IronPDF 的大量文檔,以了解自訂邊距頁面方向PDF 壓縮等功能,以針對各種使用情境最佳化輸出文件。

常見問題解答

如何在 C# 中將簡單的 HTML 字串轉換為 PDF?

您可以使用 IronPDF 的 ChromePdfRenderer 類與 RenderHtmlAsPdf 方法將 HTML 字串轉換為 PDF。只需實體化該渲染器,將 HTML 字串傳給該方法,並保存生成的 PdfDocument 物件即可。IronPDF 使用 Chrome 渲染引擎以確保完美的保真度。

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

IronPDF 使用功能完備的 Google Chromium 引擎版本來將 HTML 渲染成 PDF。這可確保您的 HTML 內容(包括 HTML5、CSS3 和 JavaScript)在現代 Web 瀏覽器中的顯示效果完全一樣。

我可以將採用 CSS 設定的 HTML 轉換成 PDF 嗎?

是的,IronPDF 支持将帶有 CSS 样式的 HTML 轉换為 PDF。您可以直接在 HTML 字串中使用內嵌樣式,或使用基礎 URL 與資產編碼功能引用外部樣式表,以確保樣式內容的正確呈現。

將 HTML 轉換成 PDF 的最快方法是什麼?

最快速的方法是使用 IronPDF 的靜態方法:IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("Your HTML").SaveAs("output.pdf").這一行程式碼會轉換您的 HTML 字串,並將其儲存為 PDF 檔案。

轉換 HTML 字串時,如何處理外部資產?

IronPDF 允許您為 PDF 中的外部資產設定 BasePath。這可確保在轉換過程中能正確載入圖片、樣式表以及 HTML 中引用的其他資源。

從 HTML 轉換成 PDF 時,我可以自訂 PDF 輸出嗎?

是的,IronPDF 提供了廣泛的 RenderingOptions 來微調您的 PDF 輸出。您可以透過 ChromePdfRenderer 類別來控制頁面大小、邊界、頁首、頁尾,以及所產生 PDF 的許多其他方面。

轉換完成後,我可以如何處理產生的 PDF?

IronPDF 的 PdfDocument 物件提供了大量的 PDF 操作方法,包括合併 PDF、添加水印、設定安全選項等。轉換後的 PDF 可儲存至磁碟、串流或依需要進一步處理。

從外部來源轉換 HTML 時,該如何處理安全性問題?

從外部來源轉換 HTML 時,IronPDF 允許您在 ChromePdfRenderer 上設定 EnableWebSecurity 屬性為 true。這將禁用本機磁碟存取和跨來源請求,以增強安全性。

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檔。