产品比较

iTextSharp读取PDF替代方案(开发人员教程)

发布 2024年四月3日
分享:

PDF (便携式文档格式) 是一种广泛使用的文件格式,可用于一致、安全地共享文档。在 C# 中读取和处理此类文件是文档管理系统、报表工具等各种应用程序的共同要求。在本文中,我们将比较两个常用的 C# 阅读 PDF 文件库:IronPDF 和 iTextSharp (最新的 .NET 库 iText).

IronPDF 是一个全面的 C# 库,由 铁软件 它为处理 PDF 文件提供了广泛的功能。它允许开发人员无缝创建、编辑和处理 PDF 文档。 IronPDF 以其简单易用而著称,是需要将 PDF 功能快速集成到应用程序中的开发人员的绝佳选择。

iTextSharp 是另一个在 C# 中处理 PDF 文件的流行库。iText 为创建和处理 PDF 文档提供了丰富的功能。它以灵活性和可扩展性著称,适用于复杂的 PDF 相关任务。

如何使用 IronPDF 与 iTextSharp 在 C&num 中读取 PDF;

1.在 Visual Studio 中创建一个新的 C# 项目,比较 IronPDF 和 iTextSharp 对 PDF 文件的读取。

2.在项目中安装 IronPDF 和 iTextSharp 库。

3.使用 IronPDF 阅读 PDF 文件。

4.使用 iTextSharp 阅读 PDF 文件。

先决条件

  1. Visual Studio: 确保安装了 Visual Studio 或其他 C# 开发环境。

  2. NuGet 软件包管理器: 确保可以使用 NuGet 管理项目中的软件包。

第 1 步:在 Visual Studio 中创建一个新的 C# 项目,比较 IronPDF 和 iTextSharp 对 PDF 文件的读取。

首先建立一个 C# 控制台应用程序。打开 Visual Studio,选择创建新项目。选择控制台应用程序类型。

iTextSharp 阅读 PDF 的替代方法(开发人员教程):图 1 - 控制台应用程序

提供如下所示的项目名称。

iTextSharp 阅读 PDF 的替代方法(开发人员教程):图 2 - 项目配置

为项目选择所需的 .NET 版本。

iTextSharp 阅读 PDF 的替代方法(开发人员教程):图 3 - 框架

完成后,Visual Studio 将生成一个新项目。

第 2 步:为项目安装 IronPDF 和 iTextSharp 库

iTextSharp 可以从 NuGet 软件包管理器。最新版本作为 iText 软件包提供。

iTextSharp 阅读 PDF 的替代方法(开发人员教程):图 4 - iText

或从 Visual Studio 软件包管理器安装,如下图所示。在软件包管理器中搜索 iText,然后点击安装。

iTextSharp 阅读 PDF 的替代方法(开发人员教程):图 5 - NuGet 软件包管理器

IronPDF 可从 NuGet 软件包管理器,如下图所示。

iTextSharp 阅读 PDF 的替代方案(开发人员教程):图 6 - IronPDF

或从 Visual Studio 软件包管理器(如下所示)。搜索 IronPDF 并单击安装。

iTextSharp 阅读 PDF 的替代方案(开发人员教程):图 7 - 安装 IronPDF

第 3 步:使用 IronPDF 从 PDF 文件读取文本

在 program.cs 文件中添加以下代码,并提供一个包含以下内容的 PDF 文档示例。

iTextSharp 阅读 PDF 的替代方法(开发人员教程):图 8 - PDF 输入

using IronPdf;
Console.WriteLine("Comparison of IronPDF And itextsharp Read PDF Files in C#");
// pdfreader reader
ReadUsingIronPDF.Read();
public class ReadUsingIronPDF
{
    public static void Read()
    {
        // read from specific location
        string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
        var pdfReader = PdfDocument.FromFile(filename);
        // Get all text to put in a search index using new simpletextextractionstrategy
        var allText = pdfReader.ExtractAllText();
        Console.WriteLine("------------------Text From PDF-----------------");
        Console.WriteLine(allText);
        Console.WriteLine("------------------Text From PDF-----------------");
        var allIMages = pdfReader.ExtractAllImages();
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine($"Total Images={allIMages.Count()}");
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine("------------------one Page Text From PDF page-----------------");
        var pageCount = pdfReader.PageCount;
        for (int page = 0; page < pageCount; page++)
        {
            string Text = pdfReader.ExtractTextFromPage(page);
            Console.WriteLine(Text);
        }    
    }
}
using IronPdf;
Console.WriteLine("Comparison of IronPDF And itextsharp Read PDF Files in C#");
// pdfreader reader
ReadUsingIronPDF.Read();
public class ReadUsingIronPDF
{
    public static void Read()
    {
        // read from specific location
        string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
        var pdfReader = PdfDocument.FromFile(filename);
        // Get all text to put in a search index using new simpletextextractionstrategy
        var allText = pdfReader.ExtractAllText();
        Console.WriteLine("------------------Text From PDF-----------------");
        Console.WriteLine(allText);
        Console.WriteLine("------------------Text From PDF-----------------");
        var allIMages = pdfReader.ExtractAllImages();
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine($"Total Images={allIMages.Count()}");
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine("------------------one Page Text From PDF page-----------------");
        var pageCount = pdfReader.PageCount;
        for (int page = 0; page < pageCount; page++)
        {
            string Text = pdfReader.ExtractTextFromPage(page);
            Console.WriteLine(Text);
        }    
    }
}
Imports IronPdf
Console.WriteLine("Comparison of IronPDF And itextsharp Read PDF Files in C#")
' pdfreader reader
ReadUsingIronPDF.Read()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingIronPDF
'{
'	public static void Read()
'	{
'		' read from specific location
'		string filename = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
'		var pdfReader = PdfDocument.FromFile(filename);
'		' Get all text to put in a search index using new simpletextextractionstrategy
'		var allText = pdfReader.ExtractAllText();
'		Console.WriteLine("------------------Text From PDF-----------------");
'		Console.WriteLine(allText);
'		Console.WriteLine("------------------Text From PDF-----------------");
'		var allIMages = pdfReader.ExtractAllImages();
'		Console.WriteLine("------------------Image Count From PDF-----------------");
'		Console.WriteLine(string.Format("Total Images={0}", allIMages.Count()));
'		Console.WriteLine("------------------Image Count From PDF-----------------");
'		Console.WriteLine("------------------one Page Text From PDF page-----------------");
'		var pageCount = pdfReader.PageCount;
'		for (int page = 0; page < pageCount; page++)
'		{
'			string Text = pdfReader.ExtractTextFromPage(page);
'			Console.WriteLine(Text);
'		}
'	}
'}
VB   C#

