COMPARACIóN DE PRODUCTOS

Alternativas a iTextSharp Read PDF (Tutorial para desarrolladores)

Chipego
Chipego Kalinda
3 de abril, 2024
Compartir:

PDF (Formato de Documento Portátil) es un formato de archivo ampliamente utilizado para compartir documentos de manera consistente y segura. La lectura y manipulación de este tipo de archivos en C# es un requisito habitual en diversas aplicaciones, como sistemas de gestión de documentos, herramientas de generación de informes, etc. En este artículo, compararemos dos bibliotecas populares para leer archivos PDF en C#: IronPDF e iTextSharp (la última biblioteca .NET iText).

IronPDF es una biblioteca integral de C# de Iron Software que ofrece una amplia gama de características para trabajar con archivos PDF. Permite a los desarrolladores crear, editar y manipular documentos PDF sin problemas. IronPDF es conocido por su simplicidad y facilidad de uso, lo que lo convierte en una excelente opción para los desarrolladores que necesitan integrar rápidamente la funcionalidad PDF en sus aplicaciones.

iTextSharp es otra biblioteca popular para trabajar con archivos PDF en C#. Existe desde hace tiempo y se utiliza mucho en la industria. iText ofrece un rico conjunto de funciones para crear y manipular documentos PDF. Es conocido por su flexibilidad y extensibilidad, lo que lo hace adecuado para tareas complejas relacionadas con PDF.

Cómodo de usar IronPDF vs iTextSharp para leer PDFs en C#17

  1. Cree un nuevo proyecto C# en Visual Studio para comparar IronPDF frente a iTextSharp para la lectura de archivos PDF.

  2. Instale las bibliotecas IronPDF e iTextSharp en el proyecto.

  3. Lee archivos PDF con IronPDF.

  4. Lee archivos PDF con iTextSharp.

Requisitos previos

  1. Visual Studio: Asegúrate de tener instalado Visual Studio o cualquier otro entorno de desarrollo de C#.

  2. NuGet Package Manager: Asegúrate de poder usar NuGet para gestionar paquetes en tu proyecto.

Paso 1: Cree un nuevo proyecto en C#17 en Visual Studio para comparar IronPDF vs iTextSharp al leer archivos PDF

Comience configurando una aplicación de consola C#. Abra Visual Studio y seleccione Crear un nuevo proyecto. Seleccione el tipo de aplicación Consola.

Alternativas para Leer PDF con iTextSharp (Tutorial para Desarrolladores): Figura 1 - Aplicación de Consola

Indique el nombre del proyecto como se muestra a continuación.

Alternativas a iTextSharp para Leer PDFs (Tutorial para Desarrolladores): Figura 2 - Configuración del Proyecto

Seleccione la versión .NET necesaria para el proyecto.

Alternativas para iTextSharp para leer PDF (Tutorial para desarrolladores): Figura 3 - Framework

Una vez hecho esto, Visual Studio generará un nuevo proyecto.

Paso 2: Instalar las librerías IronPDF e iTextSharp en el proyecto

iTextSharp se puede instalar desde el Administrador de paquetes NuGet para iText. La última versión está disponible como paquete iText.

Alternativas para Leer PDF con iTextSharp (Tutorial para Desarrolladores): Figura 4 - iText

O desde el gestor de paquetes de Visual Studio, como se muestra a continuación. Busque iText en el Gestor de paquetes y haga clic en Instalar.

Alternativas a iTextSharp para Leer PDFs (Tutorial para Desarrolladores): Figura 5 - Gestor de Paquetes NuGet

IronPDF se puede instalar desde el Administrador de paquetes NuGet para IronPDF como se muestra a continuación.

Alternativas para Leer PDF con iTextSharp (Tutorial para Desarrolladores): Figura 6 - IronPDF

O desde el gestor de paquetes de Visual Studio, como se muestra a continuación. Busque IronPDF: Biblioteca PDF para C# en el Administrador de Paquetes y haga clic en Instalar.

Alternativas para Leer PDF con iTextSharp (Tutorial para Desarrolladores): Figura 7 - Instalar IronPDF

Paso 3: Leer texto de un archivo PDF con IronPDF

