Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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).
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.
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.
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.
En QuestPDF, podemos escribir código reutilizable y crear componentes para utilizarlos varias veces y generar magníficos informes.
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.
Esta funcionalidad le permite crear archivos PDF a partir de muchos tipos de archivos, incluidos HTML, cadenas HTML, vistas MVC, formularios Web y URL.
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.
Además, IronPDF ofrece herramientas para firmar digitalmente los PDF, bloquearlos con contraseñas y cifrarlos a 128 bits.
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.
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.
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.
IronPDF es compatible con casi todos los sistemas operativos y marcos de trabajo compatibles con C#, incluidos los siguientes:
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
Seleccione el marco .NET necesario.
.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
Ahora, tenemos que añadir la biblioteca.
La biblioteca IronPDF puede descargarse e instalarse de cuatro formas diferentes. Estos son:
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
Después de hacer clic en Manage NuGet Packages for Solution, aparecerá esta pantalla donde lo haremos:
Consola del gestor de paquetes
En el menú de Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes.
Consola del gestor de paquetes
Install-Package IronPdf
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.
La tercera forma es descargar el paquete directamente de la página web.
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.
La biblioteca puede descargarse e instalarse de cuatro formas distintas. Estos son:
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
Tras hacer clic en 'Manage NuGet Packages for Solution', aparecerá esta pantalla en la que vamos a-
QuestPDF
En el menú de Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes.
Consola del gestor de paquetes
Install-Package QuestPDF
Línea de comandos de Visual Studio
Ahora, el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.
La tercera forma es descargar el paquete NuGet directamente desde la página web.
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.
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")
Aquí está el PDF generado.
HTML a PDF
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")
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.
Con IronPDF, puede añadir encabezados y pies de página de dos formas distintas.
Encabezado de textoPie de página
permite añadir cabeceras basadas en texto con la posibilidad de incorporar datos dinámicos.HtmlHeaderFooter
que 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
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")
Aquí está el PDF generado.
Encabezado y pie de página personalizados
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.
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")
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")
Aquí está el PDF generado.
Imagen utilizando QuestPDF
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
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
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:
IronWebScraper
Visite este enlace para explorar la IRONSUITE.
9 productos API .NET para sus documentos de oficina