Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
PDF es un formato de documento portátil creado por Adobe Acrobat Reader, muy utilizado para compartir información digitalmente a través de Internet. Conserva el formato de los datos y ofrece funciones como el establecimiento de permisos de seguridad y la protección mediante contraseña. Como desarrollador de C#, es posible que se haya encontrado con situaciones en las que es necesario integrar la funcionalidad PDF en su aplicación de software. Construirlo desde cero puede ser una tarea larga y tediosa. Por lo tanto, teniendo en cuenta el rendimiento, la eficacia y la eficiencia de la aplicación, la disyuntiva entre crear un nuevo servicio desde cero o utilizar una biblioteca prediseñada 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#.
iText 7, antes conocida como iText 7 Core, es una biblioteca PDF para programar documentos PDF en .NET C# y Java. Está disponible con licencia de código abierto (AGPL) y se pueden conceder licencias para aplicaciones comerciales.
iText Core es una API de alto nivel que proporciona métodos sencillos para generar y editar PDFs de todas las formas posibles. Con iText 7 Core puede dividir, combinar, anotar, rellenar formularios, firmar digitalmente y hacer mucho más en archivos PDF. iText 7 proporciona un Conversor de HTML a PDF.
IronPDF es una API de .NET y .NET Framework C# y Java que se utiliza para generar documentos PDF a partir de HTML, CSS y JavaScript, ya sea desde una URL, archivos HTML o cadenas HTML. IronPDF le 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 necesite entregar archivos PDF profesionales de alta calidad y con píxeles perfectos con Adobe Acrobat Reader. La API está bien documentada y se pueden encontrar muchos ejemplos de código fuente en su página de ejemplos de código.
Vamos a utilizar Visual Studio 2022 IDE para crear una aplicación para empezar. Visual Studio es el IDE oficial para el desarrollo en C#, y debe tenerlo instalado. Puede descargarlo en Sitio web de Microsoft Visual Studiosi no está instalado.
Los siguientes pasos crearán un nuevo proyecto llamado "DemoApp".
Abra Visual Studio y haga clic en "Crear un nuevo proyecto".
Seleccione "Aplicación de consola" y haga clic en "Siguiente".
Establezca el nombre del proyecto.
Seleccione la versión .NET. Elija la versión estable .NET 6.0.
Una vez creado el proyecto, es necesario instalar la biblioteca IronPDF en el proyecto para poder utilizarla. Sigue estos pasos para instalarlo.
Abre NuGet Package Manager, ya sea desde el explorador de soluciones o desde Herramientas.
Busque la biblioteca IronPDF y selecciónela para el proyecto actual. Haga clic en Instalar.
Añada el siguiente espacio de nombres en la parte superior del archivo Program.cs
using IronPdf;
using IronPdf;
Imports IronPdf
Una vez creado el proyecto, es necesario instalar la biblioteca iText 7 en el proyecto para poder utilizarla. Sigue los pasos para instalarlo.
Abra NuGet Package Manager desde el explorador de soluciones o desde Herramientas.
Busque la biblioteca iText 7 y selecciónela para el proyecto actual. Haz clic en instalar.
Añada 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
Vamos a utilizar el siguiente archivo PDF para extraer texto del mismo. Se trata de un documento PDF de dos páginas.
Para abrir un archivo PDF utilizando la biblioteca iText es un proceso de dos pasos. En primer lugar, creamos un objeto PdfReader
y le pasamos la ubicación del archivo como parámetro. A continuación, utilizamos la clase PdfDocument
para crear un nuevo documento PDF. El código es el siguiente:
PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
Dim pdfReader As New PdfReader("sample.pdf")
Dim pdfDoc As New PdfDocument(pdfReader)
Abrir archivos PDF con IronPDF es muy fácil. Utilice el método FromFile
de la clase PdfDocument
para abrir archivos PDF desde cualquier ubicación. El siguiente código de una línea abre un archivo PDF para leer datos:
var pdf = PdfDocument.FromFile("sample.pdf");
var pdf = PdfDocument.FromFile("sample.pdf");
Dim pdf = PdfDocument.FromFile("sample.pdf")
Leer datos PDF no es tan sencillo en la biblioteca iText 7. Tenemos que recorrer manualmente cada página del documento PDF para extraer el texto de cada una de ellas. El siguiente código fuente ayuda a extraer texto del documento PDF página por página:
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
Dim page As Integer = 1
Do While page <= pdfDoc.GetNumberOfPages()
Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
Dim pageContent As String = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy)
Console.WriteLine(pageContent)
page += 1
Loop
pdfDoc.Close()
pdfReader.Close()
En el código anterior ocurren muchas cosas. Primero, declaramos la Estrategia de Extracción de Texto, y luego usamos el método GetTextFromPage
de la clase PdfExtractor
para leer el 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 utilice la instancia de PdfDocument
para llamar al método GetPage
y pase el número de página como parámetro. La salida se devuelve como una cadena, que se muestra en la pantalla de salida de la consola. Por último, se cierran los objetos PDFReader
y PdfDocument
. Observe también el siguiente ejemplo de código aquí.
Al igual que abrir el archivo PDF era una línea de código, leer texto de un archivo PDF también es un proceso de una sola línea. La clase PDFDocument
proporciona el método ExtractAllText
para leer todo el contenido del fichero. Console.WriteLine
se utiliza para imprimir el texto en la pantalla. El código es el siguiente:
string text = pdf.ExtractAllText();
Console.WriteLine(text);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
El resultado es preciso y sin errores. Sin embargo, para utilizar el método ExtractAllText
, es necesario disponer de una licencia, ya que sólo funciona en modo de producción. Puede obtener su clave de licencia de prueba durante 30 días desde aquí enlace.
En comparación, ambas bibliotecas ofrecen resultados 100% precisos al extraer texto de un documento PDF. Ambos son iguales en cuanto a precisión. Sin embargo, IronPDF es más eficiente en términos de rendimiento y legibilidad del código.
IronPDF sólo necesita dos líneas de código para lograr la misma tarea que iText. Proporciona métodos de extracción de texto sin necesidad de implementar ninguna lógica adicional. El código iText es un poco complicado, y hay que cerrar las dos instancias creadas en el momento de abrir un documento PDF. Mientras que IronPDF borra la memoria automáticamente una vez realizada la tarea.
En este artículo, vimos cómo leer documentos PDF utilizando la biblioteca iText en C# y luego lo comparamos con IronPDF. Ambas bibliotecas ofrecen resultados precisos y numerosos métodos de manipulación de PDF con los que trabajar. Puede crear, editar y leer datos de archivos PDF utilizando estas dos bibliotecas.
iText es de código abierto y de uso gratuito, pero con restricciones. Puede ser con licencia para uso comercial. IronPDF también es gratuito y puede ser con licencia para actividades comerciales con un 30 días de prueba gratuita.
Descarga IronPDF y pruébalo.
9 productos API .NET para sus documentos de oficina