在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
PDF 是一种由 Adobe Acrobat Reader 创建的便携式文档格式,广泛用于在互联网上以数字方式共享信息。它保留了数据格式,并提供设置安全权限和密码保护等功能。作为一名 C# 开发人员,您可能遇到过需要在软件应用程序中集成 PDF 功能的情况。从头开始构建可能是一项耗时而乏味的任务。因此,考虑到应用程序的性能、效果和效率,在从头开始创建新服务或使用预建库之间进行权衡是非常重要的。
C# 有几个 PDF 库可用。在本文中,我们将探讨两个最流行的 PDF 库,用于在 C# 中读取 PDF 文档。
iText 7iText 7 Core 的前身是 iText 7 Core,它是一个 PDF 库,用于在 .NET C# 和 Java 中编写 PDF 文档。它采用开源许可 (AGPL) 并可获得商业应用许可。
iText Core 是一个高级应用程序接口(API),它提供了以各种可能方式生成和编辑 PDF 的简便方法。有了 iText 7 Core,你可以对 PDF 文件进行分割、合并、注释、填写表格、数字签名等操作。 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 文件时,它将速度、易用性和准确性放在首位。API 文档完备,在代码示例页面上可以找到大量示例源代码。
首先,我们将使用 Visual Studio 2022 IDE 创建应用程序。Visual Studio 是用于 C# 开发的官方集成开发环境,您必须安装它。您可以从 微软 Visual Studio 网站如果没有安装。
以下步骤将创建一个名为 "DemoApp "的新项目。
1.打开 Visual Studio,点击 "创建新项目"。
![Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 1 - 新项目](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-1.webp)
2.选择 "控制台应用程序",然后点击 "下一步"。
![Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 2](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-2.webp)
3.设置项目名称。
![Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 3](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-3.webp)
4.选择 .NET 版本。选择稳定版本 .NET 6.0。
![Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 4](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-4.webp)
创建项目后,需要在项目中安装 IronPDF 库才能使用它。请按照以下步骤安装。
1.从解决方案资源管理器或工具中打开 NuGet 包管理器。
![Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 5](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-5.webp)
2.浏览 IronPDF Library 并选择用于当前项目。点击安装。
![Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 6](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-6.webp)
在 Program.cs 文件顶部添加以下命名空间
using IronPdf;
using IronPdf;
Imports IronPdf
创建项目后,需要在项目中安装 iText 7 库才能使用。请按照以下步骤安装。
1.从解决方案资源管理器或工具中打开 NuGet 包管理器。
![Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 7](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-7.webp)
2.浏览 iText 7 库并选择用于当前项目。点击安装。
![Itext7 在 C# 中读取 PDF 的替代方案(VS IronPDF) 图 8](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-8.webp)
在 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
我们将使用下面的 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);
Dim pdfReader As New PdfReader("sample.pdf")
Dim pdfDoc As New PdfDocument(pdfReader)
使用 IronPDF 打开 PDF 文件非常简单。使用 PdfDocument
类的 FromFile
方法从任何文件位置打开 PDF 文件。下面的一行代码将打开一个 PDF 文件以读取数据:
var pdf = PdfDocument.FromFile("sample.pdf");
var pdf = PdfDocument.FromFile("sample.pdf");
Dim 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();
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()
上面的代码有很多内容。首先,我们声明文本提取策略,然后使用 PdfExtractor
类的 GetTextFromPage
方法读取文本。该方法接受两个参数:第一个是 PDF 文档页面,第二个是策略。要获取 PDF 文档页面,可使用 PdfDocument
实例调用 GetPage
方法,并将页码作为参数传递。输出结果以字符串形式返回,然后显示在控制台输出屏幕上。最后,关闭 PDFReader
和 PdfDocument
对象。另外,请看下面的代码示例 这里.
就像打开 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)
输出结果准确无误。不过,要使用 "ExtractAllText "方法,你需要获得许可证,因为它只能在生产模式下使用。您可以从以下链接获取 30 天的试用许可证密钥 链接.
相比之下,这两个库在从 PDF 文档中提取文本时都能提供 100% 的准确结果。在准确性方面,两者不相上下。不过,IronPDF 在性能和代码可读性方面更高效。
IronPDF 只需两行代码就能完成与 iText 相同的任务。iText 的代码有点麻烦,你必须在打开 PDF 文档时关闭创建的两个实例。而 IronPDF 会在任务完成后自动清除内存。
在本文中,我们探讨了如何使用 C# 中的 iText 库读取 PDF 文档,并将其与 IronPDF 进行了比较。这两个库都能提供准确的结果,并提供多种 PDF 操作方法。您可以使用这两个库创建、编辑和读取 PDF 文件中的数据。
iText 是开源软件,可免费使用,但有使用限制。它可以 特许 用于商业用途。IronPDF 还可免费使用,并可 特许 用于商业活动,其 30 天免费试用.
下载 IronPDF 并试一试。