Saltar al pie de página
COMPARACIONES DE PRODUCTOS

iText7 Leer PDF en C# Alternativas (VS IronPDF)

PDF es un formato de documento portátil creado por Adobe Acrobat Reader, ampliamente utilizado para compartir información digitalmente por internet. Preserva el formato de los datos y proporciona características como el establecimiento de permisos de seguridad y la protección con contraseña. Como desarrollador de C#, es posible que hayas encontrado escenarios donde es necesario integrar la funcionalidad de PDF en tu aplicación de software. Construirlo desde cero puede ser una tarea tediosa y que consume mucho tiempo. Por lo tanto, considerando el rendimiento, la efectividad y la eficiencia de la aplicación, la compensación entre crear un nuevo servicio desde cero o usar una biblioteca preconstruida es significativa.

Hay varias bibliotecas PDF disponibles para C#. En este artículo, exploraremos dos de las bibliotecas PDF más populares para leer documentos PDF en C#.

Software iText

iText 7, anteriormente conocido como iText 7 Core, es una biblioteca PDF para programar documentos PDF en .NET C# y Java. Está disponible con una licencia de código abierto (AGPL) y se puede licenciar para aplicaciones comerciales.

iText Core es una API de alto nivel que proporciona métodos fáciles para generar y editar PDFs de todas las formas posibles. Con iText 7 Core, puedes dividir, fusionar, anotar, completar formularios, firmar digitalmente y hacer mucho más en archivos PDF. iText 7 proporciona un convertidor de HTML a PDF.

IronPDF

Conoce más sobre IronPDF es una API para .NET y .NET Framework C# y Java utilizada para generar documentos PDF desde HTML, CSS y JavaScript, ya sea desde una URL, archivos HTML o cadenas de HTML. IronPDF te permite manipular archivos PDF existentes, como dividir, fusionar, anotar, firmar digitalmente y mucho más.

IronPDF está enriquecido con más de 50 funciones para crear, leer y editar archivos PDF. Prioriza la velocidad, la facilidad de uso y la precisión cuando necesitas entregar archivos PDF profesionales de alta calidad y con ajuste perfecto de píxeles con Adobe Acrobat Reader. La API está bien documentada, y se puede encontrar mucho código fuente de ejemplo en su página de ejemplos de código.

Crear una Aplicación de Consola

Vamos a utilizar el IDE Visual Studio 2022 para crear una aplicación. Visual Studio es el IDE oficial para el desarrollo de C#, y debes tenerlo instalado. Puedes descargarlo desde el sitio web de Microsoft Visual Studio si no está instalado.

Los siguientes pasos crearán un nuevo proyecto llamado "DemoApp".

  1. Abre Visual Studio y haz clic en "Crear un Nuevo Proyecto".

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 1 - Nuevo proyecto

  1. Selecciona "Aplicación de Consola" y haz clic en "Siguiente".

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 2

  1. Establece el nombre del proyecto.

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 3

  1. Selecciona la versión de .NET. Elige la versión estable .NET 6.0.

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 4

Instalar Biblioteca IronPDF

Una vez creado el proyecto, la biblioteca IronPDF debe instalarse en el proyecto para usarla. Sigue estos pasos para instalarla.

  1. Abre el Administrador de Paquetes de NuGet, ya sea desde el explorador de soluciones o Herramientas.

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 5

  1. Busca la Biblioteca IronPDF y selecciónala para el proyecto actual. Haz clic en Instalar.

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 6

Agrega el siguiente espacio de nombres en la parte superior del archivo Program.cs:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Instalar Biblioteca iText 7

Una vez creado el proyecto, la biblioteca iText 7 debe instalarse en el proyecto para usarla. Sigue los pasos para instalarla.

  1. Abre el Administrador de Paquetes de NuGet, ya sea desde el explorador de soluciones o Herramientas.

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 7

  1. Busca la Biblioteca iText 7 y selecciónala para el proyecto actual. Haz clic en instalar.

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 8

Agrega los siguientes espacios de nombres en la parte superior del archivo Program.cs:

using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf
$vbLabelText   $csharpLabel

Abrir archivos PDF

Vamos a utilizar el siguiente archivo PDF para extraer texto de él. Es un documento PDF de dos páginas.

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 9

