在ASP.NET中创建PDF:iTextSharp对比IronPDF
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
问题:能否使用 iTextSharp 在 ASP.NET 中创建 PDF 文件?是否有更好的替代方案?是的——iTextSharp 是一款历史悠久的 .NET PDF 库,但 IronPDF 提供了一种现代化的 HTML 转 PDF 方案,无需学习低级 PDF 文档结构。 本指南通过可运行的代码示例对这两个库进行了对比,以便您为项目选择合适的工具。
iTextSharp 和 IronPDF 的主要区别是什么?
iTextSharp 是 Java iText 库的 .NET 移植版本,通过其文档类和底层 PDF 内容操作提供编程式 PDF 创建。 虽然 iTextSharp 功能强大,但使用它需要了解 PDF 文档结构、处理文档对象以及使用坐标和页面尺寸规格手动定位元素。 该 API 因功能需要而较为冗长——该库完整呈现了 PDF 规范的复杂性,这意味着在生成精美的输出结果之前,需要掌握大量知识。
IronPDF 则采取了不同的方法,专注于利用 Chrome 渲染引擎实现 HTML 转 PDF。开发者可以使用熟悉的 HTML 和 CSS 生成 PDF 文件,使 PDF 的创建变得像设计网页一样简单。 IronPDF 在后台处理 PDF 生成逻辑,使您能够生成具有现代样式且支持 JavaScript 的文档。 由于渲染管道基于 Chromium 构建,任何在现代浏览器中有效的布局都将忠实呈现于 PDF 输出中——包括 flexbox、网格布局、Web 字体以及 JavaScript 生成的内容。
这种架构差异带来的实际影响是:iTextSharp 适合希望对 PDF 文件中的每个字节进行精细、坐标级控制的开发者;而 IronPDF 则适合希望利用现有技能快速生成视觉效果精美的文档的开发者。 对于大多数 Web 应用场景——如发票、报告、订单确认和数据导出——采用 HTML 方案构建速度更快,维护也更简单。
| 特征 | iTextSharp | IronPDF |
|---|---|---|
| HTML到PDF | 有限(通过 XMLWorker 插件) | 完整的 Chrome 引擎渲染 |
| CSS 支持 | 部分的 | 全面支持 CSS3 |
| JavaScript 支持 | 无 | 是(通过 Chrome 引擎) |
| 授权 | AGPL(需商业许可) | 商业用途,免版税 |
| 学习曲线 | 难度较高(需具备 PDF API 知识) | 低(仅需HTML/CSS) |
| NuGet 安装 | Install-Package iTextSharp |
Install-Package IronPdf |
| .NET 兼容性 | .NET Framework、.NET Core | .NET 8、.NET 9、.NET 10、.NET Framework |
如何在 .NET 项目中安装这些库?
安装任一库均需通过 NuGet 包管理器开始。 关于 iTextSharp,请注意:较新的 iText 版本采用 AGPL 许可证,这要求您将应用程序开源或购买商业许可证:
# Install iTextSharp via Package Manager Console
Install-Package iTextSharp
# Install iTextSharp via Package Manager Console
Install-Package iTextSharp
对于 IronPDF,您可以通过 NuGet 包管理器控制台、.NET CLI 或直接在 Visual Studio 的 NuGet 界面中搜索来安装:
Install-Package IronPdf
安装完成后,只需添加一行 using 语句,即可开始使用 IronPDF。 基本 PDF 生成无需额外配置。 有关高级场景(例如设置许可证密钥、配置渲染选项或在云环境中生成 PDF)的详细信息,请参阅 IronPDF 文档。 IronPDF 支持 Linux、macOS 和 Windows 部署,包括在 Docker 或 Kubernetes 中运行的容器化环境,这使其非常适合现代云原生 ASP.NET 应用程序。
如何使用每个库创建基本的 PDF 文档?
理解这两款库 API 差异最直观的方式,是使用它们并行创建一份简单的"Hello World"PDF 文件。
使用 iTextSharp 生成 PDF
使用 iTextSharp,您可以直接操作 Document 类和 PdfWriter:
using iTextSharp.text;
using iTextSharp.text.pdf;
var memoryStream = new MemoryStream();
Document pdfDoc = new Document(PageSize.A4, 25, 25, 25, 15);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
var paragraph = new Paragraph("Hello World - PDF Document");
paragraph.Font = FontFactory.GetFont(FontFactory.HELVETICA, 16);
pdfDoc.Add(paragraph);
pdfDoc.Add(new Paragraph("Creating PDF documents with iTextSharp"));
pdfDoc.Close();
// Return as a downloadable file
var pdfBytes = memoryStream.ToArray();
using iTextSharp.text;
using iTextSharp.text.pdf;
var memoryStream = new MemoryStream();
Document pdfDoc = new Document(PageSize.A4, 25, 25, 25, 15);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
var paragraph = new Paragraph("Hello World - PDF Document");
paragraph.Font = FontFactory.GetFont(FontFactory.HELVETICA, 16);
pdfDoc.Add(paragraph);
pdfDoc.Add(new Paragraph("Creating PDF documents with iTextSharp"));
pdfDoc.Close();
// Return as a downloadable file
var pdfBytes = memoryStream.ToArray();
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Dim memoryStream As New MemoryStream()
Dim pdfDoc As New Document(PageSize.A4, 25, 25, 25, 15)
Dim writer As PdfWriter = PdfWriter.GetInstance(pdfDoc, memoryStream)
pdfDoc.Open()
Dim paragraph As New Paragraph("Hello World - PDF Document")
paragraph.Font = FontFactory.GetFont(FontFactory.HELVETICA, 16)
pdfDoc.Add(paragraph)
pdfDoc.Add(New Paragraph("Creating PDF documents with iTextSharp"))
pdfDoc.Close()
' Return as a downloadable file
Dim pdfBytes As Byte() = memoryStream.ToArray()
这需要了解 Document、PdfWriter、Paragraph 和 FontFactory 如何交互——对于 PDF 生成新手来说,这是一项不小的学习投入。
使用 IronPDF 生成 PDF
使用 IronPDF 时,相应的任务会采用熟悉的 HTML 格式:
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
<h1>Hello World - PDF Document</h1>
<p>Creating PDFs with IronPDF is straightforward!</p>
");
var pdfBytes = pdf.BinaryData;
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
<h1>Hello World - PDF Document</h1>
<p>Creating PDFs with IronPDF is straightforward!</p>
");
var pdfBytes = pdf.BinaryData;
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("
<h1>Hello World - PDF Document</h1>
<p>Creating PDFs with IronPDF is straightforward!</p>
")
Dim pdfBytes = pdf.BinaryData
IronPDF 的方法允许您直接编写 HTML,从而无需处理底层的 PDF 元素。 ChromePdfRenderer 类通过基于 Chromium 的引擎在内部处理所有渲染工作,确保输出结果像素级精确。
如何使用图片和 CSS 创建样式化的 PDF?
格式化文档揭示了这两个库之间最显著的差异。 在生成发票、报告或品牌文档时,IronPDF 基于 CSS 的样式设置可大幅减少所需的代码量。
使用 IronPDF 生成发票
using IronPdf;
var html = @"
<style>
body { font-family: Arial, sans-serif; margin: 0; }
.invoice-header { background: #4CAF50; color: white; padding: 20px; }
.invoice-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.invoice-table th, .invoice-table td {
border: 1px solid #ddd; padding: 8px; text-align: left;
}
.invoice-table th { background-color: #f2f2f2; }
.total { font-size: 18px; font-weight: bold; margin-top: 16px; }
</style>
<div class='invoice-header'>
<h1>Invoice #2024-001</h1>
<p>Due: March 15, 2024</p>
</div>
<table class='invoice-table'>
<tr><th>Item</th><th>Quantity</th><th>Unit Price</th><th>Total</th></tr>
<tr><td>PDF License</td><td>1</td><td>$599</td><td>$599</td></tr>
<tr><td>Support Package</td><td>1</td><td>$199</td><td>$199</td></tr>
</table>
<p class='total'>Grand Total: $798</p>
";
var renderer = new ChromePdfRenderer();
var pdfDocument = renderer.RenderHtmlAsPdf(html);
var pdfBytes = pdfDocument.BinaryData;
using IronPdf;
var html = @"
<style>
body { font-family: Arial, sans-serif; margin: 0; }
.invoice-header { background: #4CAF50; color: white; padding: 20px; }
.invoice-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.invoice-table th, .invoice-table td {
border: 1px solid #ddd; padding: 8px; text-align: left;
}
.invoice-table th { background-color: #f2f2f2; }
.total { font-size: 18px; font-weight: bold; margin-top: 16px; }
</style>
<div class='invoice-header'>
<h1>Invoice #2024-001</h1>
<p>Due: March 15, 2024</p>
</div>
<table class='invoice-table'>
<tr><th>Item</th><th>Quantity</th><th>Unit Price</th><th>Total</th></tr>
<tr><td>PDF License</td><td>1</td><td>$599</td><td>$599</td></tr>
<tr><td>Support Package</td><td>1</td><td>$199</td><td>$199</td></tr>
</table>
<p class='total'>Grand Total: $798</p>
";
var renderer = new ChromePdfRenderer();
var pdfDocument = renderer.RenderHtmlAsPdf(html);
var pdfBytes = pdfDocument.BinaryData;
Imports IronPdf
Dim html As String = "
<style>
body { font-family: Arial, sans-serif; margin: 0; }
.invoice-header { background: #4CAF50; color: white; padding: 20px; }
.invoice-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.invoice-table th, .invoice-table td {
border: 1px solid #ddd; padding: 8px; text-align: left;
}
.invoice-table th { background-color: #f2f2f2; }
.total { font-size: 18px; font-weight: bold; margin-top: 16px; }
</style>
<div class='invoice-header'>
<h1>Invoice #2024-001</h1>
<p>Due: March 15, 2024</p>
</div>
<table class='invoice-table'>
<tr><th>Item</th><th>Quantity</th><th>Unit Price</th><th>Total</th></tr>
<tr><td>PDF License</td><td>1</td><td>$599</td><td>$599</td></tr>
<tr><td>Support Package</td><td>1</td><td>$199</td><td>$199</td></tr>
</table>
<p class='total'>Grand Total: $798</p>
"
Dim renderer As New ChromePdfRenderer()
Dim pdfDocument = renderer.RenderHtmlAsPdf(html)
Dim pdfBytes = pdfDocument.BinaryData
使用 iTextSharp 生成发票
若要使用 iTextSharp 实现类似效果,则需要通过编程方式构建每个视觉元素:
using iTextSharp.text;
using iTextSharp.text.pdf;
var output = new MemoryStream();
var document = new Document(PageSize.A4);
PdfWriter.GetInstance(document, output);
document.Open();
// Header -- manual font and color setup
var titleFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 20,
new BaseColor(255, 255, 255));
var headerParagraph = new Paragraph("Invoice #2024-001", titleFont);
document.Add(headerParagraph);
// Table -- each cell must be created individually
PdfPTable table = new PdfPTable(4);
table.WidthPercentage = 100;
string[] headers = { "Item", "Quantity", "Unit Price", "Total" };
foreach (var h in headers)
{
var cell = new PdfPCell(new Phrase(h,
FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 10)));
cell.BackgroundColor = new BaseColor(242, 242, 242);
table.AddCell(cell);
}
table.AddCell("PDF License");
table.AddCell("1");
table.AddCell("$599");
table.AddCell("$599");
document.Add(table);
var totalFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 14);
document.Add(new Paragraph("Grand Total: $798", totalFont));
document.Close();
using iTextSharp.text;
using iTextSharp.text.pdf;
var output = new MemoryStream();
var document = new Document(PageSize.A4);
PdfWriter.GetInstance(document, output);
document.Open();
// Header -- manual font and color setup
var titleFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 20,
new BaseColor(255, 255, 255));
var headerParagraph = new Paragraph("Invoice #2024-001", titleFont);
document.Add(headerParagraph);
// Table -- each cell must be created individually
PdfPTable table = new PdfPTable(4);
table.WidthPercentage = 100;
string[] headers = { "Item", "Quantity", "Unit Price", "Total" };
foreach (var h in headers)
{
var cell = new PdfPCell(new Phrase(h,
FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 10)));
cell.BackgroundColor = new BaseColor(242, 242, 242);
table.AddCell(cell);
}
table.AddCell("PDF License");
table.AddCell("1");
table.AddCell("$599");
table.AddCell("$599");
document.Add(table);
var totalFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 14);
document.Add(new Paragraph("Grand Total: $798", totalFont));
document.Close();
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Dim output As New MemoryStream()
Dim document As New Document(PageSize.A4)
PdfWriter.GetInstance(document, output)
document.Open()
' Header -- manual font and color setup
Dim titleFont As Font = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 20, New BaseColor(255, 255, 255))
Dim headerParagraph As New Paragraph("Invoice #2024-001", titleFont)
document.Add(headerParagraph)
' Table -- each cell must be created individually
Dim table As New PdfPTable(4)
table.WidthPercentage = 100
Dim headers As String() = {"Item", "Quantity", "Unit Price", "Total"}
For Each h As String In headers
Dim cell As New PdfPCell(New Phrase(h, FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 10)))
cell.BackgroundColor = New BaseColor(242, 242, 242)
table.AddCell(cell)
Next
table.AddCell("PDF License")
table.AddCell("1")
table.AddCell("$599")
table.AddCell("$599")
document.Add(table)
Dim totalFont As Font = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 14)
document.Add(New Paragraph("Grand Total: $798", totalFont))
document.Close()
两者的区别显而易见:IronPDF 支持 CSS、现代 HTML 和 JavaScript,而 iTextSharp 则需要手动创建每个元素、指定字体,并逐单元格构建表格。 对于需要生成数十种不同模板的文档密集型应用程序,这种代码量的差异会随着时间的推移而显著累积。
如何在 ASP.NET 中处理服务器端的 PDF 生成?
这两个库均支持为 ASP.NET 应用程序生成服务器端 PDF。 无论使用哪个库生成数据流,将 PDF 作为可下载文件响应返回的模式都是相似的。 在实际生产环境中,关键的考虑因素包括内存管理、线程安全以及响应配置。 这两个库均使用内存流,因此请确保不要将大型 PDF 文件在内存中保留超过必要的时间。 IronPDF 的 ChromePdfRenderer 设计为按请求实例化,因此无需担心并发请求之间的共享状态。
使用 IronPDF 的 ASP.NET Core 控制器操作
using IronPdf;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
[HttpGet("invoice/{id}")]
public IActionResult GenerateInvoice(int id)
{
var html = BuildInvoiceHtml(id); // your HTML template
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf");
}
private static string BuildInvoiceHtml(int id)
{
return $"<h1>Invoice #{id}</h1><p>Generated on {DateTime.UtcNow:yyyy-MM-dd}</p>";
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
[HttpGet("invoice/{id}")]
public IActionResult GenerateInvoice(int id)
{
var html = BuildInvoiceHtml(id); // your HTML template
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf");
}
private static string BuildInvoiceHtml(int id)
{
return $"<h1>Invoice #{id}</h1><p>Generated on {DateTime.UtcNow:yyyy-MM-dd}</p>";
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
<ApiController>
<Route("api/[controller]")>
Public Class PdfController
Inherits ControllerBase
<HttpGet("invoice/{id}")>
Public Function GenerateInvoice(id As Integer) As IActionResult
Dim html As String = BuildInvoiceHtml(id) ' your HTML template
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
Dim pdf = renderer.RenderHtmlAsPdf(html)
Return File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf")
End Function
Private Shared Function BuildInvoiceHtml(id As Integer) As String
Return $"<h1>Invoice #{id}</h1><p>Generated on {DateTime.UtcNow:yyyy-MM-dd}</p>"
End Function
End Class
对于 ASP.NET MVC(非核心)项目,以同样的方式返回 FileResult。 IronPDF 还支持通过 URL 生成 PDF,这在转换现有网页而非构建 HTML 字符串时非常有用。
您还可以使用 IronPDF 的文档编辑 API 添加页眉和页脚、应用数字签名、设置密码保护,或合并多个 PDF 文件——所有这些功能均来自同一个软件包。
如何从 iTextSharp 迁移到 IronPDF?
将现有的 iTextSharp 项目迁移到 IronPDF 遵循以下简单步骤:
1.将文档模型代码替换为 HTML 模板。无需构建 Paragraph、PdfPTable 和 PdfPCell 对象,而是构建 HTML 字符串或加载 HTML 文件。您可以直接重用现有的 CSS 样式表和 Razor 局部视图。
2.交换渲染调用。将 PdfWriter.GetInstance(doc, stream) 替换为 new ChromePdfRenderer().RenderHtmlAsPdf(html)。
3.更新字节提取。将 memoryStream.ToArray() 替换为 pdf.BinaryData。
4.传输高级设置。iTextSharp的页面边距、加密和文档元数据等功能在 IronPDF 的 RenderingOptions 和 PdfDocument API 中有直接对应的功能。
- 验证输出准确性。在具有代表性的文档上并排运行两种输出结果进行对比。 IronPDF 通常能呈现更佳的视觉效果,因为它使用的是完整的浏览器渲染引擎,而非 PDF 原生布局引擎。
对于已拥有现有 HTML 模板(来自电子邮件生成器、Razor 视图或报表 Builder)的团队,迁移通常只需数小时而非数天即可完成。 IronPDF 可在 .NET Core 环境中将 Razor 视图直接渲染为 PDF,从而进一步加速迁移进程。 那些已投入精力进行基于 CSS 的文档设计(例如,使用 PRINT 样式表来控制分页和边距)的团队,会发现这些技能可直接应用于 IronPDF。
请查阅 IronPDF 迁移指南,了解有关加密、加盖水印以及其他 iTextSharp 高级功能的详细模式。
你应该选择哪个库?
对于启动新项目或从 iTextSharp 迁移过来的开发者,需考虑以下因素:
许可协议:iTextSharp 的新版本采用 AGPL 许可协议,这要求您将应用程序开源,或向 iText Group 购买商业许可。IronPDF 提供简明的商业许可方案,且无开源义务。 如果您的项目是闭源或商业性质的,仅这一区别就可能决定您的选择。
学习曲线:IronPDF 基于 HTML 的方法意味着您无需花费大量时间学习 PDF 专用的 API。如果您的团队熟悉 HTML 和 CSS,即可立即开始使用 IronPDF 生成 PDF。 无需研究 PDF 坐标系、字形编码或字体嵌入——IronPDF 会透明地处理所有这些操作。
功能概览:IronPDF 支持 PDF/A 标准合规、表单填写、水印添加等功能——所有功能均通过单个 NuGet 包提供。 此外,还包含数字签名和 PDF 合并等高级功能,且无需额外依赖项。
迁移路径:从 iTextSharp 迁移至 IronPDF 需要将文档操作代码替换为 HTML 模板,并更新渲染调用。 由于 IronPDF 采用完整的浏览器引擎,生成的代码通常质量更高,且显著更简洁、更易于维护。
关于 PDF 渲染引擎的工作原理及其差异,Mozilla 的 PDF 文档和 Adobe 的 PDF 规范资源提供了有用的背景信息。 iText Group 官方网站详细介绍了 AGPL 条款。
下一步计划是什么?
要在您的 ASP.NET 项目中开始使用 IronPDF:
- 安装 NuGet 包:
Install-Package IronPdf - 将
using IronPdf;添加到您的文件中 - 创建一个
ChromePdfRenderer并使用您的 HTML 调用RenderHtmlAsPdf() - 从控制器返回
pdf.BinaryData作为FileResult
探索以下资源,了解更多信息:
- IronPDF HTML 转 PDF 文档——完整的渲染选项和示例
- .NET Core PDF 生成指南 -- Razor 视图渲染与控制器模式
- PDF 安全与加密——密码保护和权限设置
- PDF 合并与拆分 -- 合并多个文档
- IronPDF 免费试用版——在开发过程中可无水印测试所有功能
{i:(iTextSharp 是其各自所有者的注册商标。 本网站与 iTextSharp 无关,也未得到 iTextSharp 的支持或赞助。所有产品名称、徽标和品牌均为其各自所有者的财产。 比较仅供参考,反映撰写时公开可用的信息。)}]
常见问题解答
用于 ASP.NET PDF 生成的 iTextSharp 和 IronPDF 的主要区别是什么?
主要区别包括易用性、许可模式和渲染方法。IronPDF使用由Chrome引擎支持的HTML到PDF模型,便于生成样式化文档。iTextSharp使用低级PDF文档API,需要学习PDF特定结构。IronPDF还使用商业许可证,无开源义务,而iTextSharp的新版本使用AGPL。
IronPDF 可以在 ASP.NET 应用程序中将 HTML 转换为 PDF 吗?
是的,IronPDF可以在ASP.NET应用程序中将HTML转换为PDF。它允许开发者使用基于Chromium的渲染引擎高保真地直接将网页、HTML字符串或HTML文件渲染为PDF。
是否可以从iTextSharp切换到IronPDF?
是的,从iTextSharp切换到IronPDF很简单。迁移涉及将文档模型代码替换为HTML模板并更新渲染调用。拥有现有HTML或Razor模板的团队通常可以在数小时内完成迁移。
IronPDF 是否支持从 ASP.NET Web 应用程序生成 PDF?
IronPDF完全支持从ASP.NET和ASP.NET Core Web应用程序生成PDF。它通过NuGet集成到现有项目,支持返回PDF文件的控制器操作模式。
可以使用IronPDF创建哪些类型的文档?
使用IronPDF,您可以创建发票、报告、数据导出以及任何可以表示为HTML的文档。它支持PDF/A合规性、表单填写、数字签名、水印和条形码生成。
与 iTextSharp 相比,IronPDF 如何处理许可问题?
IronPDF提供无AGPL义务的商业许可,使其适用于闭源应用程序。iTextSharp的新版本使用AGPL,这要求专有软件使用商业许可证。
是否有在 ASP.NET 中使用 IronPDF 的代码示例?
是的,IronPDF提供大量的代码示例和文档,涵盖HTML到PDF的转换、URL渲染、ASP.NET Core控制器模式,以及如页眉、页脚和数字签名等高级功能。
为什么要考虑使用IronPDF而不是iTextSharp?
如果您希望使用HTML和CSS生成样式化文档,避免iTextSharp新版本的AGPL许可要求,或者减少团队需要维护的PDF特定代码量,就应该考虑使用IronPDF。
IronPDF是否在云和容器化环境中工作?
是的,IronPDF支持Linux、macOS和Windows的部署,包括Docker和Kubernetes容器化环境,使其适用于现代云原生ASP.NET应用程序。
IronPDF 是否适合企业级 ASP.NET 项目?
是的,IronPDF适合企业ASP.NET项目。它提供可靠的性能、PDF/A合规性、数字签名支持,并具备高容量文档生成场景的可扩展性。


