Test in production without watermarks.
Works wherever you need it to.
Get 30 days of fully functional product.
Have it up and running in minutes.
Full access to our support engineering team during your product trial
PDF (Portable Document Format) is a widely used file format for sharing documents consistently and securely. Reading and manipulating such files in C# is a common requirement in various applications, such as document management systems, reporting tools, and more. In this article, we will compare two popular libraries for reading PDF files in C#: IronPDF and iTextSharp (the latest .NET library iText).
IronPDF is a comprehensive C# library from Iron Software that provides a wide range of features for working with PDF files. It allows developers to create, edit, and manipulate PDF documents seamlessly. IronPDF is known for its simplicity and ease of use, making it an excellent choice for developers who need to integrate PDF functionality into their applications quickly.
iTextSharp is another popular library for working with PDF files in C#. It has been around for quite some time and is widely used in the industry. iText provides a rich set of features for creating and manipulating PDF documents. It is known for its flexibility and extensibility, making it suitable for complex PDF-related tasks.
Begin by setting up a C# Console Application. Open Visual Studio and select Create a new project. Select Console Application type.
Provide the project name as shown below.
Select the required .NET version for the project.
Once this is done, Visual Studio will generate a new project.
iTextSharp can be installed from the NuGet Package Manager for iText Package Manager. The latest version is available as an iText package.
Or from the Visual Studio Package Manager as shown below. Search for iText in Package Manager and click Install.
IronPDF can be installed from the NuGet Package Manager for IronPDF as shown below.
Or from the Visual Studio package manager as shown below. Search for IronPDF: C# PDF Library in Package Manager and click Install.
Add the below code to the Program.cs file and provide a sample PDF document which has the specified content.
using IronPdf;
// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
// Read PDF using IronPDF
ReadUsingIronPDF.Read();
public class ReadUsingIronPDF
{
public static void Read()
{
// Specify the path to the PDF document
string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF Reader instance to read the PDF
var pdfReader = PdfDocument.FromFile(filename);
// Extract all text from the PDF
var allText = pdfReader.ExtractAllText();
Console.WriteLine("------------------Text From PDF-----------------");
Console.WriteLine(allText);
Console.WriteLine("------------------Text From PDF-----------------");
// Extract all images from the PDF
var allImages = pdfReader.ExtractAllImages();
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine($"Total Images = {allImages.Count()}");
Console.WriteLine("------------------Image Count From PDF-----------------");
// Iterate through each page to extract text from them
Console.WriteLine("------------------One Page Text From PDF-----------------");
var pageCount = pdfReader.PageCount;
for (int page = 0; page < pageCount; page++)
{
string text = pdfReader.ExtractTextFromPage(page);
Console.WriteLine(text);
}
}
}
using IronPdf;
// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
// Read PDF using IronPDF
ReadUsingIronPDF.Read();
public class ReadUsingIronPDF
{
public static void Read()
{
// Specify the path to the PDF document
string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF Reader instance to read the PDF
var pdfReader = PdfDocument.FromFile(filename);
// Extract all text from the PDF
var allText = pdfReader.ExtractAllText();
Console.WriteLine("------------------Text From PDF-----------------");
Console.WriteLine(allText);
Console.WriteLine("------------------Text From PDF-----------------");
// Extract all images from the PDF
var allImages = pdfReader.ExtractAllImages();
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine($"Total Images = {allImages.Count()}");
Console.WriteLine("------------------Image Count From PDF-----------------");
// Iterate through each page to extract text from them
Console.WriteLine("------------------One Page Text From PDF-----------------");
var pageCount = pdfReader.PageCount;
for (int page = 0; page < pageCount; page++)
{
string text = pdfReader.ExtractTextFromPage(page);
Console.WriteLine(text);
}
}
}
Imports IronPdf
' Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#")
' Read PDF using IronPDF
ReadUsingIronPDF.Read()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingIronPDF
'{
' public static void Read()
' {
' ' Specify the path to the PDF document
' string filename = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
'
' ' Create a PDF Reader instance to read the PDF
' var pdfReader = PdfDocument.FromFile(filename);
'
' ' Extract all text from the PDF
' var allText = pdfReader.ExtractAllText();
' Console.WriteLine("------------------Text From PDF-----------------");
' Console.WriteLine(allText);
' Console.WriteLine("------------------Text From PDF-----------------");
'
' ' Extract all images from the 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-----------------");
'
' ' Iterate through each page to extract text from them
' Console.WriteLine("------------------One Page Text From PDF-----------------");
' var pageCount = pdfReader.PageCount;
' for (int page = 0; page < pageCount; page++)
' {
' string text = pdfReader.ExtractTextFromPage(page);
' Console.WriteLine(text);
' }
' }
'}
Example.pdf
.PdfDocument
object using the PDF file path to extract text and images.ExtractAllText
method is used to capture all text in the document, while ExtractAllImages
extracts images.ExtractTextFromPage
method.Now to compare the read text from iTextSharp, add the below code to the same Program.cs file. For simplicity, we have not separated the classes into different files.
using IronPdf;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
// Call method to read PDF using iTextSharp library
ReadUsingITextSharp.Read();
public class ReadUsingITextSharp
{
public static void Read()
{
// Specify the path to the PDF document
string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF Reader instance
PdfReader pdfReader = new PdfReader(pdfFile);
// Initialize a new PDF Document
iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);
// Use a text extraction strategy to extract plain text from the PDF
LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
// Display the extracted text
Console.WriteLine(pdfText);
}
}
using IronPdf;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
// Call method to read PDF using iTextSharp library
ReadUsingITextSharp.Read();
public class ReadUsingITextSharp
{
public static void Read()
{
// Specify the path to the PDF document
string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF Reader instance
PdfReader pdfReader = new PdfReader(pdfFile);
// Initialize a new PDF Document
iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);
// Use a text extraction strategy to extract plain text from the PDF
LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
// Display the extracted text
Console.WriteLine(pdfText);
}
}
Imports IronPdf
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
' Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#")
' Call method to read PDF using iTextSharp library
ReadUsingITextSharp.Read()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingITextSharp
'{
' public static void Read()
' {
' ' Specify the path to the PDF document
' string pdfFile = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
'
' ' Create a PDF Reader instance
' PdfReader pdfReader = New PdfReader(pdfFile);
'
' ' Initialize a new PDF Document
' iText.Kernel.Pdf.PdfDocument pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfReader);
'
' ' Use a text extraction strategy to extract plain text from the PDF
' LocationTextExtractionStrategy strategy = New LocationTextExtractionStrategy();
' string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
'
' ' Display the extracted text
' Console.WriteLine(pdfText);
' }
'}
Insert your IronPDF license key into the appsettings.json
file.
"IronPdf.LicenseKey": "your license key"
To receive a trial license, please provide your email.
Choosing between IronPDF and iTextSharp depends on the specific requirements of your project. If you need a straightforward and easy-to-use library for common PDF operations, IronPDF might be the better choice. Consider factors like your application's complexity, budget, and the learning curve when making your decision. IronPDF is designed to seamlessly integrate PDF generation into your application, effortlessly handling the conversion of formatted documents into PDFs. This versatile tool allows you to convert web forms, local HTML pages, and other web content to PDF using .NET. Users can conveniently download, email, or store documents in the cloud. Whether you need to produce invoices, quotes, reports, contracts, or other professional documents, IronPDF's PDF Generation Capabilities have you covered. Elevate your application with IronPDF's intuitive and efficient PDF generation capabilities.
The article aims to compare two popular libraries for reading PDF files in C#: IronPDF and iTextSharp.
IronPDF and iTextSharp are libraries used for creating, editing, and manipulating PDF documents in C# applications.
You need Visual Studio or another C# development environment and the ability to use the NuGet Package Manager to manage packages in your project.
IronPDF can be installed from the NuGet Package Manager by searching for IronPDF: C# PDF Library and clicking Install.
The code involves creating a PdfDocument instance from a file, extracting text and images using methods like ExtractAllText and ExtractAllImages, and iterating through each page to extract text.
iTextSharp has a steeper learning curve and its licensing model may not be suitable for all projects, especially those with budget constraints.
IronPDF is known for its ease of use, straightforward API, and accurate document rendering, making it a good choice for developers needing to integrate PDF functionality quickly.
Consider the complexity of your application, budget, learning curve, and specific project requirements when choosing between IronPDF and iTextSharp.
IronPDF can seamlessly integrate PDF generation into applications, allowing conversion of web forms, HTML pages, and other content into PDFs, and enabling features like downloading, emailing, or storing documents in the cloud.