COMPARACIóN DE PRODUCTOS

Comparación entre QuestPDF e IronPDF

Actualizado 14 de octubre, 2022
Compartir:

PDF (Formato de documento portátil) es un tipo de archivo documental utilizado en la vida cotidiana para guardar los datos o enviarlos en formato de documento portátil. Si necesitamos manipular cualquier dato en un archivo PDF o diseñar un documento de factura, podemos hacerlo a través de las siguientes API en C# (Un lenguaje de programación).

  • IronPDF
  • QuestPDF

2. QuestPDF

Se trata de una biblioteca .NET de código abierto para la generación de documentos PDF que se basa en una API fluida y también ofrece funciones de paginación. El documento está formado por numerosos componentes sencillos, la mayoría de los cuales son fundamentos de QuestPDF. (como borde, fondo, imagen, texto, relleno, tabla, cuadrícula, etc.)que luego se combinan para producir diseños o estructuras más complicados. Puede utilizar esta biblioteca con un motor de maquetación diseñado para generar documentos PDF mediante una API fluida. También ofrece soporte completo de paginación. En este artículo, aprenderá los conceptos básicos de QuestPDF que utilizan API fluida, por ejemplo, si desea una factura PDF, puede diseñar un documento de factura a través de esta biblioteca de proyectos de código abierto y dar su contribución a toda la comunidad.

2.1 Características de QuestPDF

2.1.1 Diseñar y generar documentos PDF

Esta biblioteca no convierte documentos HTML a PDF, es decir, primero diseña y luego genera documentos PDF. Es necesario añadir manualmente el código en lugar de añadir etiquetas HTML en el texto a convertir. Esta biblioteca se basa en el diseño y la presentación de documentos de facturación similares a PDF. También crea tablas y filas de tablas con columnas.

2.1.2 encabezados y pies de página Opciones

Cifre sus documentos, utilice JavaScript y CSS personalizados, añada números de página a sus encabezados y pies de página, y mucho más.

2.1.3 Crear y reutilizar componentes

En QuestPDF, podemos escribir código reutilizable y crear componentes para utilizarlos varias veces y generar magníficos informes.

2.1.4 Otras características
  • Se basa en fundamentos sólidos.
  • No depende de la conversión de HTML a PDF.
  • Funciona con código organizado.
  • Compone componentes sencillos en documentos complejos.

3. IronPDF

Es una biblioteca que consta de muchos elementos simples para la generación de documentos PDF que convierte HTML con estructuras más complejas a PDF en el ecosistema .NET sin 200 líneas de código en comparación con otros paquetes NuGet. Cualquiera puede utilizarlo en un proyecto .NET Framework o .NET Core y crear código reutilizable. Esta biblioteca ofrece a los desarrolladores la posibilidad de realizar múltiples funciones para generar documentos PDF con una descripción detallada y detalles del paquete, donde se puede editar, marca de agua y añadir encabezado, etc y compartir conocimientos. También produce los resultados deseados en el mundo de la generación de PDF con grandes informes y la calidad de la biblioteca. Puede crear incluso los documentos más complejos o los diseños más complejos a través de esta biblioteca y encontrar fácilmente los detalles de los paquetes. Hay múltiples características de esta biblioteca, que se mencionan a continuación.

3.1. Características de IronPDF

3.1.1 Conversiones PDF

Esta funcionalidad le permite crear archivos PDF a partir de muchos tipos de archivos, incluidos HTML, cadenas HTML, vistas MVC, formularios Web y URL.

3.1.2 Creación de imágenes PDF

Esto permite a los usuarios producir código reutilizable para generar PDF a partir de fotos e imágenes de PDF. Incluye extracción de imágenes, compatibilidad con distintas extensiones de imagen e impresión de PDF.

3.1.3 Archivos PDF IO

Además, IronPDF ofrece herramientas para firmar digitalmente los PDF, bloquearlos con contraseñas y cifrarlos a 128 bits.

3.1.4 Editar PDF

Esta herramienta de IronPDF ofrece todo tipo de formato PDF en archivos PDF producidos, incluida la posibilidad de añadir marcas de agua, añadir páginas, eliminar páginas, cambiar fondos y primeros planos, y mucho más. En resumen, IronPDF proporciona todas las capacidades con descripción detallada que necesita para manipular archivos PDF.

3.1.5 Extracción de contenido PDF

Con frecuencia puede extraer inmediatamente texto incrustado de los PDF. Si eso no funciona, su documento consta de texto que probablemente esté incrustado en una imagen. Utilice la biblioteca IronOCR para escanear documentos en busca de texto visual, no texto plano.

