產業新聞

重點回顧:.NET Conf - 聚焦現代化 2025

Milan Jovanovic

Milan 是一位軟體架構師、微軟 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 讓您完全掌控格式。 您不需要學習專有的佈局 API,只需使用寫網站時的 CSS 即可。 Flexbox、網格、自定義字體、響應間距,這些都直接轉換到 PDF 輸出中。

實際應用模式:合併多個 PDF

Milan 解釋了一個常見的業務需求:將多個 PDF 文件合併成一個文件。 想想每月需要打包給會計的收據,或需要組裝成最終交付文件的報告部分。

實際應用模式:從 API 提供 PDF

Milan 也展示了 IronPDF 如何自然融入 ASP.NET Core 的最小 API 模式。 從端點返回動態生成的 PDF。

閱讀 Milan 的完整文章

Milan 的完整分析涵蓋了其他實施細節和值得探索的程式碼範例,對於正在評估 .NET 項目中 PDF 生成方法的人來說很有價值。

在這裡閱讀完整文章

自行嘗試

IronPDF 允許免費用於開發用途,因此您可以在自己的項目中測試 Milan 的模式,而無需任何承諾。 通過 NuGet 安裝:

開始 30 天免費試用