產業新聞

Milan Jovanović 在 ASP .NET Core 中建立 PDF 文件 - 而 IronPDF 是他的首選程式庫

Milan Jovanovic

Milan,一位軟體架構師、Microsoft MVP,以及.NET生態系統中最受尊重的聲音之一,發表了關於在.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>
$vbLabelText   $csharpLabel

然後,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")
$vbLabelText   $csharpLabel

三行C#代碼。 Razor視圖處理所有佈局邏輯,CSS負責樣式設計,IronPDF負責轉換。 正如Milan所說,"真的就這麼簡單。"

為什麼Milan選擇這個而不是其他替代方案

Milan在多個商業專案中使用過各種PDF程式庫,他對IronPDF的偏好歸結為他在文章中強調的幾個關鍵因素。

Chromium渲染引擎提供一致的結果。 IronPDF使用驅動Chrome的同一引擎渲染HTML,這意味著您的PDF輸出會精確匹配您在瀏覽器中看到的效果。

CSS讓您對格式化具備完全控制。 您使用的CSS與任何網頁設計一致,而無需學習專有的佈局API。 Flexbox、網格、自訂字體、響應式間距,這一切都能直接轉化為PDF輸出。

實際模式:合併多個PDF

Milan介紹了一項常見的商業需求,即將多個PDF文件合併為一個文件。 想想需要捆綁進行會計的月度收據,或需要彙集成最終交付物的報告部分。

實際模式:從API提供PDF

Milan還展示了IronPDF如何自然地適應ASP.NET Core的Minimal API模式。 從端點返回動態生成的PDF。

閱讀Milan的完整文章

Milan的完整分解涵蓋了其他實施細節和代碼範例,如果您正在評估您的.NET專案的PDF生成方法,值得一讀。

在這裡閱讀完整版文章

親自試試

IronPDF是免費供開發用的,因此您可以在自己的專案中測試Milan的模式,無需任何承諾。 通過NuGet安裝:

開始30天免費試用