在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
PDF (便携式文档格式) 是一种广泛使用的文件格式,可用于一致、安全地共享文档。在 C# 中读取和处理此类文件是文档管理系统、报表工具等各种应用程序的共同要求。在本文中,我们将比较两个常用的 C# 阅读 PDF 文件库:IronPDF 和 iTextSharp (最新的 .NET 库 iText).
IronPDF 是一个全面的 C# 库,由 铁软件 它为处理 PDF 文件提供了广泛的功能。它允许开发人员无缝创建、编辑和处理 PDF 文档。 IronPDF 以其简单易用而著称,是需要将 PDF 功能快速集成到应用程序中的开发人员的绝佳选择。
iTextSharp 是另一个在 C# 中处理 PDF 文件的流行库。iText 为创建和处理 PDF 文档提供了丰富的功能。它以灵活性和可扩展性著称,适用于复杂的 PDF 相关任务。
1.在 Visual Studio 中创建一个新的 C# 项目,比较 IronPDF 和 iTextSharp 对 PDF 文件的读取。
2.在项目中安装 IronPDF 和 iTextSharp 库。
3.使用 IronPDF 阅读 PDF 文件。
4.使用 iTextSharp 阅读 PDF 文件。
Visual Studio: 确保安装了 Visual Studio 或其他 C# 开发环境。
首先建立一个 C# 控制台应用程序。打开 Visual Studio,选择创建新项目。选择控制台应用程序类型。
提供如下所示的项目名称。
为项目选择所需的 .NET 版本。
完成后,Visual Studio 将生成一个新项目。
iTextSharp 可以从 NuGet 软件包管理器。最新版本作为 iText 软件包提供。
或从 Visual Studio 软件包管理器安装,如下图所示。在软件包管理器中搜索 iText,然后点击安装。
IronPDF 可从 NuGet 软件包管理器,如下图所示。
或从 Visual Studio 软件包管理器(如下所示)。搜索 IronPDF 并单击安装。
在 program.cs 文件中添加以下代码,并提供一个包含以下内容的 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);
' }
' }
'}
1.要创建文本 PDF,请创建一个 Word 文档,并在 Word 文档中添加上述文本,然后将其保存为 PDF 文档,命名为 Example.pdf
2.在代码中,我们从 PDF 文件路径创建一个 PDFReader 并提取所有文本
3.可以使用 ExtractImages 方法提取 PDF 中的图像
4.可使用 ExtractTextFromPage 方法读取 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);
' }
'}
学习曲线:iTextSharp 的学习曲线比较陡峭,尤其是对初学者而言。
易于使用:IronPDF 以其简单明了的应用程序接口(API)而著称,开发人员可以轻松上手。
使用 IronPDF.将此密钥插入 appsettings.json 文件。
"IronPdf.LicenseKey": "your license key"
要获得试用许可证,请提供您的电子邮件。
选择 IronPDF 是否选择 IronPDF 和 iTextSharp 取决于项目的具体要求。如果您需要一个简单易用的常用 PDF 操作库,IronPDF 可能是更好的选择。在做出决定时,请考虑应用程序的复杂性、预算和学习曲线等因素。
IronPDF 旨在将 PDF 生成无缝集成到您的应用程序中,毫不费力地处理格式化文档到 PDF 的转换。这款多功能工具允许您使用 .NET 将网页表单、本地 HTML 网页和其他网页内容转换为 PDF。用户可以方便地下载、通过电子邮件发送或在云中存储文档。无论您是需要制作发票、报价、报告、合同还是其他专业文档,您都可以使用它、 IronPDF 为您提供支持。利用 IronPDF 直观高效的 PDF 生成功能,提升您的应用程序。