产品比较

使用iTextSharp VS IronPDF从C#中的PDF提取文本

发布 2023年十一月14日
分享:

在数字文档管理的动态环境中,从 PDF 文件中毫不费力地提取数据的能力是支撑众多应用的基础任务。提取文本的过程对于综合数据分析、内容索引、商业用途和文本处理等目的至关重要。在一系列可用的工具中,iTextSharp 是一个备受推崇的 C# 库,是从 PDF 文件中提取文本的出色解决方案。

在这篇内容全面的文章中,我们将深入探讨使用 iTextSharp 的丰富功能,探索这个功能强大、用途广泛的解析器库如何帮助开发人员使用 C# 编程语言高效地从 PDF 文档中提取文本内容。我们将介绍基本方法、示例技术和最佳实践,使开发人员掌握有效利用 iTextSharp 进行文本提取所需的知识。我们还将在这篇文章中讨论和比较最好、最强大的 PDF 库 IronPDF。

如何从 PDF C&num 中提取文本;

1.下载用于从 PDF 中提取文本的 C# 库。

2.通过实例化 PdfReader 对象加载现有 PDF。

3.使用 GetTextFromPage 方法从 PdfDocument 对象中提取文本。

4.实例化 foreach 循环,遍历各行。

5.使用 WriteLine 方法将各行写入文件。

什么是 IronPDF?

IronPDFIronPDF 是.NET 开发领域中功能丰富的著名库,它彻底改变了 PDF 的生成和处理。IronPDF 为开发人员提供了一套全面的工具,可以无缝集成到 C# 应用程序中,轻松创建、修改和渲染 PDF 文档。凭借其直观的 API 和强大的功能,该多功能库为从 HTML、图像和内容生成高质量 PDF 提供了无限可能。在本文中,我们将探索 IronPDF 的功能,深入研究其主要特性,并演示如何利用它在 C&num 中高效地处理 PDF 相关任务;

iTextSharp 库

iTextSharp 是使用 C# 进行 PDF 操作领域中一个著名且功能强大的库,它彻底改变了开发人员处理 PDF 文档的方式。iTextSharp 使开发人员能够生成复杂的 PDF、提取图像、处理现有文档和提取数据,使其成为各种应用程序的首选解决方案。在本文中,我们将深入探讨 iTextSharp 的功能和特性,探讨如何在 C# 编程环境中有效地利用它来管理和处理 PDF。

安装 IronPDF

安装 IronPDF 的过程非常简单,以下是在 C# 项目中安装和集成 IronPDF 的步骤。

1.打开 Visual Studio,创建一个新项目或打开一个现有项目。

2.转到 "工具",从下拉菜单中选择 "NuGet 包管理器"。

3.在新的侧菜单中选择解决方案的 NuGet 包管理器。

![使用 iTextSharp VS IronPDF 在 C# 中提取 PDF 中的文本 图 1 - NuGet 软件包管理器](/static-assets/pdf/blog/extract-text-from-pdf-csharp-itextsharp/extract-text-from-pdf-csharp-itextsharp-1.webp)

4.在 "NuGet 包管理器 "窗口中,选择 "浏览 "选项卡。

5.在搜索栏中输入 "IronPDF",然后按 Enter 键。

6.IronPDF 实例列表将出现,选择最新版本并按安装。

使用 iTextSharp VS IronPDF 在 C# 中提取 PDF 中的文本 图 2 - IronPDF 安装

就这样,IronPDF 安装完毕,可以在您的 C# 项目中使用了。

安装 iTextSharp 库

安装 iTextSharp PDF 库与安装 IronPDF 相同。重复上述步骤,只需在浏览窗口中搜索 "iTextSharp "而不是 IronPDF,从软件包列表中选择,点击安装即可在项目中集成 iTextSharp PDF 库。

使用 iTextSharp VS IronPDF 在 C# 中提取 PDF 中的文本 图 3 - iTextSharp

使用 IronPDF 从 PDF 文件中提取文本

IronPDF 提供从 PDF 文件中提取文本的功能,可以根据特定页面自动提取文本,也可以从所有 PDF 文件中提取文本。在下面的代码示例中,我们将看到如何从示例 PDF 文档的特定页面中提取文本。

using IronPdf;
using System;
using PdfDocument PDF = PdfDocument.FromFile("Watermarked.pdf");
string Text = PDF.ExtractTextFromPage(1);
Console.Write(Text);
using IronPdf;
using System;
using PdfDocument PDF = PdfDocument.FromFile("Watermarked.pdf");
string Text = PDF.ExtractTextFromPage(1);
Console.Write(Text);
Imports IronPdf
Imports System
Private PdfDocument As using
Private Text As String = PDF.ExtractTextFromPage(1)
Console.Write(Text)
VB   C#

上述代码使用 C# 中的 IronPDF 库从 PDF 文件中提取文本并显示在控制台中。首先,导入必要的命名空间,包括 IronPDF 和 System。然后,代码使用 FromFile 方法将名为 "Watermarked.pdf "的 PDF 文档加载到一个 PdfDocument 对象中。然后,使用 ExtractTextFromPage 方法从 PDF 的第二页提取文本,并将其存储到名为 Text 的字符串变量中。最后,使用 Console.Write 将提取的文本显示在控制台中。

使用 iTextSharp VS IronPDF 在 C# 中提取 PDF 中的文本 图 4 - 输出

使用 iTextSharp 库从 PDF 文件中提取文本

你还可以使用 iTextSharp 从 PDF 文件中提取文本,下面是 iTextSharp 库发挥作用的示例。

using System;
using System.Text;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;

namespace PDFApp2
{
    class Program
    {
        static void Main(string [] args)
        {
            string filePath = @"C:\Users\buttw\OneDrive\Desktop\highlighted PDF.pdf";
            string outPath = @"C:\Users\buttw\OneDrive\Desktop\name.txt";
            int pagesToScan = 2;

            string strText = string.Empty;
            try
            {
                PdfReader reader = new PdfReader(filePath);
                for (int page = 1; page <= pagesToScan; page++) 
                {
                    ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy();
                    strText = PdfTextExtractor.GetTextFromPage(reader, page, its);

                    strText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(strText)));
                    string [] lines = strText.Split('\n');
                    foreach (string line in lines)
                    {
                        using (System.IO.StreamWriter file = new System.IO.StreamWriter(outPath, true))
                        {
                            file.WriteLine(line);
                        }
                    }
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }
        }
    }
}
using System;
using System.Text;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;