Añada el siguiente código al archivo program.cs y proporcione un documento PDF de ejemplo con el siguiente contenido.

Alternativas para Leer PDF con iTextSharp (Tutorial para Desarrolladores): Figura 8 - Entrada 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);
'		}
'	}
'}
$vbLabelText   $csharpLabel

Código Explicación

  1. Para crear un PDF de texto, cree un documento Word y añada el texto anterior al documento Word y guárdelo como documento PDF con el nombre Ejemplo.pdf

  2. En el código, creamos un PDFReader a partir de la ruta del archivo PDF y extraemos todo el texto

  3. Las imágenes del PDF se pueden extraer con el método ExtractImages

  4. Cada página de los documentos PDF puede leerse utilizando el método ExtractTextFromPage

Salida

Alternativas para Leer PDFs con iTextSharp (Tutorial para Desarrolladores): Figura 9 - Leer PDF Usando IronPDF Output

Paso 3: Leer texto de un archivo PDF con iTextSharp

Ahora para comparar el texto leído desde iTextSharp añada el siguiente código al mismo fichero program.cs. Por simplicidad, no hemos separado las clases en diferentes archivos.

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);
'	}
'}
$vbLabelText   $csharpLabel

Salida

iTextSharp Leer PDF Alternativas (Tutorial para Desarrolladores): Figura 10 - Leer PDF usando iTextSharp Output

Limitaciones de iTextSharp

  1. Curva de Aprendizaje: iTextSharp tiene una curva de aprendizaje más pronunciada, especialmente para los principiantes.

  2. Licenciamiento: el modelo de licenciamiento de iTextSharp puede no ser adecuado para todos los proyectos, especialmente aquellos con restricciones de presupuesto.

Ventajas de IronPDF

  1. Facilidad de uso: IronPDF es conocido por su API sencilla, lo que facilita que los desarrolladores comiencen a usarlo.

  2. Renderizado de Documentos: IronPDF proporciona un renderizado preciso de documentos PDF, asegurando que el texto extraído sea fiel al original.

Licencias (prueba gratuita disponible)

Inserta tu clave de licencia de IronPDF en el archivo appsettings.json.

"IronPdf.LicenseKey": "your license key"

Para recibir una licencia de prueba, indique su dirección de correo electrónico.

Conclusión

Elegir entre IronPDF e iTextSharp depende de los requisitos específicos de tu proyecto. Si necesita una biblioteca sencilla y fácil de usar para las operaciones habituales con PDF, IronPDF puede ser la mejor opción. A la hora de tomar una decisión, tenga en cuenta factores como la complejidad de su aplicación, el presupuesto y la curva de aprendizaje.

IronPDF está diseñado para integrar perfectamente la generación de PDF en su aplicación, gestionando sin esfuerzo la conversión de documentos formateados en PDF. Esta versátil herramienta le permite convertir formularios web, páginas HTML locales y otros contenidos web a PDF utilizando .NET. Los usuarios pueden descargar, enviar por correo electrónico o almacenar documentos en la nube cómodamente. Ya sea que necesite producir facturas, presupuestos, informes, contratos u otros documentos profesionales, las capacidades de generación de PDF de IronPDF le tienen cubierto. Mejore su aplicación con las funciones intuitivas y eficaces de generación de PDF de IronPDF.

Chipego
Ingeniero de software
Chipego tiene una habilidad natural para escuchar que le ayuda a comprender los problemas de los clientes y a ofrecer soluciones inteligentes. Se unió al equipo de Iron Software en 2023, después de estudiar una licenciatura en Tecnología de la Información. IronPDF e IronOCR son los dos productos en los que Chipego se ha centrado, pero su conocimiento de todos los productos crece día a día, a medida que encuentra nuevas formas de ayudar a los clientes. Disfruta de lo colaborativa que es la vida en Iron Software, con miembros del equipo de toda la empresa que aportan su variada experiencia para contribuir a soluciones eficaces e innovadoras. Cuando Chipego está lejos de su escritorio, a menudo se le puede encontrar disfrutando de un buen libro o jugando al fútbol.
< ANTERIOR
Cómo leer documentos PDF en C# con iTextSharp:
SIGUIENTE >
PDFsharp vs iTextSharp (Comparación de bibliotecas PDF C#)