Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
PDFreactor e IronPDF proporcionan a los ingenieros las herramientas para generar, manipular, editar, formatear y imprimir documentos PDF a partir de diversas entradas. Al trabajar en .NET y .NET Core, debemos elegir las herramientas que mejor se adapten a nuestros proyectos y requisitos, y el uso de ejemplos de código y tutoriales explicativos siempre es útil.
Cualquier desarrollador .NET le dirá que los proyectos requieren mucha investigación antes de iniciarse. Hay un viejo adagio que dice: usa la herramienta adecuada para el trabajo adecuado. Las bibliotecas PDF no son una excepción a esta regla. Como desarrollador, tienes que estar bien informado sobre qué bibliotecas y herramientas existen. Es cierto que no todas las herramientas o bibliotecas son iguales: algunas tienen diferentes puntos fuertes y otras tienen más puntos débiles que otras, pero en última instancia es tu prerrogativa utilizar la herramienta que mejor se adapte a ti y a tu empresa y, lo que es más importante, a tu proyecto.
En este artículo se compararán dos de las bibliotecas PDF más populares para desarrolladores .NET y .NET Core. Estas dos bibliotecas son:
PDFreactor
Con cualquier artículo comparativo, es bueno intentar comparar lo bueno, lo malo y lo feo siempre que sea posible. Por desgracia, en el panorama tecnológico actual, algunas bibliotecas se quedan bastante cortas, mientras que otras sobresalen y prosperan. La tecnología avanza a tal velocidad que es difícil mantenerse al día. Esto se aplica no sólo a los creadores de bibliotecas de terceros, sino también a los desarrolladores. Comer o ser comido, y adaptarse muy rápidamente.
Echemos un vistazo a ambas ofertas.
IronPDF es una biblioteca comercial de generación de PDF para la plataforma .NET, escrita en C#. El concepto clave es evitar las API de generación de PDF, que consumen mucho tiempo, renderizando los PDF a partir de HTML, CSS, imágenes y JavaScript. Funciona igual de bien en aplicaciones de formularios, aplicaciones y servicios de servidor, aplicaciones web, intranets seguras, aplicaciones de consola, aplicaciones WPF y sitios web con patrones MVC. IronPDF es compatible con cualquier proyecto .NET Framework a partir de la versión 4, y .NET Core a partir de la versión 2.
Algunas de las grandes características de IronPDF son:
Fusionar, dividir y manipular archivos PDF
Las mejoras en 2020 incluyen:
Compatibilidad con CentOS 8 y Ubuntu 20
Las licencias empiezan a partir de $749.
C# es uno de los lenguajes de programación más utilizados en todos los sectores. Si busca un conversor de PDF de alta calidad que funcione a la perfección con C# y .NET, con PDFreactor tendrá acceso a una potente herramienta para convertir páginas HTML en PDF mediante C#. PDFreactor es el motor de conversión fácil, rápido y moderno para usuarios de C# que necesitan crear PDFs a partir de HTML de forma eficiente.
Características de PDFreactor:
PDFreactor web apps ofrece funciones de impresión profesional como PDF/X, PDF/X-4p, cuadrículas base y colores directos. PDF/A PDFreactor permite crear fácilmente PDF/A (1a, 1b, 2a, 2b, 2u, 3a, 3b y 3u) y PDF/UA para archivar documentos electrónicos a largo plazo.
Las nuevas mejoras son:
Opción de configuración para crear PDF inspeccionables. Esto permite la inspección de la estructura y el diseño de los PDF generados con PDFreactor, de forma similar a las herramientas de desarrollo del navegador en nuestro nuevo Herramienta PDFreactor Inspector.
Las licencias cuestan a partir de 2.950,00 dólares.
Los siguientes pasos generan un sitio web ASP.NET:
Seleccione Aplicación Web ASP.NET. Esta captura de pantalla se muestra a continuación:
Seleccione Formularios Web en la siguiente pantalla, como se muestra a continuación:
Haga clic en Aceptar.
A continuación, vamos a instalar IronPDF.
Hay dos formas de instalar IronPDF:
Descargar la biblioteca
Veámoslo más de cerca.
Hay tres maneras de instalar IronPDF a través de NuGet; estos son:
Descargue directamente el paquete NuGet
Veámoslos uno por uno.
Se accede al gestor de paquetes NuGet a través del menú Proyecto o haciendo clic con el botón derecho del ratón en el proyecto en el Explorador de soluciones.
Una vez seleccionado, busque el paquete IronPDF e instálelo como se muestra a continuación:
Siga los siguientes pasos para instalar el paquete IronPDF NuGet a través del símbolo del sistema para desarrolladores:
:ProductInstall
Siga los pasos siguientes para descargar el paquete a través de NuGet:
La segunda forma de instalar IronPDF es descargándolo directamente de la página Descarga de IronPDF DLL.
Haz referencia a la biblioteca en tu proyecto siguiendo los siguientes pasos:
Siga los mismos pasos mencionados anteriormente e instale PDFreactor. Suele utilizarse para la conversión del lado del servidor de HTML a PDF, desde documentos dinámicos basados en datos (informes, facturas, formularios, hojas de datos) para la distribución electrónica a PDF complejos y de alta calidad (catálogos, material de marketing, documentación técnica, revistas) para la publicación impresa y electrónica.
El siguiente código crea documentos PDF e imprime una cadena HTML en su interior.
El siguiente código utiliza IronPDF para crear archivos PDF directamente a partir de una cadena HTML.
private void HTMLString()
{
// Render any HTML fragment or document to HTML
var Renderer = new IronPdf.ChromePdfRenderer();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>" };
var OutputPath = "ChromePdfRenderer.pdf";
PDF.SaveAs(OutputPath);
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}
private void HTMLString()
{
// Render any HTML fragment or document to HTML
var Renderer = new IronPdf.ChromePdfRenderer();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>" };
var OutputPath = "ChromePdfRenderer.pdf";
PDF.SaveAs(OutputPath);
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}
Private Sub HTMLString()
' Render any HTML fragment or document to HTML
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
Renderer.RenderingOptions.TextFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
Dim OutputPath = "ChromePdfRenderer.pdf"
PDF.SaveAs(OutputPath)
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
End Sub
El siguiente código utiliza PDFreactor para crear archivos PDF directamente a partir de una cadena HTML.
<script>
window.onload = async function() {
// Create new PDFreactor instance
var pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest");
// Create a new PDFreactor configuration object
var config = {
// Specify the input document
document: "http://www.pdfreactor.com/product/samples/textbook/textbook.html",
}
// Render document and save result
try {
var result = await pdfReactor.convert(config);
document.getElementById("result").src = "data:application/pdf;base64," + result.document;
} catch (error) {
if (error instanceof PDFreactor.PDFreactorWebserviceError) {
document.body.innerHTML = "<h1>An Error Has Occurred</h1><h2>" + error.message + "</h2>";
}
}
}
</script>
<script>
window.onload = async function() {
// Create new PDFreactor instance
var pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest");
// Create a new PDFreactor configuration object
var config = {
// Specify the input document
document: "http://www.pdfreactor.com/product/samples/textbook/textbook.html",
}
// Render document and save result
try {
var result = await pdfReactor.convert(config);
document.getElementById("result").src = "data:application/pdf;base64," + result.document;
} catch (error) {
if (error instanceof PDFreactor.PDFreactorWebserviceError) {
document.body.innerHTML = "<h1>An Error Has Occurred</h1><h2>" + error.message + "</h2>";
}
}
}
</script>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'(Of script) window.onload = async @function()
'{
' ' Create new PDFreactor instance
' var pdfReactor = New PDFreactor("https://cloud.pdfreactor.com/service/rest");
' ' Create a new PDFreactor configuration object
' var config = { document: "http://www.pdfreactor.com/product/samples/textbook/textbook.html"} try
' {
' var result = await pdfReactor.convert(config);
' document.getElementById("result").src = "data:application/pdf;base64," + result.document;
' }
' catch (@error)
' {
' if (@error instanceof PDFreactor.PDFreactorWebserviceError)
' {
' document.body.innerHTML = "<h1>An Error Has Occurred</h1><h2>" + @error.message + "</h2>";
' }
' }
' }
'INSTANT VB TODO TASK: The following line uses invalid syntax:
' </script>
El siguiente código crea archivos PDF a partir de una página ASPX.
El siguiente código utiliza IronPDF para crear un PDF a partir de un archivo ASPX.
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
Parece que PDFreactor no soporta la creación de PDFs a partir de páginas web ASPX.
Hojas de estilo en cascada (CSS) describe el aspecto y el formato de los archivos HTML. Utiliza selectores y propiedades para establecer el formato de toda una página web o sitio web en un lugar centralizado. CSS3 es el último estándar. CSS3 incluye:
Módulos incluidos:
Con IronPDF puedes elegir dónde quieres que se muestren los estilos CSS: Pantalla o Imprimir. Cuando se trata de la pantalla, hay que estar informado sobre la capacidad de respuesta. Para distinguir entre la pantalla o la impresora, podría utilizar la siguiente línea rápida de código:
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
//or
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
//or
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
El diseño web responsivo permite que las páginas y los sitios web se vean bien en todos los dispositivos. Las webs responsivas se ajustan automáticamente a los distintos tamaños de pantalla y viewports. Cuando se trabaja con diseño adaptable y frameworks como Bootstrap, IronPDF puede establecer las propiedades ViewPortWidth y ViewPortHeight para controlar mediante programación la ventana gráfica, y controlar qué versión del sitio adaptable se renderizará como PDF.
El siguiente código le permite establecer mediante programación el tamaño de su Viewport de respuesta con IronPDF.
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
//Choose screen or print CSS media
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
//Set the width of the responsive virtual browser window in pixels
Renderer.ViewPortWidth = 1280;
// Render an HTML document or snippet as a string
Renderer.RenderHTMLFileAsPdf("Assets/Responsive.html");
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
//Choose screen or print CSS media
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
//Set the width of the responsive virtual browser window in pixels
Renderer.ViewPortWidth = 1280;
// Render an HTML document or snippet as a string
Renderer.RenderHTMLFileAsPdf("Assets/Responsive.html");
Imports IronPdf
Private Renderer As New IronPdf.ChromePdfRenderer()
'Choose screen or print CSS media
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
'Set the width of the responsive virtual browser window in pixels
Renderer.ViewPortWidth = 1280
' Render an HTML document or snippet as a string
Renderer.RenderHTMLFileAsPdf("Assets/Responsive.html")
Otra gran función es la posibilidad de crear plantillas HTML a partir de las cuales trabajar y construir documentos PDF similares. He aquí un pequeño ejemplo:
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance);
Pdf.SaveAs(name + ".pdf");
}
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance);
Pdf.SaveAs(name + ".pdf");
}
Dim HtmlTemplate = "<p>[[NAME]]</p>"
Dim Names = { "John", "James", "Jenny" }
For Each name In Names
Dim HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name)
Dim Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance)
Pdf.SaveAs(name & ".pdf")
Next name
Como se indica en el Acuerdo de licencia del software PDFreactorUna licencia PDFreactor sólo puede utilizarse en una máquina física o virtual o en un contenedor de software aislado. Así, por cada máquina de producción, se requiere una licencia. Si va a utilizar PDFreactor con fines no comerciales, puede solicitar una licencia personal gratuita. aquí.
IronPDF es una aplicación Biblioteca PDF en C#. Es gratuito para el desarrollo, con pruebas de despliegue de 30 días disponibles enviando un correo electrónico al equipo de ingeniería a developers@ironpdf.com. Se pueden encontrar opciones de licencia asequibles explorando la Licencias IronPDF.
IronPDF es una biblioteca .NET compatible y orientada a la productividad que puede:
Conversión a PDF con firma digital
PDFreactor es un Conversor de HTML a PDF para uso privado, no comercial y no profesional.
IronPDF se ocupa del difícil problema de añadir la generación de PDF a su aplicación, y automatiza la conversión de documentos formateados en un PDF. Todos los productos son gratuitos para su desarrollo y prueba en IDE, sin restricciones de tiempo. y puede instalarse a través de NuGet. Convierte formularios web, páginas HTML locales y otras páginas web a PDF con .NET, y permite a los usuarios descargar documentos, enviarlos por correo electrónico o almacenarlos en la nube.
Mientras que PDFreactor es un potente procesador de formato que permite la conversión de PDF en el servidor a partir de documentos HTML 5 utilizando CSS para definir el diseño y los estilos de las páginas. Puede generar dinámicamente sobre la marcha documentos PDF como informes, facturas, extractos y otros. Al implementar la especificación W3C para medios paginados e impresión, PDFreactor proporciona un gran control sobre la salida paginada a través de CSS. Para utilizar PDFreactor en un entorno de producción, se requiere una licencia adecuada.
9 productos API .NET para sus documentos de oficina