如何在.NET 10中將HTML轉換為PDF
將網頁內容轉換為可攜式文件格式 (PDF) 是現代.NET應用程式的常見需求。 無論您需要歸檔網頁、生成發票,還是提供可下載的報告,能夠快速可靠地將HTML轉換為PDF都是必不可少的。 IronPDF,一個強大的.NET程式庫,提供強大的PDF轉換功能,讓開發者可以直接將HTML、HTML字串或整個網頁轉換為完整格式的PDF文件,且只需極少的程式碼。
本指南將引導您完成在C#中進行HTML到PDF轉換,包括動態文件、自定義頁首和複雜佈局,並展示如何使用IronPDF有效率生成PDF。
Why Use IronPDF for HTML to PDF in C
雖然有許多第三方程式庫可以進行HTML到PDF轉換,在.NET生態系統中,IronPDF因多種原因而脫穎而出:
入門:安裝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!");
}
}Imports IronPdf
Class Program
Shared Sub Main(args As String())
' Your HTML content
Dim html As String = "<h1>Welcome to IronPDF</h1><p>This is a generated PDF document.</p>"
' Convert HTML string to PDF
Dim pdf = New ChromePdfRenderer().RenderHtmlAsPdf(html)
' Save PDF
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF generated successfully!")
End Sub
End Class在這第一個例子中,我們將簡單的HTML字串轉換為PDF文件。 使用IronPDF; 該行引入了IronPDF程式庫,讓我們可以使用其強大的HTML轉換為PDF功能。 我們將HTML內容定義在一個字串中,這可以簡單到一個標題和段落,或者複雜如整個頁面的HTML代碼。
使用RenderHtmlAsPdf,IronPDF將HTML渲染為完整格式的PDF。 最後,SaveAs將PDF寫入磁碟,然後我們印出確認訊息。 這是一個很好的例子,說明您可以只用幾行程式碼生成一個PDF,而不必擔心微軟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");
}
}Imports IronPdf
Class Program
Shared Sub Main(args As String())
Dim renderer = New ChromePdfRenderer()
' Optional settings
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.WaitFor.RenderDelay(3000)
Dim pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
pdf.SaveAs("wikipedia.pdf")
End Sub
End Class該例示範了如何使用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");Dim renderer = New ChromePdfRenderer()
' Optional settings
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.MaxHeight = 50,
.HtmlFragment = "<div style='width:100%; text-align:center; font-size:14px;'>Custom Header</div>",
.DrawDividerLine = True
}
Dim document = renderer.RenderHtmlAsPdf("<p>Dynamic HTML content</p>")
document.SaveAs("customHeader.pdf")在很多情況下,您需要的不僅是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");
}Imports System.Threading.Tasks
Public Module PdfGenerator
Public Async Function GeneratePdfAsync(htmlContent As String) As Task
Dim pdfDocument = Await (New ChromePdfRenderer()).RenderHtmlAsPdfAsync(htmlContent)
pdfDocument.SaveAs("async_output.pdf")
End Function
End Module高保真HTML到PDF轉換提示
始終包含打印CSS以確保所生成的PDF中佈局如預期。
使用動態HTML字串來即時生成報告或發票的PDF。
利用IronPDF的渲染引擎進行複雜佈局(如表格、圖片、表單)的呈現。
在轉換後再操作PDF文件以添加元數據、數位簽名或註解。
- 用多個HTML頁面進行大規模PDF生成測試,以驗證效能和可靠性。
競爭者:探索IronPDF的替代方案
雖然IronPDF是一個在C#中進行HTML到PDF轉換的完善且功能豐富的解決方案,但開發者可能會根據項目需求考慮其他替代方案。
一個顯著的選擇是QuestPDF,一個開源程式庫,專注於使用流暢的,代碼優先的方法從頭創建PDF文件。 雖然QuestPDF在生成動態,編程性結構化的PDF中表現出色,但在轉換複雜的HTML內容或完整網頁時,尤其是那些依賴於JavaScript或高級CSS的頁面,它不太適合。 這使IronPDF成為當您需要直接將HTML字串,文件或即時網頁轉換為專業PDF時更簡便的選擇。
在.NET生態系統中的其他第三方程式庫包括如SelectPdf、DinkToPdf和PuppeteerSharp。SelectPdf和DinkToPdf提供HTML到PDF轉換能力,支持不同程度的CSS和JavaScript,而PuppeteerSharp使用無頭Chromium引擎精確渲染網頁。 每個程式庫在效能、渲染保真度、註冊授權及API簡便性方面都有其權衡。
如需詳細比較HTML到PDF C#程式庫和IronPDF替代方案,包括功能細分、代碼範例和使用案例,請查看這篇文章:QuestPDF及其他HTML到PDF的.NET開發者替代方案。
結論
使用IronPDF,在C#中進行HTML到PDF轉換變得簡單、可靠且靈活。 無論您是要轉換HTML字串、HTML文件還是整個網頁,IronPDF的強大方法讓您在複雜佈局、動態內容及最少程式碼下生成PDF文件。
其.NET程式庫整合、API支持和商用授權選項使其成為開發者在.NET Core或.NET Framework專案中實施PDF生成時的首選。
立即開始使用免費試用探索IronPDF,無縫轉換HTML內容為PDF。 使用NuGet套件管理器下載最新版本,只需幾行程式碼即可創建PDF文件。
