
如何拆分 PDF 页面
无论您是在构建一个以文档为主的企业解决方案、在SaaS应用程序中生成发票,还是从.NET仪表板导出报告,一个问题总是会出现:
"我应该使用哪个C# PDF库?"
在 .NET 生态系统中,三个库脱颖而出:PDFSharp、iText 和 IronPDF。 每一个都有其优势、特性和最佳使用案例。 但哪个对于在.NET 6+、.NET Core,甚至是传统.NET Framework中处理PDF文件的现代开发人员来说是真正的最佳选择呢?
本综合指南深入探讨每个库,比较其功能、安装、可用性和输出质量。 我们将通过实际代码示例、每个库的优缺点来提供基于实际开发需求的实用建议。
让我们开始吧。
PDFSharp 概述

什么是 PDFSharp?
PDFSharp 是一个开源库,使开发者能够即时使用 C# 创建和处理 PDF 文档。 它支持从头创建PDF,以及修改现有PDF文件。 其简洁、面向对象的API非常适合寻找轻量且易集成解决方案的开发人员。
尽管由社区推动,但它享有忠实的用户群体,仍然是进行简单PDF任务的首选,这些任务不需要高级渲染或HTML的动态内容。
安装 PDFSharp
通过NuGet安装非常简单:
它也兼容于适用于.NET Core环境的PdfSharpCore。
示例代码:创建简单的PDF
using PdfSharp.Pdf;
using PdfSharp.Drawing;
// Create a new PDF document
var document = new PdfDocument();
document.Info.Title = "Created with PDFsharp";
// Create an empty page
PdfPage page = document.AddPage();
// Get an XGraphics object for drawing
XGraphics gfx = XGraphics.FromPdfPage(page);
// Create a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw the text
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
// Save the document
document.Save("HelloWorld.pdf");Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
' Create a new PDF document
Private document = New PdfDocument()
document.Info.Title = "Created with PDFsharp"
' Create an empty page
Dim page As PdfPage = document.AddPage()
' Get an XGraphics object for drawing
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
' Create a font
Dim font As New XFont("Verdana", 20, XFontStyle.Bold)
' Draw the text
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)
' Save the document
document.Save("HelloWorld.pdf")输出

PDFSharp的优缺点
优点:
- 免费且开源的PDF库(MIT许可证)
- 适用于低级绘图和简单的基于文本的PDF文档
- 轻量且易于安装
缺点:
- 无原生HTML到PDF支持
- 渲染能力有限
- 针对高级使用情况下不再积极维护
iText 详细分析

什么是 iText?
iText 是 iText 的 .NET 移植版,一个强大的基于 Java 的 PDF 库。 它提供高级功能,包括数字签名、表单字段、条形码等。 iText 是高度可定制的,最适合有法律或监管文档需求的企业使用。
然而,它有一个缺点——许可。 iText 采用 AGPL 许可证,即购买商业许可证以外,您必须开源您的项目。
安装iText
通过NuGet,您可以安装它:
较新的版本使用iText Core命名空间。 在集成之前请务必查看许可条款。
示例代码:基本的PDF生成
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
// Create a writer and initiates a PDF document
PdfWriter writer = new PdfWriter("iTextHello.pdf");
var pdf = new PdfDocument(writer);
Document document = new Document(pdf);
// Add a paragraph to the document
document.Add(new Paragraph("Hello, iTextSharp!"));
// Closing the document
document.Close();Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
' Create a writer and initiates a PDF document
Private writer As New PdfWriter("iTextHello.pdf")
Private pdf = New PdfDocument(writer)
Private document As New Document(pdf)
' Add a paragraph to the document
document.Add(New Paragraph("Hello, iTextSharp!"))
' Closing the document
document.Close()输出

iText 的优点与缺点
优势:
- 强大且企业级
- 支持PDF/A、安全加密、表单填写和数字签名
- 模块化架构带有插件
劣势:
- AGPL许可或昂贵的商业许可
- 学习曲线陡峭
- 相比于竞争对手语法冗长
IronPDF: The Comprehensive Choice for C#

为什么IronPDF脱颖而出
IronPDF是一个商业级.NET库,强调简单性、精确的渲染和丰富的功能。 如果您想将HTML转换为支持完整CSS、JavaScript和网页字体的PDF,它尤其强大——使之成为现代、响应式PDF文档生成的理想选择。 无论您是想从头创建PDF文档,通过HTML生成PDF文档,还是仅需要一个擅长操作PDF文件的工具,IronPDF都能满足要求。
支持.NET Core、.NET Framework、Azure和Docker,IronPDF适用于初创公司和企业级应用程序。凭借强大的功能、良好的文档和多平台的性能,IronPDF是生成PDF的可靠选择。
安装 IronPDF
从NuGet包管理器控制台安装:
或者使用Visual Studio的NuGet UI。 IronPDF提供免费试用和用于商业用途的灵活许可,无AGPL限制。
IronPDF示例代码:用5行实现HTML到PDF
using IronPdf;
var Renderer = new ChromePdfRenderer();
// Render a simple HTML string as a PDF document
var pdf = Renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>This was rendered using Chrome.</p>");
// Save the PDF document as a file
pdf.SaveAs("IronPdfHello.pdf");Imports IronPdf
Private Renderer = New ChromePdfRenderer()
' Render a simple HTML string as a PDF document
Private pdf = Renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>This was rendered using Chrome.</p>")
' Save the PDF document as a file
pdf.SaveAs("IronPdfHello.pdf")输出

