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

什么是PDFsharp?
PDFsharp是一个开源库,允许开发人员使用C#实时创建和处理PDF文档。 它支持从头创建PDF,以及修改现有PDF文件。 其简洁、面向对象的API非常适合寻找轻量且易集成解决方案的开发人员。
尽管由社区推动,但它享有忠实的用户群体,仍然是进行简单PDF任务的首选,这些任务不需要高级渲染或HTML的动态内容。
安装PDFsharp
通过NuGet安装非常简单:
Install-Package PDFsharp
它也兼容于适用于.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");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");输出

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

什么是iTextSharp?
iTextSharp是iText的.NET移植,一个强大的基于Java的PDF库。 它提供高级功能,包括数字签名、表单字段、条形码等。 iTextSharp可高度定制,最适合需要法律或合规文档的企业。
然而,它有一个缺点——许可。 iTextSharp是AGPL许可证,这意味着您必须开源您的项目,除非您购买商业许可证。
安装iTextSharp
通过NuGet,您可以安装它:
Install-Package itext
较新的版本使用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();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();输出

iTextSharp的优势与劣势
优势:
- 强大且企业级
- 支持PDF/A、安全加密、表单填写和数字签名
- 模块化架构带有插件
劣势:
- AGPL许可或昂贵的商业许可
- 学习曲线陡峭
- 相比于竞争对手语法冗长
IronPDF: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包管理器控制台安装:
Install-Package IronPdf
或者使用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");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");输出

这个简单的例子使用一个无头的Chromium引擎的全部能力来渲染HTML/CSS,效果就如同浏览器一样——这是PDFsharp和iTextSharp难以做到的。
性能和开发者体验
IronPDF因以下几点被广泛认可:
*精确度:*使用 Chromium 引擎生成 PDF 文件,实现像素级完美渲染 易于使用:无需手动管理页面大小、页边距或字体 速度:支持多线程,生成速度快 支持:**提供完善的文档、示例和客户支持
基准测试显示,在标准机器上,IronPDF可以在不到2秒的时间内生成包含图像、CSS和JavaScript的复杂HTML发票,比iTextSharp的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、iTextSharp和IronPDF——都有其自身的优势、劣势和理想的使用情况。 那么,您应该为您的.NET应用程序选择哪一个?
PDFsharp:轻量级和DIY
如果您正在构建一个小型应用程序,有基本的文档渲染需求,且更喜欢完全控制PDF绘图操作,那么PDFsharp是一个可靠的起点。 其开源性质和低开销使其成为需要许可和简便性的项目的理想选择。 然而,其代价是手动操作:无HTML支持、无现代网页渲染、且活跃开发有限。
在以下情况下使用PDFsharp:
- 您希望通过编程创建含线条、文本和简单布局的PDF文件。
- 您的应用程序不要求HTML到PDF、CSS样式或JavaScript。
- 开源兼容性(MIT许可证)对于您至关重要。
iTextSharp:强大但复杂
iTextSharp位于企业级光谱的另一端。 它功能强大、安全,适合复杂PDF操作,例如:
- 填写表单
- 生成条形码
- 使用数字签名保护文件
- 与PDF/A和PDF/UA等格式的合规性
然而,其AGPL许可可能限制除非您准备好开源代码或支付商业许可费——而这并不便宜。此外,学习曲线更陡峭,HTML渲染是附加选项而不是核心功能。
在以下情况下使用iTextSharp:
- 您正在构建带有表单填写或安全 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对于基础用途是不错的选择,iTextSharp适合合规要求繁重的行业,但IronPDF作为现代C#开发人员的全能PDF解决方案脱颖而出。 它在功能、简易性和现实应用的可用性之间达到了完美的平衡。
无论您是在渲染动态报告、从网页模板生成客户发票还是输出丰富文档,IronPDF都能让您专注于您的应用程序——而不是PDF渲染的细节。
准备好试用吗?
不要仅仅相信我们的话——亲自探索IronPDF:
使用IronPDF,您不仅是在生成PDF——您正在构建经过专业润色、投入生产准备的文档,它们的外观与您的设计完全一致。 减少开发时间,消除渲染烦恼,加快发布速度。
常见问题解答
如何使用 iText7 在 C# 中从 PDF 中提取文本?
要使用 iText7 从 PDF 中提取文本,您可以创建一个 PDF 阅读器实例并使用 `PdfTextExtractor` 类。 然而,由于其复杂的语法和许可限制,开发人员可能更喜欢像 IronPDF 这样的替代方案,以实现更简单的实现。
IronPDF 在将 HTML 转换为 PDF 时的选择更佳的原因是什么?
IronPDF 由于其基于 Chromium 的呈现引擎而在 HTML 到 PDF 转换中受青睐,从而确保像素完美的精度和对 HTML5、CSS3 和 JavaScript 的完整支持。
iText7 和 IronPDF 在许可上的区别是什么?
iText7 需要 AGPL 许可证用于开源项目,除非购买商业许可证,而 IronPDF 提供更灵活的许可模式,吸引商业和个人开发人员。
IronPDF 的常见用例是什么?
IronPDF 通常用于从 HTML 内容生成 PDF,在 .NET 应用程序中创建报告、发票和文档,由于其易用性和强大的功能集。
哪个库更适合企业级 PDF 任务?
由于其高级功能(如数字签名和表单字段),iText7 常用于企业级任务。 然而,IronPDF 提供了一个更简单、更具成本效益的解决方案,具有大多数 PDF 生成需求的综合功能。
IronPDF 如何确保 PDF 渲染的准确性?
IronPDF 通过利用基于 Chromium 的引擎确保 PDF 的准确渲染,该引擎支持现代 Web 标准,并提供 Web 内容到 PDF 的高保真转换。
使用 IronPDF 的主要好处是什么?
开发人员受益于 IronPDF 的简单 API、全面的文档和快速的呈现能力,这使其成为处理 PDF 生成和操作的 C# 开发人员的绝佳选择。
IronPDF 可以用于云应用吗?
是的,IronPDF 可以无缝集成到基于云的应用程序中,支持在 Azure 和 Docker 上的部署,从而增强其在现代软件开发环境中的适用性。
IronPDF 的输出质量如何与其他 PDF 库相比?
IronPDF 的输出质量卓越,得益于其先进的渲染引擎,确保从 HTML 生成的 PDF 在视觉上是一致且准确的,是专业文件创建的可靠选择。
推荐给初学 PDF 生成 C# 的开发人员的库是什么?
推荐给初学 PDF 生成 C# 的开发人员使用 IronPDF,因为其用户友好的语法和全面的支持,允许易于集成和快速学习曲线。






