Saltar al pie de página
COMPARACIONES DE PRODUCTOS

Alternativas a iTextSharp para leer PDF (Tutorial para desarrolladores)

PDF (Formato de Documento Portátil) es un formato de archivo ampliamente utilizado para compartir documentos de manera consistente y segura. Leer y manipular tales archivos en C# es un requisito común en varias aplicaciones, como sistemas de gestión de documentos, herramientas de informes y más. En este artículo, compararemos dos bibliotecas populares para leer archivos PDF en C#: IronPDF e iTextSharp (la última biblioteca .NET iText).

IronPDF is a comprehensive C# library from Iron Software que proporciona 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#. Ha existido durante bastante tiempo y se utiliza ampliamente en la industria. iText proporciona un rico conjunto de características 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ómo usar IronPDF Vs iTextSharp para leer PDF en C#

  1. Crea un nuevo proyecto de C# en Visual Studio para comparar IronPDF vs. iTextSharp para leer archivos PDF.
  2. Instala las bibliotecas IronPDF e iTextSharp en el proyecto.
  3. Lee archivos PDF usando IronPDF.
  4. Lee archivos PDF usando iTextSharp.

Prerrequisitos

  1. Visual Studio: Asegúrate de tener instalado Visual Studio o cualquier otro entorno de desarrollo de C#.
  2. Administrador de Paquetes NuGet: Asegúrate de poder usar NuGet para gestionar paquetes en tu proyecto.

Paso 1: Crea un nuevo proyecto de C# en Visual Studio para comparar IronPDF Vs iTextSharp leer archivos PDF

Comienza configurando una aplicación de consola de C#. Abre Visual Studio y selecciona Crear un nuevo proyecto. Selecciona el tipo de aplicación de consola.

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

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

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

Selecciona la versión .NET requerida para el proyecto.

iTextSharp Leer Alternativas de PDF (Tutorial para Desarrolladores): Figura 3 - Framework

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

Paso 2: Instala las bibliotecas IronPDF e iTextSharp en el proyecto

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

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

O desde el Administrador de paquetes de Visual Studio como se muestra a continuación. Busca iText en el Administrador de paquetes y haz clic en Instalar.

iTextSharp Leer Alternativas de PDF (Tutorial para Desarrolladores): Figura 5 - Administrador de paquetes NuGet

IronPDF can be installed from the Administrador de paquetes NuGet para IronPDF como se muestra a continuación.

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

O desde el Administrador de paquetes de Visual Studio como se muestra a continuación. Busca IronPDF: Biblioteca PDF de C# en el Administrador de paquetes y haz clic en Instalar.

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

Paso 3: Leer texto de un archivo PDF usando IronPDF

Agrega el siguiente código al archivo Program.cs y proporciona un documento PDF de muestra que contenga el contenido especificado.

iTextSharp Leer Alternativas de PDF (Tutorial para Desarrolladores): Figura 8 - Entrada PDF

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

Explicación del Código

  1. Crear un Documento de Word: Inicialmente, crea un documento de Word con el contenido de texto deseado y guárdalo como un documento PDF denominado Example.pdf.
  2. Instancia de PDFReader: El código crea un objeto PdfDocument utilizando la ruta del archivo PDF para extraer texto e imágenes.
  3. Extraer Texto e Imágenes: Se utiliza el método ExtractAllText para capturar todo el texto en el documento, mientras que ExtractAllImages extrae imágenes.
  4. Extraer Texto por Página: El texto de cada página se extrae utilizando el método ExtractTextFromPage.

Salida

iTextSharp Leer Alternativas de PDF (Tutorial para Desarrolladores): Figura 9 - Leer PDF Usando IronPDF Salida

Paso 3: Leer texto de un archivo PDF usando iTextSharp

Ahora, para comparar el texto leído desde iTextSharp, agrega el siguiente código al mismo archivo Program.cs. Para simplificar, 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;

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

Salida

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