这个简单的例子使用无头 Chromium 引擎的全部功能来渲染 HTML/CSS,就像浏览器一样——这是 PDFSharp 和 iText 难以处理的事情。
性能和开发者体验
IronPDF因以下几点被广泛认可:
***精确度:**使用 Chromium 引擎生成 PDF 文件,实现像素级完美渲染 ***易于使用:**无需手动管理页面大小、页边距或字体 ***速度:**支持多线程,生成速度快 ***支持:**提供完善的文档、示例和客户支持
基准测试显示,IronPDF 可以在标准机上不到2秒内生成带图像、CSS 和 JavaScript 的复杂 HTML 发票——远远优于 iText 的 HTML 插件或 PDFSharp 的手动绘制方法。
为何选择IronPDF?
IronPDF提供了现代的开发体验,其关键功能包括:
- 对HTML5、CSS3、JS、Bootstrap和响应式设计的PDF转换支持,渲染精准
- 可以访问高级功能,如PDF/A、数字签名、水印、合并和拆分
- 适合商业产品的许可——无需AGPL担忧
- 优秀的文档和丰富的示例支持
- 轻松从PDF文档中提取数据
- 不仅局限于C#编程语言,IronPDF还提供Java、Node.js和Python版本
无论您是在构建发票生成器、报告引擎还是基于浏览器的文档系统,IronPDF都能让您的工作简单且专业。
最终想法:应该选择哪个 C# PDF 库?
C# PDF 库的世界是多样的,我们探索的每个工具——PDFSharp、iText 和IronPDF——都有其自身的优点、缺点和理想的用例。 那么,您应该为您的.NET应用程序选择哪一个?
PDFSharp:轻量且 DIY
如果您正在构建一个小规模应用程序,具备基本的文档渲染需求,并且希望全面控制 PDF 绘图操作,那么 PDFSharp 是一个可靠的起点。 其开源性质和低开销使其成为需要许可和简便性的项目的理想选择。 然而,其代价是手动操作:无HTML支持、无现代网页渲染、且活跃开发有限。 using PDFSharp 如果:
- 您希望通过编程创建含线条、文本和简单布局的PDF文件。
- 您的应用程序不要求HTML到PDF、CSS样式或JavaScript。
- 开源兼容性(MIT许可证)对于您至关重要。
iText:强大但复杂
iText 位于企业光谱的末端。 它功能强大、安全,适合复杂PDF操作,例如:
- 填写表单
- 生成条形码
- 使用数字签名保护文件
- 与PDF/A和PDF/UA等格式的合规性
然而,其AGPL许可可能限制除非您准备好开源代码或支付商业许可费——而这并不便宜。此外,学习曲线更陡峭,HTML渲染是附加选项而不是核心功能。 using iText 如果:
- 您正在构建带有表单填写或安全 PDF 的政府或监管系统。
- 您需要对低级PDF操作的细粒度控制。
- 您有预算用于商业许可。
IronPDF:现代、直观和功能丰富
相比之下,IronPDF旨在以优雅和速度解决现实世界的问题。 它将网页技术(HTML、CSS、JavaScript)的熟悉性与Chromium渲染的强大结合,使开发人员能够轻松将复杂布局转换成精美的PDF。
它处理:
- 像素级的HTML到PDF渲染
- JavaScript执行(非常适合图表和动态数据)
- PDF合并、拆分、水印、签名和其他各种PDF文档操作选项
- 集成.NET 6、7及以后的版本
- 易于部署到 Azure、Docker 和 CI/CD 管道
最重要的是,IronPDF专注于开发者体验:清晰的语法、快速的渲染、丰富的文档和响应的支持。
在以下情况下选择IronPDF:
- 您需要一个有价值的工具来进行HTML到PDF的渲染,使其看起来像浏览器打印预览。
- 您的文档依赖于网页样式(Bootstrap、Flexbox、Google字体)。
- 您需要具备灵活性、支持、更新的商业许可证。
- 您重视上市时间和开发人员的生产力。
判定:对于大多数.NET开发人员,IronPDF胜出
尽管 PDFSharp 是一个用于基本用途的不错选择,而 iText 服务于重合规的行业,IronPDF 在现代 C# 开发者中以为一体的 PDF 解决方案而脱颖而出。 它在功能、简易性和现实应用的可用性之间达到了完美的平衡。
无论您是在渲染动态报告、从网页模板生成客户发票还是输出丰富文档,IronPDF都能让您专注于您的应用程序——而不是PDF渲染的细节。
准备好试用吗?
不要仅仅相信我们的话——亲自探索IronPDF:
使用IronPDF,您不仅是在生成PDF——您正在构建经过专业润色、投入生产准备的文档,它们的外观与您的设计完全一致。 减少开发时间,消除渲染烦恼,加快发布速度。

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。
相关文章