3.1.6 Encabezados y pies de página

A un archivo PDF se le pueden añadir encabezados y pies de página o ya los tiene. La propiedad Opciones de impresión permite crear un encabezado y un pie de página para cada página del documento. Acceda a estas opciones en el objeto Chrome PDF Renderer. Este ejemplo funciona dentro de una aplicación de consola .NET Core.

3.1.7 Compatibilidad

IronPDF es compatible con casi todos los sistemas operativos y marcos de trabajo compatibles con C#, incluidos los siguientes:

  • Ventanas
  • .NET Core 2.1, 3.0, 3.1, .NET 6 y 5
  • Cumplimiento de la norma .NET 2.0 para una compatibilidad universal
  • Azure
  • AWS
  • Docker
  • Linux

4. Creación de un nuevo proyecto en Visual Studio

Vaya al menú Archivo de Visual Studio después de iniciarlo. Seleccione "Nuevo proyecto" y, a continuación, seleccione Aplicación de consola. En este artículo, vamos a utilizar una aplicación de consola para generar documentos PDF.

En el cuadro de texto correspondiente, escriba el nombre del proyecto y elija la ruta. A continuación, haga clic en el botón Crear, como en la siguiente captura de pantalla:

Crear un nuevo proyecto

Crear un nuevo proyecto

Seleccione el marco .NET necesario.

.NET Framework

.NET Framework

Si ha elegido una aplicación de consola, Windows o Web, el proyecto de Visual Studio desarrollará ahora la estructura para la aplicación elegida y abrirá el archivo program.cs o el documento del método principal para que pueda añadir código y crear/ejecutar la aplicación.

Programa.cs

Programa.cs

Ahora, tenemos que añadir la biblioteca.

5. Instalar la librería IronPDF

La biblioteca IronPDF puede descargarse e instalarse de cuatro formas diferentes. Estos son:

  • Uso del gestor de paquetes NuGet de Visual Studio
  • Uso de la línea de comandos de Visual Studio
  • Descarga directa desde la página web de NuGet
  • Descarga directa desde la página web de IronPDF

5.1 Uso del gestor de paquetes NuGet de Visual Studio

Podemos añadir directamente la biblioteca en la solución a través del gestor de paquetes que proporciona Visual Studio en el menú "Herramientas".

Herramientas > Administrador de paquetes NuGet > Administrar paquetes NuGet para la solución

Gestor de paquetes NuGet

Gestor de paquetes NuGet

Después de hacer clic en Manage NuGet Packages for Solution, aparecerá esta pantalla donde lo haremos:

  • Seleccione la pestaña "Examinar".
  • Escriba 'IronPDF'.
  • La fuente del paquete será 'nuget.org'.
  • Seleccione la biblioteca 'IronPDF'.
  • Haga clic en el botón "Instalar".
    Consola del gestor de paquetes

    Consola del gestor de paquetes

5.2 Uso de la línea de comandos de Visual Studio

  • En el menú de Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes.

    Consola del gestor de paquetes

    Consola del gestor de paquetes

  • Introduzca la siguiente línea en la pestaña de la consola del gestor de paquetes:
Install-Package IronPdf
Línea de comandos de Visual Studio

Línea de comandos de Visual Studio

Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para su uso, sin necesidad de añadir otros paquetes NuGet.

5.3 Descarga directa desde la página web de NuGet

La tercera forma es descargar el paquete directamente de la página web.

  • Navegue hasta el enlace "https://www.nuget.org/packages/IronPdf/".
  • Seleccione la opción de descarga de paquetes en el menú de la derecha.
  • Haga doble clic en el paquete descargado; se instalará automáticamente.
  • Ahora vuelva a cargar la solución y comience a utilizarla en el proyecto.

5.4 Descarga directa desde la página web de IronPDF

Haga clic en el botón enlace para descargar el último paquete directamente de la página web. Tras la descarga, siga los pasos que se indican a continuación para añadir el paquete al proyecto.

  • Haga clic con el botón derecho del ratón en el proyecto de la ventana de la solución.
  • A continuación, seleccione la opción Referencia y busque la ubicación de la referencia descargada.
  • A continuación, haga clic en Aceptar para añadir la referencia.

6. Instale la biblioteca QuestPDF

La biblioteca puede descargarse e instalarse de cuatro formas distintas. Estos son:

  • Uso del gestor de paquetes NuGet de Visual Studio
  • Uso de la línea de comandos de Visual Studio
  • Descarga directa desde la página web de NuGet

6.1 Uso del gestor de paquetes NuGet de Visual Studio

Podemos añadir directamente la biblioteca en la solución a través del gestor de paquetes proporcionado por Visual Studio en el menú "Herramientas".

Herramientas > Administrador de paquetes NuGet > Administrar paquetes NuGet para la solución

Gestor de paquetes NuGet

Gestor de paquetes NuGet

Tras hacer clic en 'Manage NuGet Packages for Solution', aparecerá esta pantalla en la que vamos a-

  • Seleccione la pestaña "Examinar
  • Escriba "QuestPDF
  • La fuente del paquete será 'nuget.org'.
  • Seleccione la biblioteca 'QuestPDF
  • Haga clic en el botón "Instalar
    QuestPDF

    QuestPDF

6.2 Uso de la línea de comandos de Visual Studio

  • En el menú de Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes.

    Consola del gestor de paquetes

    Consola del gestor de paquetes

  • Introduzca la siguiente línea en la pestaña de la consola del gestor de paquetes:
Install-Package QuestPDF
Línea de comandos de Visual Studio

Línea de comandos de Visual Studio

Ahora, el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.

6.3. Descarga directa desde la página web de NuGet

La tercera forma es descargar el paquete NuGet directamente desde la página web.

  • Navegue hasta el enlace "https://www.nuget.org/packages/questPdf/".
  • Seleccione la opción de descarga de paquetes en el menú de la derecha.
  • Haga doble clic en el paquete descargado; se instalará automáticamente.
  • Ahora vuelva a cargar la solución y comience a utilizarla en el proyecto.

7. Crear PDF a partir de HTML

Ambas herramientas incluyen esta funcionalidad para la conversión de HTML utilizando los componentes disponibles, aunque lo hacen de formas algo diferentes. También puede añadir la página siguiente en el pdf generado. Puede seguir </tutorials/html-a-pdf/> para generar documentos HTML a PDF.

7.1 Conversión de HTML a PDF con IronPDF

Es bastante fácil convertir HTML a PDF utilizando la biblioteca IronPDF C# .NET, que es muy sencilla y se explica por sí misma. Consulte el siguiente código

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("This is Content");
pdf.SaveAs("Example.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("This is Content");
pdf.SaveAs("Example.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("This is Content")
pdf.SaveAs("Example.pdf")
VB   C#

Aquí está el PDF generado.

HTML a PDF

HTML a PDF

7.2 HTML a PDF utilizando QuestPDF

QuestPDF no utiliza la conversión de HTML a PDF, que a menudo es poco fiable. En su lugar, implementa su propio motor de maquetación optimizado para cubrir todos los requisitos relacionados con la paginación. A continuación se muestra el código fuente de QuestPDF.

using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
Document.Create(container =>
{
    container.Page(page =>
    {
        page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);
        page.PageColor(Colors.White);
        page.DefaultTextStyle(x => x.FontSize(20));
        page.Content()
       .PaddingVertical(1, Unit.Centimetre)
       .Column(x =>
       {
           x.Spacing(20);
           x.Item().Text("This is Content");
       });
    });
})
.GeneratePdf("Example.pdf");
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
Document.Create(container =>
{
    container.Page(page =>
    {
        page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);
        page.PageColor(Colors.White);
        page.DefaultTextStyle(x => x.FontSize(20));
        page.Content()
       .PaddingVertical(1, Unit.Centimetre)
       .Column(x =>
       {
           x.Spacing(20);
           x.Item().Text("This is Content");
       });
    });
})
.GeneratePdf("Example.pdf");
Imports QuestPDF.Fluent
Imports QuestPDF.Helpers
Imports QuestPDF.Infrastructure
Document.Create(Sub(container)
	container.Page(Sub(page)
		page.Size(PageSizes.A4)
		page.Margin(2, Unit.Centimetre)
		page.PageColor(Colors.White)
		page.DefaultTextStyle(Function(x) x.FontSize(20))
		page.Content().PaddingVertical(1, Unit.Centimetre).Column(Sub(x)
		   x.Spacing(20)
		   x.Item().Text("This is Content")
		End Sub)
	End Sub)
End Sub).GeneratePdf("Example.pdf")
VB   C#

8. Encabezados y pies de página personalizados

Cuando trabaje con PDF, debe añadir siempre encabezados y pies de página. Las dos herramientas analizadas admiten esta opción utilizando los componentes disponibles.

8.1 Encabezados y pies de página personalizados con IronPDF