代码解释

1.要创建文本 PDF,请创建一个 Word 文档,并在 Word 文档中添加上述文本,然后将其保存为 PDF 文档,命名为 Example.pdf

2.在代码中,我们从 PDF 文件路径创建一个 PDFReader 并提取所有文本

3.可以使用 ExtractImages 方法提取 PDF 中的图像

4.可使用 ExtractTextFromPage 方法读取 PDF 文档中的每一页

输出

iTextSharp 读取 PDF 的替代方法(开发人员教程):图 9 - 使用 IronPDF 输出读取 PDF

第 3 步:使用 iTextSharp 从 PDF 文件读取文本

现在,为了比较从 iTextSharp 中读取的文本,请在同一 program.cs 文件中添加以下代码。为简单起见,我们没有将类分在不同的文件中。

using IronPdf;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
Console.WriteLine("Comparison of IronPDF And Itextsharp Read PDF Files in C#");
//ReadUsingIronPDF.Read();
ReadUsingITextSharp.Read();
public class ReadUsingITextSharp
{
    public static void Read()
    {
        string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
        // Create a PDF reader
        PdfReader pdfReader = new PdfReader(pdfFile);
        iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);
        // Extract plain text from the PDF
        LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
        string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
        // Display or manipulate the extracted text as needed
        Console.WriteLine(pdfText);
    }
}
using IronPdf;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
Console.WriteLine("Comparison of IronPDF And Itextsharp Read PDF Files in C#");
//ReadUsingIronPDF.Read();
ReadUsingITextSharp.Read();
public class ReadUsingITextSharp
{
    public static void Read()
    {
        string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
        // Create a PDF reader
        PdfReader pdfReader = new PdfReader(pdfFile);
        iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);
        // Extract plain text from the PDF
        LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
        string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
        // Display or manipulate the extracted text as needed
        Console.WriteLine(pdfText);
    }
}
Imports IronPdf
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Console.WriteLine("Comparison of IronPDF And Itextsharp Read PDF Files in C#")
'ReadUsingIronPDF.Read();
ReadUsingITextSharp.Read()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingITextSharp
'{
'	public static void Read()
'	{
'		string pdfFile = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
'		' Create a PDF reader
'		PdfReader pdfReader = New PdfReader(pdfFile);
'		iText.Kernel.Pdf.PdfDocument pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfReader);
'		' Extract plain text from the PDF
'		LocationTextExtractionStrategy strategy = New LocationTextExtractionStrategy();
'		string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
'		' Display or manipulate the extracted text as needed
'		Console.WriteLine(pdfText);
'	}
'}
VB   C#

输出

iTextSharp 读取 PDF 的替代方法(开发人员教程):图 10 - 使用 iTextSharp 输出读取 PDF

iTextSharp 限制

  1. 学习曲线:iTextSharp 的学习曲线比较陡峭,尤其是对初学者而言。

  2. 许可:iTextSharp 的许可模式可能不适合所有项目,尤其是预算有限的项目。

IronPDF 的优势

  1. 易于使用:IronPDF 以其简单明了的应用程序接口(API)而著称,开发人员可以轻松上手。

  2. 文档渲染:IronPDF 提供准确的 PDF 文档渲染,确保提取的文本忠实于原文。

许可 (可免费试用)

使用 IronPDF.将此密钥插入 appsettings.json 文件。

"IronPdf.LicenseKey": "your license key"

要获得试用许可证,请提供您的电子邮件。

结论

选择 IronPDF 是否选择 IronPDF 和 iTextSharp 取决于项目的具体要求。如果您需要一个简单易用的常用 PDF 操作库,IronPDF 可能是更好的选择。在做出决定时,请考虑应用程序的复杂性、预算和学习曲线等因素。

IronPDF 旨在将 PDF 生成无缝集成到您的应用程序中,毫不费力地处理格式化文档到 PDF 的转换。这款多功能工具允许您使用 .NET 将网页表单、本地 HTML 网页和其他网页内容转换为 PDF。用户可以方便地下载、通过电子邮件发送或在云中存储文档。无论您是需要制作发票、报价、报告、合同还是其他专业文档,您都可以使用它、 IronPDF 为您提供支持。利用 IronPDF 直观高效的 PDF 生成功能,提升您的应用程序。

< 前一页
在 C# 中使用 iTextSharp 阅读 PDF 文档的方法:
下一步 >
PDFsharp 与 iTextSharp(C# PDF 库比较)

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

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