Milan Jovanović 使用.NET Core建立 PDF 文件-他選擇的函式庫是IronPDF。

身為軟體架構師、Microsoft MVP 以及 .NET 生態系中備受尊崇的權威之一,Milan 發表了一篇深入探討 .NET Core 中 PDF 生成技術的文章。 他詳細解說了多種實際應用模式,包括動態文件建立、PDF 合併,以及透過 API 端點提供檔案。
他為所有這些任務所選擇的函式庫是? IronPDF。 用他自己的話來說:"IronPDF 是我在商業專案中最常使用的函式庫。"
讓我們來詳細說明他是如何使用它的。
方法:使用 Razor 檢視的 HTML 範本
生成 PDF 檔案最常見的方法是使用 HTML 範本。
這是 ASP.NET Core MVC Razor 檢視與 IronPDF 渲染引擎的結合。透過使用強類型檢視,開發者可在執行階段將 C# 物件直接傳入範本,以產生動態且以資料為導向的文件。
以下是實際應用範例。 首先,Razor 檢視頁定義了文件佈局:
@model ViewModels.InoviceViewModel
<div>Invoice number: @Model.InvoiceNumber</div>
<div>Invoice date: @Model.InvoiceDate</div>
<br/>
<span>Line items:</span>
<ul>
@foreach(var lineItem in Model.LineItems)
{
<li>@lineItem.Name | @lineItem.Price</li>
}
</ul>
@model ViewModels.InoviceViewModel
<div>Invoice number: @Model.InvoiceNumber</div>
<div>Invoice date: @Model.InvoiceDate</div>
<br/>
<span>Line items:</span>
<ul>
@foreach(var lineItem in Model.LineItems)
{
<li>@lineItem.Name | @lineItem.Price</li>
}
</ul>@ModelType ViewModels.InoviceViewModel
<div>Invoice number: @Model.InvoiceNumber</div>
<div>Invoice date: @Model.InvoiceDate</div>
<br/>
<span>Line items:</span>
<ul>
@For Each lineItem In Model.LineItems
<li>@lineItem.Name | @lineItem.Price</li>
Next
</ul>接著,IronPDF 的 ChromePdfRenderer 會將渲染出的 HTML 轉換為精美的 PDF:
var html = ConvertRazorViewToHtml(invoice);
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs($"invoice-{invoice.InvoiceNumber}.pdf");var html = ConvertRazorViewToHtml(invoice);
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs($"invoice-{invoice.InvoiceNumber}.pdf");Dim html = ConvertRazorViewToHtml(invoice)
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs($"invoice-{invoice.InvoiceNumber}.pdf")三行 C# 程式碼。 Razor 視圖負責處理所有佈局邏輯,CSS 負責樣式設定,而 IronPDF 則負責檔案轉換。 正如米蘭所言:"這真的就是這麼簡單。"
為何 Milan 選擇此方案而非其他替代方案
Milan 曾在多個商業專案中使用過各種 PDF 函式庫,他偏好 IronPDF 的原因可歸結為他在文章中強調的幾個關鍵因素。
Chromium 渲染引擎能提供一致的渲染效果。IronPDF 採用與 Chrome 相同的引擎來渲染 HTML,這意味著您的 PDF 輸出效果將與瀏覽器中的顯示完全一致。
CSS 讓您能完全掌控版面格式。您無需學習專屬的佈局 API,而是使用與撰寫任何網頁時相同的 CSS。 Flexbox、網格、自訂字型、響應式間距,這些效果都會直接反映在 PDF 輸出中。
實際應用範例:合併多個 PDF 檔案
Milan 將透過一個常見的商業需求,示範如何將多個 PDF 檔案合併為單一文件。 例如需要彙整供會計使用的每月收據,或是需組合成最終交付成果的報告章節。
實務範例:透過 API 提供 PDF 檔案
Milan 同時展示了 IronPDF 如何自然地融入 ASP.NET Core 的 Minimal API 模式。 從端點傳回動態生成的 PDF 檔案。
閱讀 Milan 的完整文章
Milan 的完整解析涵蓋了更多實作細節與程式碼範例,若您正在為 .NET 專案評估 PDF 生成方案,這些內容值得深入探索。
自己試試看
IronPDF 提供免費開發版,因此您可以在自己的專案中測試 Milan 的範例,無需任何承諾。 透過 NuGet 安裝:
