Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
En este tutorial, aprenderemos a leer datos de PDF (Formato de documento portátil) en C# con ejemplos que utilizan dos herramientas diferentes.
Hay muchas bibliotecas/lectores en línea que pueden extraer texto e imágenes de los PDF. Extraeremos información de un archivo PDF utilizando las dos mejores y más útiles bibliotecas con servicios relevantes hasta la fecha. También compararemos ambas bibliotecas para averiguar cuál de las dos es mejor.
Compararemos iText 7 y IronPDF. Antes de seguir adelante, presentaremos ambas bibliotecas.
La biblioteca iText 7 es la última versión de iTextSharp. Se utiliza tanto en aplicaciones .NET como Java. Está equipado con un motor de documentos (como Adobe Acrobat Reader)Además, el programa ofrece funciones de programación de alto y bajo nivel, un receptor de eventos y funciones de edición de PDF. iText 7 puede crear, editar y mejorar páginas de documentos PDF sin ningún error. Otras funciones son añadir contraseñas, crear estrategias de codificación y guardar opciones de permiso en un documento PDF. También se utiliza para añadir o cambiar contenido o imágenes de lienzo, añadir elementos PDF [diccionarios, etc.]También puedes crear marcas de agua y marcadores, cambiar el tamaño de las fuentes y firmar datos confidenciales.
iText 7 nos permite crear aplicaciones personalizadas de procesamiento de PDF para aplicaciones web, móviles, de escritorio, en el núcleo o en la nube en .NET.
IronPDF es una biblioteca desarrollada por Iron Software que ayuda a los ingenieros de software de C# y Java a crear, editar y extraer contenido PDF. Se suele utilizar para generar PDF a partir de HTML, de páginas web o de imágenes. Sirve para leer PDF y extraer su texto. Otras funciones son la adición de encabezados/pies de página, firmas, archivos adjuntos, contraseñas y preguntas de seguridad. Ofrece una optimización total del rendimiento gracias a sus funciones multihilo y asíncronas.
IronPDF tiene compatibilidad multiplataforma con .NET 5, .NET 6 y .NET 7, .NET Core, Standard y Framework. También es compatible con Windows, macOS, Linux, Docker, Azure y AWS.
Veamos ahora una demostración de ambos.
Utilizaremos el siguiente archivo PDF para extraer texto del PDF.
IronPDF
Escriba el siguiente código fuente para extraer texto utilizando iText 7.
//assign PDF location to a string and create new StringBuilder...
string pdfPath = @"D:/TestDocument.pdf";
var pageText = new StringBuilder();
//read PDF using new PdfDocument and new PdfReader...
using (PdfDocument document = new PdfDocument(new PdfReader(pdfPath)))
{
var pageNumbers = document.GetNumberOfPages();
for (int page = 1; page <= pageNumbers; page++)
{
//new LocationTextExtractionStrategy creates a new text extraction renderer
LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
PdfCanvasProcessor parser = new PdfCanvasProcessor(strategy);
parser.ProcessPageContent(document.GetFirstPage());
pageText.Append(strategy.GetResultantText());
}
Console.WriteLine(pageText.ToString());
}
//assign PDF location to a string and create new StringBuilder...
string pdfPath = @"D:/TestDocument.pdf";
var pageText = new StringBuilder();
//read PDF using new PdfDocument and new PdfReader...
using (PdfDocument document = new PdfDocument(new PdfReader(pdfPath)))
{
var pageNumbers = document.GetNumberOfPages();
for (int page = 1; page <= pageNumbers; page++)
{
//new LocationTextExtractionStrategy creates a new text extraction renderer
LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
PdfCanvasProcessor parser = new PdfCanvasProcessor(strategy);
parser.ProcessPageContent(document.GetFirstPage());
pageText.Append(strategy.GetResultantText());
}
Console.WriteLine(pageText.ToString());
}
'assign PDF location to a string and create new StringBuilder...
Dim pdfPath As String = "D:/TestDocument.pdf"
Dim pageText = New StringBuilder()
'read PDF using new PdfDocument and new PdfReader...
Using document As New PdfDocument(New PdfReader(pdfPath))
Dim pageNumbers = document.GetNumberOfPages()
For page As Integer = 1 To pageNumbers
'new LocationTextExtractionStrategy creates a new text extraction renderer
Dim strategy As New LocationTextExtractionStrategy()
Dim parser As New PdfCanvasProcessor(strategy)
parser.ProcessPageContent(document.GetFirstPage())
pageText.Append(strategy.GetResultantText())
Next page
Console.WriteLine(pageText.ToString())
End Using
Salida de texto extraído
Ahora, vamos a extraer texto de un PDF utilizando IronPDF.
El siguiente código fuente muestra el ejemplo de extracción de texto de un PDF utilizando IronPDF.
var pdf = PdfDocument.FromFile(@"D:/TestDocument.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
var pdf = PdfDocument.FromFile(@"D:/TestDocument.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
Dim pdf = PdfDocument.FromFile("D:/TestDocument.pdf")
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
Texto extraído con IronPDF
Con IronPDF, se necesitan dos líneas para extraer texto de los PDF. Con iText 7, en cambio, tenemos que escribir unas 10 líneas de código para la misma tarea.
IronPDF proporciona cómodos métodos de extracción de texto desde el primer momento; pero iText 7 requiere que escribamos nuestra propia lógica para realizar la misma tarea.
IronPDF es eficiente tanto en términos de rendimiento como de legibilidad del código.
Ambas bibliotecas son iguales en términos de precisión, ya que ambas proporcionan un resultado preciso al 100%.
iText 7 está disponible para uso comercial sólo. IronPDF es gratuito para el desarrollo, y también proporciona un prueba gratuita para uso comercial.
Para una comparación más detallada de IronPDF e iText 7, lea esto entrada del blog.
9 productos API .NET para sus documentos de oficina