Limitaciones de iTextSharp

  1. Curva de Aprendizaje: iTextSharp tiene una curva de aprendizaje más pronunciada, especialmente para principiantes.
  2. Licencia: El modelo de licencia de iTextSharp puede no ser adecuado para todos los proyectos, especialmente aquellos con restricciones de presupuesto.

Beneficios de IronPDF

  1. Facilidad de Uso: IronPDF es conocido por su API fácil de usar, lo que facilita a los desarrolladores iniciarse.
  2. Renderizado de Documentos: IronPDF proporciona un renderizado preciso de documentos PDF, asegurando que el texto extraído sea fiel al original.

Licencia (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, por favor proporciona tu correo electrónico.

Conclusión

Elegir entre IronPDF e iTextSharp depende de los requisitos específicos de tu proyecto. Si necesitas una biblioteca sencilla y fácil de usar para operaciones comunes de PDF, IronPDF podría ser la mejor opción. Considera factores como la complejidad de tu aplicación, presupuesto y curva de aprendizaje al tomar tu decisión. IronPDF está diseñado para integrar sin problemas la generación de PDF en tu aplicación, manejando sin esfuerzo la conversión de documentos formateados en PDFs. Esta herramienta versátil te permite convertir formularios web, páginas HTML locales y otros contenidos web en PDF usando .NET. Los usuarios pueden descargar, enviar por correo electrónico o almacenar documentos en la nube de manera conveniente. Ya sea que necesites producir facturas, cotizaciones, reportes, contratos u otros documentos profesionales, las capacidades de generación de PDF de IronPDF te cubren. Eleva tu aplicación con las capacidades intuitivas y eficientes de generación de PDF de IronPDF.

Por favor notaiText e iTextSharp son marcas registradas de sus respectivos propietarios. Este sitio no está afiliado, avalado ni patrocinado por iText o iTextSharp. Todos los nombres de productos, logotipos y marcas son propiedad de sus respectivos dueños. Las comparaciones son solo para fines informativos y reflejan información públicamente disponible en el momento de la redacción.

Preguntas Frecuentes

¿Cómo puedo leer archivos PDF en C#?

Puedes leer archivos PDF utilizando la biblioteca IronPDF creando una instancia de PdfDocument y usando métodos como ExtractAllText y ExtractAllImages para extraer contenido del PDF.

¿Qué debo considerar al elegir una biblioteca PDF para C#?

Considera factores como facilidad de uso, licenciamiento, curva de aprendizaje y requisitos específicos del proyecto al elegir entre bibliotecas como IronPDF e iTextSharp para manipulación de PDF en C#.

¿Cómo puedo instalar una biblioteca PDF en mi proyecto C#?

Puedes instalar IronPDF a través del Gestor de Paquetes NuGet en Visual Studio buscando 'IronPDF: C# PDF Library' y haciendo clic en el botón 'Instalar'.

¿Cuáles son las ventajas de usar IronPDF para la manipulación de PDF?

IronPDF ofrece facilidad de uso, una API sencilla y una representación precisa de documentos, lo que lo hace ideal para desarrolladores que necesitan integrar rápidamente funcionalidades PDF en sus aplicaciones.

¿Existe una diferencia en la complejidad de usar IronPDF e iTextSharp?

Sí, IronPDF es conocido por su simplicidad, mientras que iTextSharp ofrece más flexibilidad y extensibilidad, lo que puede implicar una curva de aprendizaje más pronunciada.

¿Puede IronPDF convertir contenido HTML a PDF?

Sí, IronPDF puede convertir sin problemas contenido HTML, como formularios web y páginas, en documentos PDF, facilitando tareas como descargar y enviar PDFs por correo electrónico.

¿Cuáles son algunas limitaciones de usar iTextSharp para tareas PDF?

iTextSharp puede presentar una curva de aprendizaje más pronunciada y su modelo de licenciamiento podría no ajustarse a todos los presupuestos de los proyectos, especialmente si buscas una solución sencilla.

¿Cómo mejora IronPDF la funcionalidad de la aplicación?

IronPDF permite la integración de generación y manipulación de PDFs en aplicaciones, permitiendo la conversión de contenido web a PDFs y el manejo de documentos profesionales como facturas e informes.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más