namespace PDFApp2
{
    class Program
    {
        static void Main(string [] args)
        {
            string filePath = @"C:\Users\buttw\OneDrive\Desktop\highlighted PDF.pdf";
            string outPath = @"C:\Users\buttw\OneDrive\Desktop\name.txt";
            int pagesToScan = 2;

            string strText = string.Empty;
            try
            {
                PdfReader reader = new PdfReader(filePath);
                for (int page = 1; page <= pagesToScan; page++) 
                {
                    ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy();
                    strText = PdfTextExtractor.GetTextFromPage(reader, page, its);

                    strText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(strText)));
                    string [] lines = strText.Split('\n');
                    foreach (string line in lines)
                    {
                        using (System.IO.StreamWriter file = new System.IO.StreamWriter(outPath, true))
                        {
                            file.WriteLine(line);
                        }
                    }
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }
        }
    }
}
Imports Microsoft.VisualBasic
Imports System
Imports System.Text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser

Namespace PDFApp2
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim filePath As String = "C:\Users\buttw\OneDrive\Desktop\highlighted PDF.pdf"
			Dim outPath As String = "C:\Users\buttw\OneDrive\Desktop\name.txt"
			Dim pagesToScan As Integer = 2

			Dim strText As String = String.Empty
			Try
				Dim reader As New PdfReader(filePath)
				For page As Integer = 1 To pagesToScan
					Dim its As ITextExtractionStrategy = New iTextSharp.text.pdf.parser.LocationTextExtractionStrategy()
					strText = PdfTextExtractor.GetTextFromPage(reader, page, its)

					strText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(strText)))
					Dim lines() As String = strText.Split(ControlChars.Lf)
					For Each line As String In lines
						Using file As New System.IO.StreamWriter(outPath, True)
							file.WriteLine(line)
						End Using
					Next line
				Next page
				reader.Close()
			Catch ex As Exception
				Console.Write(ex)
			End Try
		End Sub
	End Class
End Namespace
VB   C#

所提供的代码是一个 C# 程序,它使用 iTextSharp 库从 PDF 文档的特定页面中提取文本并将其保存到文本文件中。首先,导入必要的命名空间,包括 System.TextiTextSharp.text.pdf 和 iTextSharp.text.pdf.parser。程序会指定文件名、输入 PDF 文件路径、输出文本文件路径和要扫描的页数。然后,程序利用 iTextSharp 的 "PDFReader "读取 PDF 文件。对于指定的每一页,它都会使用 iTextSharp 新的 "LocationTextExtractionStrategy "来提取文本,并将编码转换为 UTF-8。提取的文本被分成几行,新的 StringBuilder 文本从 PDF 代码的正确方向运行。过程中遇到的任何异常都会被捕获并显示在控制台中。最后,程序将关闭 PdfReader

使用 iTextSharp VS IronPDF 在 C# 中提取 PDF 文本 图 5 - 使用 iTextSharp 提取文本

结论

iTextSharp 是一个功能强大、用途广泛的 C# 库,它彻底改变了 PDF 操作,实现了无缝内容创建、修改和提取。其强大的功能使其成为开发人员的首选解决方案,使他们能够生成复杂的 PDF 并有效管理 PDF 中的文本内容。此外,.NET 领域的另一个著名库 IronPDF 也提供了一套全面的 PDF 生成和图像处理工具,增强了开发人员从各种来源轻松创建、修改和渲染高质量 PDF 的能力。在对这两个 PDF 库进行比较时,IronPDF 因其完善的文档记录和易于使用的 API(只需几行代码即可完成所有文本提取)而处于领先地位,而使用 iTextSharp 则需要编写冗长而复杂的代码,并且需要深入了解库和 C&num 的知识;

了解更多 IronPDF 及其功能,请访问此链接 这里.有关使用 IronPDF 提取文本的完整教程,请参阅以下内容 链接.有关 IronPDF 和 iTextSharp 的完整教程,请访问以下网站 链接.

< 前一页
iTextSharp 文档评审与 IronPDF 比较
下一步 >
IronPDF 与 Puppeteer C#:比较

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

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