Milan Jovanović 使用.NET Core创建 PDF 文档——他选择的库是IronPDF。

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>随后,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 负责文件转换。 正如米兰所言:"真的就是这么简单。"
米兰为何选择此方案而非其他替代方案
米兰曾在多个商业项目中使用过各类 PDF 库,他在文章中强调了几个关键因素,这些因素正是他选择 IronPDF 的原因。
Chromium 渲染引擎可提供一致的渲染效果。IronPDF 采用与 Chrome 相同的引擎渲染 HTML,这意味着生成的 PDF 文件与浏览器中的显示效果完全一致。
CSS 让您能够完全掌控格式设置。您无需学习专有的布局 API,只需使用与编写任何网页时相同的 CSS 即可。 Flexbox、网格、自定义字体、响应式间距,所有这些效果都会直接体现在 PDF 输出中。
实际应用示例:合并多个 PDF 文件
米兰将演示一个常见的业务需求:将多个 PDF 文件合并为一个文档。 例如需要汇总用于会计核算的月度收据,或是需要整合成最终交付成果的报告章节。
实际应用场景:通过 API 提供 PDF 文件
米兰还展示了 IronPDF 如何自然地融入 ASP.NET Core 的 Minimal API 模式。 从端点返回动态生成的 PDF。
阅读米兰的完整文章
Milan 的完整解析涵盖了更多实现细节和代码示例,如果您正在为 .NET 项目评估 PDF 生成方案,这些内容值得深入研究。
自己试试看
IronPDF 允许免费用于开发用途,因此您可以在自己的项目中测试 Milan 的模式,无需承担任何义务。 通过 NuGet 安装:
