行业新闻

Milan Jovanovic 的回应:为什么 IronPDF 是 .NET 实际 PDF 生成的首选工具

由 Chipego Mweemba Kalinda 撰写 - Support Engineer, Iron Software

我们阅读了 Milan Jovanović 的文章,如何在 ASP.NET Core 中轻松创建 PDF 文档。 Milan 出色地将流行的 .NET PDF 库与 IronPDF 进行了比较,为开发人员提供了当前形势的坚实概况。

在 Iron Software,我们感谢 Milan 的透明度和真实世界的见解。 作为IronPDF团队的一员,我想跟进一个回应,不仅是为了强调IronPDF的优势,还要为我们的产品决策背后的"为什么"提供更多背景,特别是针对在生产级系统上工作的开发者。


IronPDF 是为 HTML 到 PDF 的渲染而构建的

不同于需要您在 C# 布局代码中定义文档结构的库,IronPDF 从 HTML、CSS 和 JavaScript 渲染,就像浏览器一样。 您可以使用以下方式构建文档:

这种方法提供了完全的设计自由,重用现有的网页组件,以及像素级的输出,这对发票、报告、证书等尤为重要。


Razor 视图 + 强类型 = 易维护的 PDF

在文章中,有一个如何使用强类型 Razor 视图生成动态发票的出色示例。 这正是我们希望 IronPDF 在 ASP.NET Core 应用中使用的方式。

他的处理方式:

// Convert a Razor view into an HTML string
var html = ConvertRazorViewToHtml(invoice);

// Create a new PDF renderer instance
var renderer = new ChromePdfRenderer();

// Render the HTML to a PDF document
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF document to a file with a unique invoice number
pdf.SaveAs($"invoice-{invoice.InvoiceNumber}.pdf");
// Convert a Razor view into an HTML string
var html = ConvertRazorViewToHtml(invoice);

// Create a new PDF renderer instance
var renderer = new ChromePdfRenderer();

// Render the HTML to a PDF document
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF document to a file with a unique invoice number
pdf.SaveAs($"invoice-{invoice.InvoiceNumber}.pdf");
' Convert a Razor view into an HTML string
Dim html = ConvertRazorViewToHtml(invoice)

' Create a new PDF renderer instance
Dim renderer = New ChromePdfRenderer()

' Render the HTML to a PDF document
Dim pdf = renderer.RenderHtmlAsPdf(html)

' Save the PDF document to a file with a unique invoice number
pdf.SaveAs($"invoice-{invoice.InvoiceNumber}.pdf")
$vbLabelText   $csharpLabel

我们喜欢这种模式,因为它:

  • 易于阅读和维护
  • 遵循标准 .NET 架构
  • 可随着项目复杂性扩展

这不仅仅是为了制作 PDF; 而是为了使它们成为您现有开发流的一部分。


超越渲染的功能

Milan 还触及了另一个关键的业务需求:合并多个 PDF 文件。 这在会计、审计或捆绑客户文件时很常见。

对于 IronPDF 来说,这只需一行代码:

// Merge multiple PDF files into a single PDF document
var merged = PdfDocument.Merge(pdf1, pdf2, pdf3);

// Save the merged PDF document
merged.SaveAs("merged.pdf");
// Merge multiple PDF files into a single PDF document
var merged = PdfDocument.Merge(pdf1, pdf2, pdf3);

// Save the merged PDF document
merged.SaveAs("merged.pdf");
' Merge multiple PDF files into a single PDF document
Dim merged = PdfDocument.Merge(pdf1, pdf2, pdf3)

' Save the merged PDF document
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

但我们不仅止步于此。 IronPDF 还包括:

这种全栈功能意味着您无需将多个工具拼接在一起,因为 IronPDF 处理整个文档生命周期。


为生产环境设计,而不仅仅是原型

IronPDF 不仅对开发者友好; 它也为实际系统中的部署而构建。 我们已将其优化用于:

  • .NET Core、.NET 6/7/8+
  • Linux、Windows、Docker、Azure
  • Web 应用、桌面应用、后台服务

没有浏览器依赖。 没有额外的安装脚本。只需一次 NuGet 安装,您就准备好了。

我们还提供详尽的文档和来自工程师的实践支持(如我自己!)以帮助进行部署、解决边缘案例及调整性能。


最终想法:用对的工具做对的事情

Milan 在他的文章结尾用了一句名言:

"最困难的部分是选择正确的工具来完成工作。"

我们完全同意。

  • 对于代码优先的静态布局呢? QuestPDF 很稳固。
  • 对于动态内容、Razor 集成、HTML/CSS 保真度和文档安全性呢? IronPDF 是为工作而设计的工具。

再次感谢 Milan Jovanović 突出了 IronPDF。 我们一直在倾听,不断改进,并始终在这里帮助像你这样的开发人员交付生产就绪的 PDF 解决方案。

尝试 IronPDF