产品比较

iText7 在 C# 中读取 PDF 的替代方案(VS IronPDF)

发布 2023年六月20日
分享:

PDF 是一种由 Adobe Acrobat Reader 创建的可移植文件格式,广泛用于在互联网上以数字方式共享信息。 它保留了数据格式,并提供设置安全权限和密码保护等功能。 作为 C# 开发人员,您可能遇到过需要将 PDF 功能集成到软件应用程序中的情况。 从头开始构建可能是一项耗时而乏味的任务。 因此,考虑到应用程序的性能、效果和效率,在从头开始创建新服务还是使用预建库之间进行权衡就显得尤为重要。

有几个 PDF 库可供 C# 使用。 在本文中,我们将探讨两个最流行的 PDF 库,用于用 C# 阅读 PDF 文档。

iText 软件

iText 7iText 7 Core 的前身是 iText 7 Core,它是一个 PDF 库,可在 .NET C# 和 Java 中对 PDF 文档进行编程。 它采用开放源代码许可(AGPL)并可获得商业应用许可。

iText Core 是一个高级 API,提供了以各种可能方式生成和编辑 PDF 的简便方法。 使用 iText 7 Core,您可以对 PDF 文件进行分割、合并、注释、填写表格、数字签名等操作。 iText 7 提供了一个HTML 至 PDF 转换器.

IronPDF

了解有关 IronPDF 的更多信息PDF 是一个 .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# 开发的官方集成开发环境,您必须安装它。 您可以从微软 Visual Studio 网站如果未安装。

以下步骤将创建一个名为 "DemoApp "的新项目。

  1. 打开 Visual Studio,点击 "创建新项目"。

    Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 1 - 新项目

  2. 选择 "控制台应用程序",然后点击 "下一步"。

    Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 2

  3. 设置项目名称。

    Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 3

  4. 选择 .NET 版本。 选择稳定版本 .NET 6.0。

    Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 4

安装 IronPDF 库

项目创建后,需要在项目中安装 IronPDF 库才能使用。 请按照以下步骤安装。

  1. 从解决方案资源管理器或工具中打开 NuGet 包管理器。

    Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 5

  2. 浏览 IronPDF Library 并为当前项目选择它。 点击安装。

    Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 6

    在 Program.cs 文件顶部添加以下命名空间

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

安装 iText 7 库

项目创建后,需要在项目中安装 iText 7 库才能使用。 按照步骤进行安装。

  1. 从解决方案资源管理器或工具中打开 NuGet 包管理器。

    Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 7

  2. 浏览 iText 7 库并为当前项目选择该库。 点击安装。

    Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 8

    在 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;
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf
VB   C#

打开 PDF 文件

我们将使用以下 PDF 文件提取其中的文本。 这是一份两页的 PDF 文件。

Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 9

使用 iText 库

使用 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);
Dim pdfReader As New PdfReader("sample.pdf")
Dim pdfDoc As New PdfDocument(pdfReader)
VB   C#

使用IronPDF

使用 IronPDF 打开 PDF 文件非常简单。 使用 PdfDocument 类的 FromFile 方法从任何文件位置打开 PDF。 以下单行代码将打开 PDF 文件以读取数据:

var pdf = PdfDocument.FromFile("sample.pdf");
var pdf = PdfDocument.FromFile("sample.pdf");
Dim pdf = PdfDocument.FromFile("sample.pdf")
VB   C#

从 PDF 文件中读取数据

使用 iText7 库

在 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();
Dim page As Integer = 1
Do While page <= pdfDoc.GetNumberOfPages()
	Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
	Dim pageContent As String = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy)
	Console.WriteLine(pageContent)
	page += 1
Loop
pdfDoc.Close()
pdfReader.Close()
VB   C#

上面的代码中有很多内容。 首先,我们声明文本提取策略,然后使用 PdfExtractor 类的 GetTextFromPage 方法读取文本。 该方法接受两个参数:第一个参数是 PDF 文档页面,第二个参数是翻译策略。 要获取 PDF 文档页面,请使用 PdfDocument 实例调用 GetPage 方法并将页码作为参数传递。 输出结果以字符串形式返回,然后显示在控制台输出屏幕上。 最后,关闭 PDFReaderPdfDocument 对象。 另外,请查看下面的代码示例使用 iText7 从 PDF 中提取文本.

输出

Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 10

使用IronPDF

就像打开 PDF 文件只需一行代码一样,从 PDF 文件中读取文本也只需一行代码。 PDFDocument类提供了ExtractAllText方法,用于[阅读 PDF 中的全部内容](/examples/reading-pdf-text/).Console.WriteLine` 用于在屏幕上打印文本。 代码如下

string text = pdf.ExtractAllText();
Console.WriteLine(text);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
VB   C#

输出

Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 11

输出准确无误。 不过,要使用 "ExtractAllText "方法,您需要获得许可证,因为它只能在生产模式下使用。 您可以从以下网站获取 30 天的试用许可证密钥IronPDF 试用许可证页面.

比较

相比之下,这两个库在从 PDF 文档中提取文本时都能提供 100% 的准确结果。 在准确性方面,它们是一致的。 不过,IronPDF 在性能和代码可读性方面更加高效。

IronPDF 只需两行代码即可完成与 iText 相同的任务。 它提供了开箱即用的文本提取方法,无需执行任何额外的逻辑。 iText 代码有点麻烦,你必须关闭在打开 PDF 文档时创建的两个实例。 而 IronPDF 会在执行任务后自动清除内存。

摘要

在本文中,我们研究了如何使用 C# 中的 iText 库读取 PDF 文档,然后与 IronPDF 进行了比较。 这两个库都能提供准确的结果,并提供多种 PDF 操作方法供使用。 您可以使用这两个库创建、编辑和读取 PDF 文件中的数据。

iText 是开放源代码,可免费使用,但有限制条件。 它可以是商业使用许可. IronPDF 还可免费使用,并可商业活动许可提供 30 天免费试用.

下载 IronPDF 并试一试.

< 前一页
如何使用Itextsharp将PDF转换为图像
下一步 >
IronPDF和Foxit PDF SDK的比较

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,622,374 查看许可证 >