Usando la biblioteca iText

Abrir un archivo PDF usando la biblioteca iText es un proceso de dos pasos. Primero, creamos un objeto PdfReader y pasamos la ubicación del archivo como parámetro. Luego usamos la clase PdfDocument para crear un nuevo documento PDF. El código es el siguiente:

// Initialize a reader instance by specifying the path of the PDF file
PdfReader pdfReader = new PdfReader("sample.pdf");

// Initialize a document instance using the PdfReader
PdfDocument pdfDoc = new PdfDocument(pdfReader);
// Initialize a reader instance by specifying the path of the PDF file
PdfReader pdfReader = new PdfReader("sample.pdf");

// Initialize a document instance using the PdfReader
PdfDocument pdfDoc = new PdfDocument(pdfReader);
' Initialize a reader instance by specifying the path of the PDF file
Dim pdfReader As New PdfReader("sample.pdf")

' Initialize a document instance using the PdfReader
Dim pdfDoc As New PdfDocument(pdfReader)
$vbLabelText   $csharpLabel

Usando IronPDF

Abrir archivos PDF usando IronPDF es fácil. Usa el método FromFile de la clase PdfDocument para abrir PDFs desde cualquier ubicación de archivo. El siguiente código de una sola línea abre un archivo PDF para leer datos:

// Open a PDF file using IronPDF and create a PdfDocument instance
var pdf = PdfDocument.FromFile("sample.pdf");
// Open a PDF file using IronPDF and create a PdfDocument instance
var pdf = PdfDocument.FromFile("sample.pdf");
' Open a PDF file using IronPDF and create a PdfDocument instance
Dim pdf = PdfDocument.FromFile("sample.pdf")
$vbLabelText   $csharpLabel

Leer datos de archivos PDF

Usando la biblioteca iText7

Leer datos de PDF no es tan sencillo en la biblioteca iText 7. Debemos recorrer manualmente cada página del documento PDF para extraer texto de cada página. El siguiente código fuente ayuda a extraer texto del documento PDF página por página:

// Iterate through each page and extract text
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
    // Define the text extraction strategy
    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();

    // Extract text from the current page using the strategy
    string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);

    // Output the extracted text to the console
    Console.WriteLine(pageContent);
}

// Close document and reader to release resources
pdfDoc.Close();
pdfReader.Close();
// Iterate through each page and extract text
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
    // Define the text extraction strategy
    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();

    // Extract text from the current page using the strategy
    string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);

    // Output the extracted text to the console
    Console.WriteLine(pageContent);
}

// Close document and reader to release resources
pdfDoc.Close();
pdfReader.Close();
' Iterate through each page and extract text
Dim page As Integer = 1
Do While page <= pdfDoc.GetNumberOfPages()
	' Define the text extraction strategy
	Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()

	' Extract text from the current page using the strategy
	Dim pageContent As String = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy)

	' Output the extracted text to the console
	Console.WriteLine(pageContent)
	page += 1
Loop

' Close document and reader to release resources
pdfDoc.Close()
pdfReader.Close()
$vbLabelText   $csharpLabel

Hay mucho sucediendo en el código anterior. Primero, declaramos la Estrategia de Extracción de Texto, y luego usamos el método GetTextFromPage de la clase PdfExtractor para leer texto. Este método acepta dos parámetros: el primero es la página del documento PDF, y el segundo es la estrategia. Para obtener la página del documento PDF, usa la instancia de PdfDocument para llamar al método GetPage y pasa el número de página como parámetro. La salida se devuelve como una cadena, que luego se muestra en la pantalla de salida de la consola. Finalmente, los objetos PDFReader y PdfDocument se cierran. Además, consulta el siguiente ejemplo de código sobre extraer texto de PDF usando iText7.

Salida

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 10

Usando IronPDF

Al igual que abrir el archivo PDF fue una línea de código, de manera similar, leer texto de un archivo PDF también es un proceso de una línea. La clase PDFDocument proporciona el método ExtractAllText para leer el contenido completo del PDF. Console.WriteLine se utiliza para imprimir el texto en la pantalla. El código es el siguiente:

// Extract all text from the PDF document
string text = pdf.ExtractAllText();

