如何在 .NET 10 中將 HTML 轉換為 PDF
將網頁內容轉換為可攜式文件格式 (PDF) 是現代 .NET 應用程式的常見需求。 無論您需要存檔網頁、產生發票或提供可下載的報告,快速可靠地將 HTML 轉換為 PDF 的能力都至關重要。 IronPDF是一個功能強大的 .NET 程式庫,它提供強大的 PDF 轉換功能,使開發人員能夠以最少的程式碼直接將 HTML、HTML 字串或整個網頁轉換為樣式完整的 PDF 文件。
本指南將引導您完成 C# 中的HTML 到 PDF 轉換,包括動態文件、自訂標題和複雜佈局,同時示範如何使用 IronPDF 有效地產生 PDF。
為什麼在 C# 中使用 IronPDF 進行 HTML 轉 PDF?
雖然有許多第三方函式庫可用於 HTML 轉 PDF,但 IronPDF 在 .NET 生態系統中脫穎而出,原因有以下幾點:
只需幾行程式碼即可編輯 PDF 文件、新增數位簽章並儲存 PDF 檔案。
渲染整個網頁,支援列印 CSS、指定 URL 渲染和預期佈局保真度。
使用公共靜態非同步 Task 方法或同步 API 產生具有動態內容的大規模 PDF。
與 .NET Core、.NET Framework 和最新版本的 C# 無縫協作。
- 支援 API 整合、命令列和商業許可使用場景。
入門指南:安裝 IronPDF
您可以透過 NuGet 套件管理器安裝 IronPDF:
Install-Package IronPdfInstall-Package IronPdf'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf安裝完成後,您可以立即開始從 HTML 內容或網頁建立 PDF 文件。
簡單的 HTML 轉 PDF 轉換
只需幾行程式碼即可將 HTML 轉換為 PDF:
using IronPdf;
class Program
{
static void Main(string[] args)
{
// Your HTML content
string html = "<h1>Welcome to IronPDF</h1><p>This is a generated PDF document.</p>";
// Convert HTML string to PDF
var pdf = new ChromePdfRenderer().RenderHtmlAsPdf(html);
// Save PDF
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF generated successfully!");
}
}using IronPdf;
class Program
{
static void Main(string[] args)
{
// Your HTML content
string html = "<h1>Welcome to IronPDF</h1><p>This is a generated PDF document.</p>";
// Convert HTML string to PDF
var pdf = new ChromePdfRenderer().RenderHtmlAsPdf(html);
// Save PDF
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF generated successfully!");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com在第一個範例中,我們將一個簡單的 HTML 字串轉換為 PDF 文件。 使用 IronPdf; 該線路引入了 IronPDF 庫,使我們能夠使用其強大的 HTML 到 PDF 轉換功能。 我們用字串定義 HTML 內容,它可以像標題和段落一樣簡單,也可以像一整頁 HTML 程式碼一樣複雜。
IronPDF 使用 RenderHtmlAsPdf 將 HTML 渲染成格式完整的 PDF。 最後,SaveAs 將 PDF 寫入磁碟,並列印確認訊息。 這是一個很好的例子,展示如何僅用幾行程式碼產生 PDF 文件,而無需擔心 Microsoft Office 的依賴項。
轉換 HTML 文件或網頁
IronPDF 還允許您將整個網頁或本機 HTML 檔案轉換為 PDF 文件:
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// Optional settings
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.WaitFor.RenderDelay(3000);
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("wikipedia.pdf");
}
}using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// Optional settings
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.WaitFor.RenderDelay(3000);
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("wikipedia.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com本範例展示如何使用 IronPDF 基於 Chromium 的渲染器將即時網頁轉換為 PDF。 我們啟用JavaScript以實現動態內容,應用列印 CSS 以實現正確的佈局,並添加短暫的渲染延遲以確保所有內容已加載。 最後,將頁面轉換為高保真 PDF 並儲存為 wikipedia.pdf。 這種方法非常適合快速可靠地歸檔網頁內容或從複雜頁面產生 PDF。
面向開發者的高階功能
IronPDF 為動態文件提供了強大的 PDF 轉換功能:
自訂頁首和頁尾
擁有用於重複文件的自訂模板
透過 HTML 字串進行動態內容渲染
為法律或審計目的存檔網站內容
符合便攜式文件格式的數位簽名
- 大規模產生用於批次操作的 PDF
範例:新增自訂標頭
var renderer = new ChromePdfRenderer();
// Optional settings
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
MaxHeight = 50,
HtmlFragment = "<div style='width:100%; text-align:center; font-size:14px;'>Custom Header</div>",
DrawDividerLine = true
};
var document = renderer.RenderHtmlAsPdf("<p>Dynamic HTML content</p>");
document.SaveAs("customHeader.pdf");var renderer = new ChromePdfRenderer();
// Optional settings
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
MaxHeight = 50,
HtmlFragment = "<div style='width:100%; text-align:center; font-size:14px;'>Custom Header</div>",
DrawDividerLine = true
};
var document = renderer.RenderHtmlAsPdf("<p>Dynamic HTML content</p>");
document.SaveAs("customHeader.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.com很多情況下,你想要的不只是PDF文件,你還希望它看起來很專業。 在這裡,我們使用HtmlHeaderFooter 類別為我們的 PDF 文件建立自訂頁首。 您可以利用此功能輕鬆地在 PDF 文件中新增品牌識別、頁碼等內容。 只需幾行簡單的程式碼即可實現。
API整合和非同步PDF生成
對於 Web 應用程序,您可以使用公共靜態非同步 Task 方法動態產生 PDF:
public static async Task GeneratePdfAsync(string htmlContent)
{
var pdfDocument = await new ChromePdfRenderer().RenderHtmlAsPdfAsync(htmlContent);
pdfDocument.SaveAs("async_output.pdf");
}public static async Task GeneratePdfAsync(string htmlContent)
{
var pdfDocument = await new ChromePdfRenderer().RenderHtmlAsPdfAsync(htmlContent);
pdfDocument.SaveAs("async_output.pdf");
}IRON VB CONVERTER ERROR developers@ironsoftware.com高保真 HTML 轉 PDF 轉換技巧
務必包含列印 CSS,以確保生成的 PDF 中呈現預期的佈局。
使用動態 HTML 字串即時產生報表或發票的 PDF 檔案。
利用 IronPDF 的渲染引擎處理包含表格、影像和表單的複雜版面。
轉換後對 PDF 文件進行操作,新增元資料、數位簽章或註解。
- 使用多個 HTML 頁面測試大規模 PDF 生成,以驗證效能和可靠性。
競爭對手:探索 IronPDF 的替代方案
雖然IronPDF是一個功能強大且功能豐富的 C# HTML 轉 PDF 解決方案,但開發人員可以根據專案需求考慮其他幾種替代方案。
一個值得關注的選擇是 QuestPDF,這是一個開源庫,專注於使用流暢的、程式碼優先的方法從頭開始建立 PDF 文件。 雖然 QuestPDF 擅長產生動態的、程式化的結構化 PDF,但它不太適合轉換複雜的 HTML 內容或完整的網頁,尤其是那些依賴 JavaScript 或高階 CSS 的內容。 因此,當您需要直接將 HTML 字串、文件或即時網頁轉換為專業 PDF 時,IronPDF 是一個更直接的選擇。
.NET 生態系統中的其他第三方函式庫包括 SelectPdf、DinkToPdf 和 PuppeteerSharp 等工具。 SelectPdf 和 DinkToPdf 提供 HTML 到 PDF 的轉換功能,並對 CSS 和 JavaScript 提供不同程度的支持,而 PuppeteerSharp 則使用無頭 Chromium 引擎來精確渲染網頁。 每個庫在效能、渲染保真度、授權和 API 簡易性方面都有其自身的優缺點。
有關 HTML 到 PDF C# 庫和 IronPDF 的替代方案的詳細比較,包括功能細分、程式碼範例和用例,請查看這篇文章: QuestPDF 和其他面向 .NET 開發人員的 HTML 到 PDF 替代方案。
結論
使用 IronPDF,在 C# 中進行 HTML 到 PDF 的轉換變得簡單、可靠且靈活。 無論您是轉換 HTML 字串、HTML 檔案或整個網頁,IronPDF 的強大功能都能讓您產生具有複雜佈局、動態內容和最少程式碼的 PDF 文件。
其 .NET 程式庫整合、API 支援和商業授權選項使其成為希望在 .NET Core 或 .NET Framework 專案中實現 PDF 產生的開發人員的首選。
立即開始免費試用 IronPDF ,輕鬆將 HTML 內容轉換為 PDF。 透過 NuGet 套件管理器下載最新版本,只需幾行程式碼即可建立 PDF 文件。