Con IronPDF, puede añadir encabezados y pies de página de dos formas distintas.

  1. Encabezado de textoPie de página permite añadir cabeceras basadas en texto con la posibilidad de incorporar datos dinámicos.
  2. El programador puede mostrar encabezados y pies de página HTML en archivos PDF mediante HtmlHeaderFooterque también permite crear plantillas con datos dinámicos. Es más flexible pero más difícil de usar.
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.TextHeader.CenterText = "This is Header";
renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
renderer.RenderingOptions.TextHeader.FontSize = 36;
renderer.RenderingOptions.TextFooter.CenterText = " Page " + renderer.RenderingOptions.FirstPageNumber;
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.TextHeader.CenterText = "This is Header";
renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
renderer.RenderingOptions.TextHeader.FontSize = 36;
renderer.RenderingOptions.TextFooter.CenterText = " Page " + renderer.RenderingOptions.FirstPageNumber;
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.TextHeader.CenterText = "This is Header"
renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica
renderer.RenderingOptions.TextHeader.FontSize = 36
renderer.RenderingOptions.TextFooter.CenterText = " Page " & renderer.RenderingOptions.FirstPageNumber
VB   C#

8.2 Encabezados y pies de página personalizados con QuestPDF

Puedes añadir un encabezado o pie de página exclusivos al documento terminado para hacerlo tuyo. Se utilizan con frecuencia para identificar la página actual o mostrar el logotipo de su empresa en cada página. Para ello, consulte el código fuente siguiente

using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
Document.Create(container =>
{
    container.Page(page =>    {
    page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);
        page.PageColor(Colors.White);
        page.DefaultTextStyle(x => x.FontSize(20));

        //  Contenido de la cabecera
        page.Header().Text("This is Header")
            .SemiBold().FontSize(36).FontColor(Colors.Blue.Medium);

        //  Contenido del pie de página
        page.Footer()
           .AlignCenter()
           .Text(x =>     {
                x.Span("Page ");
                x.CurrentPageNumber();
           });
    });
}).GeneratePdf("Example.pdf");
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
Document.Create(container =>
{
    container.Page(page =>    {
    page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);
        page.PageColor(Colors.White);
        page.DefaultTextStyle(x => x.FontSize(20));

        //  Contenido de la cabecera
        page.Header().Text("This is Header")
            .SemiBold().FontSize(36).FontColor(Colors.Blue.Medium);

        //  Contenido del pie de página
        page.Footer()
           .AlignCenter()
           .Text(x =>     {
                x.Span("Page ");
                x.CurrentPageNumber();
           });
    });
}).GeneratePdf("Example.pdf");
Imports QuestPDF.Fluent
Imports QuestPDF.Helpers
Imports QuestPDF.Infrastructure
Document.Create(Sub(container)
	container.Page(Sub(page)
		page.Size(PageSizes.A4)
		page.Margin(2, Unit.Centimetre)
		page.PageColor(Colors.White)
		page.DefaultTextStyle(Function(x) x.FontSize(20))
		page.Header().Text("This is Header").SemiBold().FontSize(36).FontColor(Colors.Blue.Medium)
		page.Footer().AlignCenter().Text(Sub(x)
			x.Span("Page ")
			x.CurrentPageNumber()
		End Sub)
	End Sub)
End Sub).GeneratePdf("Example.pdf")
VB   C#

Aquí está el PDF generado.

Encabezado y pie de página personalizados

Encabezado y pie de página personalizados

9. Imagen en PDF

Añadir imágenes en PDF es una funcionalidad muy interesante que se necesita en los requisitos básicos y ambas bibliotecas proporcionan esta funcionalidad.

9.1 Imagen con IronPDF

