Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Los archivos PDF se utilizan en diversos sectores para facturar y generar documentos. Al generar documentos, los desarrolladores utilizan el formato PDF para cumplir los requisitos de sus clientes. Con las bibliotecas que existen hoy en día en el mercado, crear PDF nunca ha sido tan fácil. A la hora de utilizar este tipo de bibliotecas en un proyecto, debemos evaluar factores como la construcción, la lectura y la conversión para determinar cuál es la mejor biblioteca del mercado.
En este artículo, compararemos las dos bibliotecas PDF más populares para componentes .NET. Estas dos bibliotecas son:
NReco
IronPDF y NReco son dos bibliotecas que se pueden utilizar para crear, leer, actualizar y manipular archivos PDF en su aplicación .NET, ya sea una aplicación de escritorio, web o móvil. En primer lugar, compararemos las características de las dos bibliotecas y, a continuación, analizaremos su rendimiento a la hora de convertir y manipular archivos PDF. Los marcos .NET de Microsoft admiten ambas bibliotecas.
La siguiente cuestión es decidir qué biblioteca PDF de C# se adapta mejor a su proyecto .NET. Puede sopesar su decisión mientras lee la siguiente comparación entre las dos bibliotecas.
Echemos primero un vistazo a lo que ofrecen ambas bibliotecas, y luego pasemos a la comparación propiamente dicha.
La solución de biblioteca PDF .NET de IronPDF es un sueño para los desarrolladores, especialmente para los ingenieros de software de C#. Puede crear fácilmente una aplicación de procesamiento de PDF .NET Core con esta excelente herramienta.
IronPDF utiliza un motor .NET Chromium para convertir páginas HTML en archivos PDF. No es necesario utilizar API complejas para renderizar o manipular PDF. IronPDF es compatible con las tecnologías web estándar: HTML, ASPX, JS, CSS e imágenes.
También permite crear una biblioteca PDF .NET utilizando HTML5, CSS, JavaScript e imágenes. Puede editar, poner marcas de agua y añadir encabezados y pies de página a un PDF sin esfuerzo. Además, facilita mucho la lectura de texto en PDF y la extracción de imágenes.
Algunas de las características importantes son:
NReco proporciona una biblioteca para .NET y .NET Core para la conversión de HTML a PDF. Puede generar documentos PDF a partir de plantillas HTML o de URL de páginas web.
En la mayoría de los casos (99% de las veces)Los PDF generados a partir de NReco tienen un aspecto muy similar al que tendría una página web mostrada en un navegador. El motor admite encabezados/pies de página, numeración de páginas, fuentes personalizadas y ejecución de JavaScript.
La biblioteca NReco se basa en la herramienta de línea de comandos WkHtmlToPdf, que utiliza el motor WebKit para convertir contenidos HTML en PDF. La biblioteca utiliza los binarios wkhtmltoPdf (win-x86) durante la ejecución. No es necesario instalarlos manualmente. Para mayor comodidad, la biblioteca NReco extrae y ejecuta automáticamente los binarios wkHtmlToPdf durante el tiempo de ejecución.
Crearemos un nuevo proyecto en Visual Studio para demostrar cómo estas dos bibliotecas llevan a cabo la generación de PDF.
Abre Visual Studio. Haga clic en Crear nuevo proyecto => Seleccionar plantilla (Aplicación de consola) => Pulsa en Siguiente => Nombra el Proyecto => Selecciona la Versión de .NET Framework => Pulsa en el Botón Crear.
Se creará un nuevo proyecto.
Vamos a instalar ambas bibliotecas una por una.
Existen cuatro formas de descargar e instalar la biblioteca IronPDF. Son las siguientes:
Descargue la biblioteca .DLL de IronPDF de la página Página web de IronPDF.
Analicemos cada uno de ellos.
Siga los siguientes pasos para descargar IronPDF desde NuGet Package Manager.
En la barra de menús, haga clic en Herramientas > Gestor de paquetes NuGet > Gestionar paquete NuGet para soluciones.
Aparecerá una nueva ventana. Haga clic en Examinar => Busque IronPDF=> haga clic en el botón Instalar, como se muestra a continuación.
Esto instalará IronPDF Library en nuestro proyecto.
En Visual Studio, vaya a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes.
Introduzca la siguiente línea en la pestaña de la consola del gestor de paquetes:
Install-Package IronPdf
La tercera forma es descargar el paquete NuGet directamente del sitio web.
Haga clic aquí enlace para descargar el último paquete directamente del sitio web. Una vez descargado, sigue los pasos que se indican a continuación para añadir el paquete al proyecto.
Seleccione la opción Referencia y, a continuación, navegue hasta la ubicación de la referencia descargada.
A continuación, haga clic en Aceptar para añadir la referencia.
La biblioteca NReco puede descargarse de una de las cuatro maneras siguientes.
Como en el caso anterior, basta con ir al gestor de paquetes NuGet y buscar la palabra clave "NReco".
En Visual Studio, vaya a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes.
Introduzca la siguiente línea en la pestaña de la consola del gestor de paquetes:
Install-Package NReco.PdfGenerator -Version 1.2.0
La tercera forma es descargar el paquete NuGet directamente del sitio web.
Haga clic aquí enlace para ver una lista de las DLL disponibles. Descargar el último paquete para varios .NET Frameworks Después de la descarga, siga los siguientes pasos para añadir el paquete al proyecto.
Haga clic en Aceptar para añadir la referencia.
Exploremos las funcionalidades de ambas librerías.
Ambas bibliotecas permiten generar documentos PDF, pero lo hacen de formas distintas.
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
file.SaveAs(@"D:\urlToPdfIronPDF.pdf");
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
file.SaveAs(@"D:\urlToPdfIronPDF.pdf");
Dim chromePdfRenderer As New ChromePdfRenderer()
Dim file = chromePdfRenderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
file.SaveAs("D:\urlToPdfIronPDF.pdf")
El código anterior generará un PDF a partir de una URL proporcionada. A continuación se muestra el resultado del código fuente.
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); htmlToPdf.GeneratePdfFromFile("https://es.wikipedia.org/wiki/PDF", null, @"D:\urlToPDFNreco.pdf");
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); htmlToPdf.GeneratePdfFromFile("https://es.wikipedia.org/wiki/PDF", null, @"D:\urlToPDFNreco.pdf");
Dim htmlToPdf = New NReco.PdfGenerator.HtmlToPdfConverter()
htmlToPdf.GeneratePdfFromFile("https://es.wikipedia.org/wiki/PDF", Nothing, "D:\urlToPDFNreco.pdf")
La generación de PDF a partir de URL mediante NReco requiere el uso de otra biblioteca: NReco.PDFGenerator.LT Además, la generación de PDF requiere una licencia comercial. Sin ella, el código anterior lanzará la excepción que se muestra a continuación:
string htmlstring = "<h1> This is sample pdf generated by IronPDF</h1>";
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderHtmlAsPdf(htmlstring);
file.SaveAs(@"D:\HTMLToPdfIronPDF.pdf");
string htmlstring = "<h1> This is sample pdf generated by IronPDF</h1>";
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderHtmlAsPdf(htmlstring);
file.SaveAs(@"D:\HTMLToPdfIronPDF.pdf");
Dim htmlstring As String = "<h1> This is sample pdf generated by IronPDF</h1>"
Dim chromePdfRenderer As New ChromePdfRenderer()
Dim file = chromePdfRenderer.RenderHtmlAsPdf(htmlstring)
file.SaveAs("D:\HTMLToPdfIronPDF.pdf")
Véase más abajo la salida:
string htmlstring = "<h1> This is sample pdf generated by NReco</h1>";
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.GeneratePdf(htmlstring,null, @"D:\HTMLToPdfIronPDF.pdf");
string htmlstring = "<h1> This is sample pdf generated by NReco</h1>";
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.GeneratePdf(htmlstring,null, @"D:\HTMLToPdfIronPDF.pdf");
Dim htmlstring As String = "<h1> This is sample pdf generated by NReco</h1>"
Dim htmlToPdf = New NReco.PdfGenerator.HtmlToPdfConverter()
htmlToPdf.GeneratePdf(htmlstring,Nothing, "D:\HTMLToPdfIronPDF.pdf")
El código fuente anterior genera archivos PDF utilizando la envoltura NReco C# WkHtmlToPdf.Ejecutar este código con éxito también una licencia comercial. Por lo tanto, ejecutar este código de arriba lanzará una excepción: "Esta función requiere licencia comercial".
El siguiente código de ejemplo demuestra la función PDF Text Extractiou.
var pdfFile = @"D:\SamplePDF.pdf";
PdfDocument pdfDocument = PdfDocument.FromFile(pdfFile);
string ConvertedText = pdfDocument.ExtractAllText();
Console.WriteLine(ConvertedText);
var pdfFile = @"D:\SamplePDF.pdf";
PdfDocument pdfDocument = PdfDocument.FromFile(pdfFile);
string ConvertedText = pdfDocument.ExtractAllText();
Console.WriteLine(ConvertedText);
Dim pdfFile = "D:\SamplePDF.pdf"
Dim pdfDocument As PdfDocument = PdfDocument.FromFile(pdfFile)
Dim ConvertedText As String = pdfDocument.ExtractAllText()
Console.WriteLine(ConvertedText)
La salida generada se muestra a continuación:
Necesitamos añadir una librería adicional, Nreco.PdfRenderer, para extraer el texto.
var pdfFile = @"D:\SamplePDF.pdf";
var pdfToText = new NReco.PdfRenderer.PdfToTextConverter();
string generatedText = pdfToText.GenerateText(pdfFile);
Console.WriteLine(generatedText);
var pdfFile = @"D:\SamplePDF.pdf";
var pdfToText = new NReco.PdfRenderer.PdfToTextConverter();
string generatedText = pdfToText.GenerateText(pdfFile);
Console.WriteLine(generatedText);
Dim pdfFile = "D:\SamplePDF.pdf"
Dim pdfToText = New NReco.PdfRenderer.PdfToTextConverter()
Dim generatedText As String = pdfToText.GenerateText(pdfFile)
Console.WriteLine(generatedText)
A continuación se muestra el resultado:
La salida generada por NReco es correcta, pero contiene un símbolo adicional que no debería estar ahí.
Hemos hablado de las funciones básicas que ofrecen ambas bibliotecas. Ahora, comparémoslos.
NReco utiliza la herramienta wkHtmlToPdf de C# en muchos casos de uso diferentes. No necesitamos instalar wkHtmltoPdf por separado, pero sí necesitamos instalar paquetes NuGet por separado para crear y leer documentos PDF. Por lo tanto, esto aumenta la complejidad en la gestión de las dependencias de las bibliotecas de un proyecto. Por otro lado, IronPDF sólo necesita una instalación. El conjunto completo de funciones de IronPDF no requiere bibliotecas adicionales.
IronPDF convierte el contenido HTML en PDF con precisión, tanto a partir de URls como de cadenas HTML sin procesar. Estas mismas funciones no pueden utilizarse en NReco sin obtener previamente una licencia comercial.
Ambas bibliotecas pueden extraer texto de archivos PDF bastante bien, pero NReco incluye un símbolo extra innecesario en su salida.
NReco es un servicio web que crea archivos PDF a partir de documentos HTML. Tiene varias estructuras de precios, siendo la más baja de 75 $/mes. También puedes suscribirte a una prueba gratuita, pero ésta tiene funciones limitadas. Los precios detallados pueden consultarse aquí Página de NReco.
IronPDF es una biblioteca PDF en C#. Es gratuito para el desarrollo y siempre se puede obtener una licencia para su implantación comercial. Licencias disponibles para uso en un solo proyecto, desarrolladores individuales, agencias y corporaciones globales, así como para redistribución SAAS y OEM. Todas las licencias incluyen una garantía de devolución del dinero de 30 días, un año de asistencia técnica y actualizaciones del producto, validez para desarrollo/montaje/producción y también una licencia permanente. (compra única). Los precios del paquete Lite empiezan a partir de $749.
IronPDF no convierte HTML a PDF desde un servidor remoto. En su lugar, pone en marcha una instancia de un navegador web real y conforme a los estándares entre bastidores (no es necesario instalar manualmente ningún software adicional). El HTML se renderiza con total precisión y en un formato vectorial apto para los más altos estándares de impresión comercial. El resultado es un PDF limpio y de alta calidad. Es abiertamente comercial, con detalles sobre licencias y precios publicados en el sitio web.
NReco también convierte HTML a PDF y se ejecuta en servidores en la nube en múltiples ubicaciones. NReco proporciona bibliotecas para .NET y .NET Core con la conversión de HTML a PDF más rápida y precisa. NReco puede generar archivos PDF a partir de contenido HTML (código fuente, archivos de plantilla o URL) por plantilla HTML o URL de página web. Las páginas web se renderizan utilizando un motor Qt WebKit, y la salida resultante es casi idéntica a las renderizaciones de los navegadores web.
Tras una comparación exhaustiva, puede verse que IronPDF disfruta de ventajas significativas sobre NReco. IronPDF ofrece una cobertura completa para muchas necesidades de procesamiento de PDF. Al adquirir IronPDF, obtendrá todas las conversiones en una única biblioteca. Admite documentos web estándar: HTML, ASPX, JS, CSS e imágenes.
NReco es un servicio web que crea archivos PDF a partir de formatos HTML. Dispone de varias estructuras de precios, siendo la más baja de 75 $/mes. IronPDF, en cambio, es gratuito para el desarrollo y siempre se puede obtener una licencia para su implantación comercial. Licencias disponibles para uso en un solo proyecto, desarrolladores individuales, agencias y corporaciones globales. Todas las licencias incluyen una garantía de devolución del dinero de 30 días y un año de asistencia y actualizaciones del producto. El paquete Lite parte de $749. Los paquetes IronPDF son permanentes y no conllevan costes.
Si adquiere la IronSuite completa, podrá recibir los cinco productos por el precio de sólo dos. Para más información, pulse aquí.
Para terminar, elegimos IronPDF por su alto rendimiento y su amplio conjunto de funciones. IronPDF también proporciona un buen soporte y documentación, lo que garantiza que los usuarios puedan hacer un uso completo y eficaz de la impresionante gama de funciones que ofrece.
9 productos API .NET para sus documentos de oficina