2025指南:最佳C# 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的轉換,但IronPDF在.NET生態系統中因多個原因而脫穎而出:
開始入門:安裝IronPDF
您可以通過NuGet套件管理安裝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文件。 using IronPDF; 這一行引入了IronPDF程式庫,使我們能夠使用其強大的HTML到PDF轉換能力。 我們在字串中定義了我們的HTML內容,它可以像標題和段落一樣簡單,也可以像整頁HTML程式碼那樣複雜。
使用RenderHtmlAsPdf,IronPDF將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");
}
}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-based渲染器將實時網頁轉換為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生成
對於網頁應用程式,您可以使用公共靜態非同步任務方法動態生成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,一個開源程式庫,專注於使用fluent方式從頭建立PDF文件。 雖然QuestPDF在生成動態、以程式設計結構化的PDF方面表現出色,但在轉換依賴JavaScript或進階CSS的複雜HTML內容或完整網頁方面則適應性较差。 在需要將HTML字串、文件或實時網頁直接轉換為專業PDF時,這使IronPDF成為一個更直接的選擇。
其他.NET生態系統中的第三方程式庫還包括像SelectPdf、DinkToPdf和PuppeteerSharp這樣的工具。SelectPdf和DinkToPdf提供不同級別CSS和JavaScript支持的HTML到PDF轉換功能,而PuppeteerSharp使用無頭Chromium引擎準確渲染網頁。 每個程式庫在性能、渲染保真度、授權和API簡單性方面都有其取捨。
對於.NET開發者的詳細HTML到PDF C#程式庫比較和IronPDF的替代方案,包括功能拆解、程式碼範例和用例,請查看這篇文章:QuestPDF和其他HTML到PDF替代方案。
結論
有了IronPDF,在C#中的HTML到PDF轉換變得直接、可靠且靈活。 無論您是轉換HTML字串、HTML文件還是整個網頁,IronPDF的強大方法讓您能夠每用複雜的佈局、動態內容並用最少的程式碼生成PDF文件。
其.NET程式庫整合、API支持和商業授權選項使它成為希望在.NET Core或.NET Framework專案中實現PDF生成的開發人員的首選。
立即開始探索IronPDF,並以免費試用輕鬆將HTML內容轉換為PDF。 通過NuGet套件管理下載最新版本,並用幾行程式碼建立PDF文件。