Es muy fácil añadir una imagen en un PDF utilizando la biblioteca IronPDF después de indicar la ruta de la imagen con la etiqueta de imagen y guardar el PDF, eso es todo.

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<img src='test.jpg'>", @"C:\rahul\");
pdf.SaveAs("ExampleImage.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<img src='test.jpg'>", @"C:\rahul\");
pdf.SaveAs("ExampleImage.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<img src='test.jpg'>", "C:\rahul\")
pdf.SaveAs("ExampleImage.pdf")
VB   C#

9.2 Imagen utilizando QuestPDF

Puede añadir cualquier imagen a su PDF generado a través de QuestPDF como se muestra en el siguiente código fuente.

using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
Document.Create(container =>
{
    container.Page(page =>
    {
        page.Content()
             .PaddingVertical(1, Unit.Centimetre)
             .Column(x =>
             {
                x.Spacing(20);
                x.Item().Image(Placeholders.Image(100, 100));
             });
    });
}).GeneratePdf("ExampleImage.pdf");
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
Document.Create(container =>
{
    container.Page(page =>
    {
        page.Content()
             .PaddingVertical(1, Unit.Centimetre)
             .Column(x =>
             {
                x.Spacing(20);
                x.Item().Image(Placeholders.Image(100, 100));
             });
    });
}).GeneratePdf("ExampleImage.pdf");
Imports QuestPDF.Fluent
Imports QuestPDF.Helpers
Imports QuestPDF.Infrastructure
Document.Create(Sub(container)
	container.Page(Sub(page)
		page.Content().PaddingVertical(1, Unit.Centimetre).Column(Sub(x)
				x.Spacing(20)
				x.Item().Image(Placeholders.Image(100, 100))
		End Sub)
	End Sub)
End Sub).GeneratePdf("ExampleImage.pdf")
VB   C#

Aquí está el PDF generado.

Imagen utilizando QuestPDF

Imagen utilizando QuestPDF

10. Licencias

La biblioteca IronPDF ofrece una licencia gratuita para desarrolladores. Además, IronPDF tiene una estructura de precios única. El paquete ligero cuesta a partir de $749 y no tiene tasas adicionales. También es posible redistribuir productos SaaS y OEM. Todas las licencias incluyen una garantía de devolución del dinero de 30 días, un año de soporte y actualizaciones del software, validez para desarrollo/pruebas/ejecución/producción y una licencia perpetua. (compra única). Las licencias IronPDF ofrecen el máximo rendimiento para las necesidades del usuario. Ir a enlace para ver toda la estructura de precios y licencias de IronPDF.

Licencia IronPDF

Licencia IronPDF

Una biblioteca de código abierto llamada QuestPDF ofrece una licencia gratuita para desarrolladores. Esta biblioteca se ha creado específicamente para diseñar y organizar diseños de documentos, con soporte completo de paginación. Las soluciones alternativas, como los conversores basados en HTML, no están diseñadas para este fin y, por tanto, suelen ser impredecibles y no producen los resultados deseados.

Licencia QuestPDF

Licencia QuestPDF

11. Conclusión

IronPDF se encarga de la difícil tarea de automatizar la creación de PDF a partir de documentos estructurados, como la conversión de formularios web, páginas HTML locales y otros sitios web a PDF con .NET. También permite a los usuarios descargar documentos, enviarlos por correo electrónico o almacenarlos en la nube.

QuestPDF implementa su propio motor de maquetación que renderiza todo el contenido utilizando la biblioteca SkiaSharp, en lugar de depender de una conversión de HTML a PDF, pero existe una dependencia del proyecto. Podemos dividir el diseño del documento en secciones manejables y construir componentes especializados y reutilizables. Además, el documento y todos sus elementos admiten la función de paginación. Por ejemplo, un elemento puede desplazarse a la página siguiente (si no hay espacio suficiente) o incluso dividirse entre páginas como las filas de una tabla.

Tras una rápida comparación técnica de las dos herramientas, podemos decir que la biblioteca IronPDF tiene muchas más funciones que QuestPDF. QuestPDF proporciona sólo un pequeño número de funciones para manipular PDFs. IronPDF puede convertir una URL en un PDF con sólo tres líneas de código, mientras que QuestPDF requiere una cantidad mucho mayor de código para lograr el mismo objetivo. Integrar IronPDF es fácil y puede hacerse en sólo unos minutos. Aunque ambas librerías tienen soporte de desarrollo, al final de este contenido, como desarrollador profesional puedes decir con total confianza que IronPDF proporciona mejores características con elementos sencillos.

Una rápida comparación de ambas herramientas en términos de licencias, IronPDF es una biblioteca que ofrece una licencia gratuita para desarrolladores. Las licencias IronPDF ofrecen el máximo rendimiento para las necesidades del usuario. Ir a enlace para ver toda la estructura de precios y licencias de IronPDF. QuestPDF es una biblioteca de código abierto y los proyectos de código abierto tienen algunas limitaciones como problemas de compatibilidad, responsabilidades y garantías y costes ocultos. Ahora podemos concluir que IronPDF es mucho mejor.

Además, la empresa Iron Software ofrece actualmente un paquete de cinco herramientas por el precio de dos más una prueba gratuita. Las herramientas incluidas en el paquete Iron son:

  • IronBarcode
  • IronXL
  • IronOCR
  • IronPDF
  • IronWebScraper

    Visite este enlace para explorar la IRONSUITE.

< ANTERIOR
Comparación entre IronPDF y PSPDFKit
SIGUIENTE >
¡Comparación entre IronPDF e Innovasys Document! X

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123