产品比较

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 是一个高级应用程序接口,提供了以各种可能方式生成和编辑 PDF 的简便方法。 有了 iText 7 Core,你可以对 PDF 文件进行分割、合并、注释、填写表格、数字签名等操作。 iText 7 提供了一个 HTML 至 PDF 转换器.

IronPDF

IronPDF 是一个 .NET 和 .NET Framework C# 和 Java API,用于从 URL、HTML 文件或 HTML 字符串中的 HTML、CSS 和 JavaScript 生成 PDF 文档。 IronPDF 允许你处理现有的 PDF 文件,如分割、合并、注释、数字签名等。

IronPDF 拥有 50 多种创建、阅读和编辑 PDF 文件的功能。 当您需要使用 Adobe Acrobat Reader 提供高质量、像素完美的专业 PDF 文件时,它将速度、易用性和准确性放在首位。 该应用程序接口文档齐全,在其代码示例页面上可以找到大量示例源代码。

创建控制台应用程序

首先,我们将使用 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 库并选择用于当前项目。 点击安装。

    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 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 10

使用IronPDF

就像打开 PDF 文件只需一行代码一样,从 PDF 文件中读取文本也只需一行代码。 PDFDocument类提供了ExtractAllText` 方法,用于 阅读全文 文件中的文本。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 天的试用许可证密钥 链接.

比较

相比之下,这两个库在从 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.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >