在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
PDF 是一种由 Adobe Acrobat Reader 创建的可移植文件格式,广泛用于在互联网上以数字方式共享信息。 它保留了数据格式,并提供设置安全权限和密码保护等功能。 作为 C# 开发人员,您可能遇到过需要将 PDF 功能集成到软件应用程序中的情况。 从头开始构建可能是一项耗时而乏味的任务。 因此,考虑到应用程序的性能、效果和效率,在从头开始创建新服务还是使用预建库之间进行权衡就显得尤为重要。
有几个 PDF 库可供 C# 使用。 在本文中,我们将探讨两个最流行的 PDF 库,用于用 C# 阅读 PDF 文档。
iText 7,前称为iText 7 Core,是一个用于在.NET C#和Java中编程PDF文档的PDF库。 它可作为开源许可证(AGPL)提供,并可用于商业应用程序。
iText Core 是一个高级 API,提供了以各种可能方式生成和编辑 PDF 的简便方法。 使用 iText 7 Core,您可以对 PDF 文件进行分割、合并、注释、填写表格、数字签名等操作。 iText 7 提供一个HTML 到 PDF 转换器。
了解更多关于 IronPDF 是一个 .NET 和 .NET Framework C# 和 Java API,用于通过 URL、HTML 文件或 HTML 字符串从 HTML、CSS 和 JavaScript 生成 PDF 文档。 IronPDF 允许您处理现有的 PDF 文件,如分割、合并、注释、数字签名等。
IronPdf 具有 50 多种创建、阅读和编辑 PDF 文件的功能。 当您需要使用 Adobe Acrobat Reader 交付高质量、像素完美的专业 PDF 文件时,它将优先考虑速度、易用性和准确性。 API 文档齐全,代码示例页面上可以找到许多示例源代码。
首先,我们将使用 Visual Studio 2022 IDE 创建一个应用程序。 Visual Studio 是用于 C# 开发的官方集成开发环境,您必须安装它。 如果尚未安装,您可以从Microsoft Visual Studio 网站下载。
以下步骤将创建一个名为 "DemoApp "的新项目。
打开 Visual Studio,点击 "创建新项目"。
Itext7 用 C# 读取 PDF 的替代方案 (VS IronPDF) 图 1 - 新项目
选择 "控制台应用程序",然后点击 "下一步"。
设置项目名称。
选择 .NET 版本。 选择稳定版本 .NET 6.0。
项目创建后,需要在项目中安装 IronPDF 库才能使用。 请按照以下步骤安装。
从解决方案资源管理器或工具中打开 NuGet 包管理器。
浏览 IronPDF Library 并为当前项目选择它。 点击安装。
在 Program.cs 文件顶部添加以下命名空间
using IronPdf;
using IronPdf;
项目创建后,需要在项目中安装 iText 7 库才能使用。 按照步骤进行安装。
从解决方案资源管理器或工具中打开 NuGet 包管理器。
浏览 iText 7 库并为当前项目选择该库。 点击安装。
在 Program.cs 文件顶部添加以下命名空间
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
我们将使用以下 PDF 文件提取其中的文本。 这是一份两页的 PDF 文件。
使用 iText 库打开 PDF 文件需要两个步骤。 首先,我们创建一个PdfReader
对象,并将文件位置作为参数传递。 然后我们使用PdfDocument
类来创建一个新的PDF文档。 代码如下
PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
使用 IronPDF 打开 PDF 文件非常简单。 使用PdfDocument
类的FromFile
方法从任何文件位置打开PDF。 以下单行代码将打开 PDF 文件以读取数据:
var pdf = PdfDocument.FromFile("sample.pdf");
var pdf = PdfDocument.FromFile("sample.pdf");
在 iText 7 库中读取 PDF 数据并不那么简单。 我们必须手动循环查看 PDF 文档的每一页,从每一页中提取文本。 以下源代码有助于从 PDF 文档中逐页提取文本:
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
上面的代码中有很多内容。 首先,我们声明文本提取策略,然后使用PdfExtractor
类的GetTextFromPage
方法来读取文本。 该方法接受两个参数:第一个参数是 PDF 文档页面,第二个参数是翻译策略。 要获取 PDF 文档页面,使用 PdfDocument
实例调用 GetPage
方法,并传递页面编号作为参数。 输出结果以字符串形式返回,然后显示在控制台输出屏幕上。 最后,PDFReader
和 PdfDocument
对象被关闭。 另外,请查看以下使用iText7从PDF中提取文本的代码示例。
就像打开 PDF 文件只需一行代码一样,从 PDF 文件中读取文本也只需一行代码。 PDFDocument
类提供了 ExtractAllText
方法来读取 PDF 的全部内容。 Console.WriteLine
用于在屏幕上打印文本。 代码如下
string text = pdf.ExtractAllText();
Console.WriteLine(text);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
输出准确无误。 但是,要使用ExtractAllText
方法,您需要拥有许可证,因为它仅在生产模式下工作。 您可以从IronPDF 试用许可证页面获取为期30天的试用许可证密钥。
相比之下,这两个库在从 PDF 文档中提取文本时都能提供 100% 的准确结果。 在准确性方面,它们是一致的。 不过,IronPDF 在性能和代码可读性方面更加高效。
IronPDF 只需两行代码即可完成与 iText 相同的任务。 它提供了开箱即用的文本提取方法,无需执行任何额外的逻辑。 iText 代码有点麻烦,你必须关闭在打开 PDF 文档时创建的两个实例。 而 IronPDF 会在执行任务后自动清除内存。
在本文中,我们研究了如何使用 C# 中的 iText 库读取 PDF 文档,然后与 IronPDF 进行了比较。 这两个库都能提供准确的结果,并提供多种 PDF 操作方法供使用。 您可以使用这两个库创建、编辑和读取 PDF 文件中的数据。
iText 是开放源代码,可免费使用,但有限制条件。 它可以获得商业使用许可。 IronPDF 也可以免费使用,并且可以通过许可用于商业活动,同时提供30天免费试用。