// Display the extracted text
Console.WriteLine(text);
// Extract all text from the PDF document
string text = pdf.ExtractAllText();

// Display the extracted text
Console.WriteLine(text);
' Extract all text from the PDF document
Dim text As String = pdf.ExtractAllText()

' Display the extracted text
Console.WriteLine(text)
$vbLabelText   $csharpLabel

Salida

Itext7 Read PDF en Alternativas C# (VS IronPDF) Figura 11

La salida es precisa y sin errores. Sin embargo, para usar el método ExtractAllText, necesitas una licencia, ya que solo funciona en modo de producción. Puedes obtener tu clave de licencia de prueba por 30 días desde la página de prueba de licencia de IronPDF.

Comparación

En comparación, ambas bibliotecas dan resultados 100% precisos al extraer texto de un documento PDF. Son idénticas cuando se trata de precisión. Sin embargo, IronPDF es más eficiente en términos de rendimiento y legibilidad del código.

IronPDF solo toma dos líneas de código para lograr la misma tarea que iText. Proporciona métodos de extracción de texto listos para usar sin necesidad de implementar lógica extra. El código de iText es un poco complicado, y tienes que cerrar las dos instancias creadas al abrir un documento PDF. Mientras que, IronPDF libera la memoria automáticamente una vez que se realiza la tarea.

Resumen

En este artículo, vimos cómo leer documentos PDF usando la biblioteca iText en C# y luego la comparamos con IronPDF. Ambas bibliotecas dan resultados precisos y proporcionan numerosos métodos de manipulación de PDF para trabajar con ellos. Puedes crear, editar y leer datos de archivos PDF usando ambas bibliotecas.

iText es de código abierto y gratuito de usar, pero con restricciones. Se puede licenciar para uso comercial. IronPDF is also free to use and can be licensed for commercial activities with a 30-day free trial available.

Descarga IronPDF y pruébalo.

Por favor notaiText 7 es una marca registrada de su respectivo propietario. Este sitio no está afiliado, respaldado, ni patrocinado por iText 7. 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

¿Qué es IronPDF y cómo se compara con iText 7?

IronPDF es una biblioteca .NET diseñada para generar y manipular documentos PDF desde HTML, CSS y JavaScript. En comparación con iText 7, IronPDF enfatiza la velocidad, facilidad de uso y precisión, requiriendo menos líneas de código para realizar tareas de PDF.

¿Cómo puedo convertir HTML a PDF en C#?

Puedes usar el método RenderHtmlAsPdf de IronPDF para convertir cadenas HTML en PDFs. Además, puedes convertir archivos HTML en PDFs usando RenderHtmlFileAsPdf.

¿Cuáles son los pasos de instalación para IronPDF en un proyecto de C#?

Para instalar IronPDF en un proyecto de C#, abre el Administrador de Paquetes NuGet en Visual Studio, busca IronPDF, selecciónalo para tu proyecto y haz clic en Instalar. Incluye using IronPdf; en la parte superior de tu archivo C#.

¿Cómo extraer texto de un PDF usando IronPDF?

Para extraer texto de un PDF usando IronPDF, utiliza el método FromFile de la clase PdfDocument para cargar el PDF, seguido del método ExtractAllText para recuperar el texto.

¿Cuáles son algunos consejos para solucionar problemas al usar IronPDF?

Asegúrate de que IronPDF esté correctamente instalado a través de NuGet y de que los espacios de nombres correctos estén incluidos en tu archivo C#. Verifica las rutas de los archivos y asegúrate de que el contenido HTML esté bien formado si conviertes HTML a PDF.

¿Puede IronPDF manejar formularios y anotaciones en PDF?

Sí, IronPDF admite funciones como llenar formularios y agregar anotaciones a PDFs, lo que te permite crear documentos PDF interactivos y dinámicos.

¿Es IronPDF gratuito?

IronPDF ofrece una versión gratuita con características limitadas y una prueba gratuita de 30 días para su versión comercial, que proporciona un rango completo de funcionalidades.

¿Cuáles son las limitaciones de usar iText 7 para la manipulación de PDF?

Aunque iText 7 es una biblioteca de PDF robusta, requiere lógica adicional para ciertas tareas como la extracción de texto, lo que puede resultar en un código más complejo y extenso en comparación con IronPDF.

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