USO DE IRONPDF

C# Crear PDF (Tutorial de ejemplo de código)

Generar documentos PDF es un requisito común y crucial en el desarrollo moderno de C# .NET, ya sea para facturación, creación de informes detallados, archivado de contenido web o para asegurar el intercambio seguro de documentos. Los desarrolladores a menudo exploran varios métodos para generar PDFs en aplicaciones .NET, incluyendo el uso de bibliotecas conocidas como iTextSharp (ahora iText 7), PdfSharp, QuestPDF, o incluso aprovechando funcionalidades integradas de .NET para tareas más simples. Algunos también consideran la integración de APIs basadas en la nube de terceros o herramientas de línea de comandos como wkhtmltopdf.

Si bien existen estas diversas opciones, encontrar una biblioteca PDF de C# que equilibre perfectamente la facilidad de uso, características completas, capacidades avanzadas de renderizado y un rendimiento robusto es clave para un desarrollo eficiente. Es precisamente aquí donde IronPDF se distingue, ofreciendo una solución poderosa y notablemente intuitiva diseñada específicamente para desarrolladores de C#. Este tutorial lo guiará a través del proceso sencillo de cómo crear documentos PDF en C# .NET utilizando IronPDF, cubriendo todo desde la conversión básica de cadenas HTML hasta la representación de páginas web complejas. Si estás buscando crear archivos pdf de manera eficiente, estás en el lugar correcto.

IronPDF es una biblioteca PDF con todas las funciones para Java. Es una de varias bibliotecas de terceros disponibles que funcionan eficientemente en la creación, edición y procesamiento de documentos PDF, así como en la generación de archivos PDF editables a partir del contenido de otros tipos de archivos (HTML, PNG, RTF, etc.). Descubra más sobre IronPDF y bibliotecas PDF similares en el creciente catálogo de artículos de comparación de bibliotecas de terceros.

Eligiendo la Biblioteca PDF C# Adecuada: Opciones Gratis vs. Comerciales

Cuando se embarcan en un proyecto que requiere la generación de PDF en C#, los desarrolladores a menudo sopesan los pros y los contras de las bibliotecas gratuitas frente a las comerciales. Las bibliotecas gratuitas como PDFSharp o QuestPDF pueden ser excelentes puntos de partida para la creación básica de PDFs o cuando se opera con restricciones presupuestarias ajustadas. Sin embargo, pueden presentar limitaciones en cuanto a sus conjuntos de características, la complejidad involucrada en la implementación de funcionalidades avanzadas (como la renderización precisa de HTML a PDF) o la disponibilidad inmediata de soporte profesional dedicado.

Las bibliotecas comerciales como IronPDF, aunque requieren una licencia para entornos de producción, generalmente ofrecen una experiencia de desarrollo más fluida y eficiente. A menudo presumen de características más avanzadas, incluyendo la conversión a PDF de HTML, CSS y JavaScript con alta precisión, opciones de seguridad de documentos integrales y herramientas robustas para la manipulación de PDFs. Además, suelen venir con la garantía de soporte profesional y actualizaciones regulares. IronPDF defiende un enfoque amigable para los desarrolladores. Aunque es una biblioteca comercial diseñada para uso profesional, ofrece una licencia completamente gratuita para desarrollo y pruebas, además de un período de prueba para la evaluación de producción. Esto le permite explorar completamente sus capacidades antes de decidir si es la mejor opción para su proyecto que necesita crear documentos PDF con características avanzadas.

Get started creating PDFs now!

IronPdf.ChromePdfRenderer
       .StaticRenderHtmlAsPdf("<p>Hello Word</p>")
       .SaveAs("pixelperfect.pdf");
Instalación con NuGet
green arrow pointer

PM >  Install-Package IronPdf

Como HTML es un lenguaje de marcado, puede resultar difícil convertir el contenido de HTML a un PDF sin las etiquetas HTML. IronPDF ofrece características como crear PDF en C# a partir de HTML, debido a su facilidad de uso y características adicionales como el uso de JavaScript, CSS e imágenes.

Este artículo cubrirá en detalle la conversión de HTML a PDF en C#, proporcionada por IronPDF.

Ver el video tutorial


Escenarios comunes para la generación de PDF en aplicaciones C

Antes de sumergirnos en el código, consideremos por qué podrías necesitar crear PDF en C#:

  • Generación de facturas y recibos: Crear programáticamente facturas en PDF con C#. IronPDF facilita el uso de plantillas HTML para diseños profesionales.
  • Creación de informes dinámicos: Cuando tu aplicación C# necesita generar informes PDF complejos con datos, la renderización de HTML a PDF de IronPDF permite un estilo enriquecido y contenido dinámico.
  • Archivado de contenido web: Convierta páginas web dinámicas o contenido HTML en un formato PDF estandarizado para un almacenamiento confiable a largo plazo o cumplimiento utilizando la precisa representación de URL y HTML de IronPDF.
  • Compartición segura de documentos: Produzca PDFs con protección por contraseña, encriptación y permisos específicos para usuarios, características disponibles en IronPDF.
  • Generando entradas, vales o certificados: Cree documentos imprimibles con contenido único y generado dinámicamente. La capacidad de IronPDF para convertir HTML a PDF es perfecta para crear plantillas de dichos documentos.

    IronPDF ofrece soluciones efectivas para todos estos casos de uso y más.

1. Crear un nuevo proyecto en Visual Studio

Abra el software Visual Studio y vaya al menú Archivo. Seleccione Nuevo Proyecto y luego seleccione Aplicación de Consola. Este artículo utilizará una aplicación de consola para generar documentos PDF.

C# Crear PDF (Ejemplo de código tutorial), Figura 01: Crear un nuevo proyecto en Visual Studio

Crear un nuevo proyecto en Visual Studio

Introduzca el nombre del proyecto y seleccione la ruta en el cuadro de texto correspondiente. A continuación, haga clic en el botón Siguiente.

C# Crear PDF (Ejemplo de código Tutorial), Figura 02: Configurar este proyecto

Configurar este proyecto

Seleccione el .NET Framework requerido, luego haga clic en el botón Crear, como se muestra a continuación:

C# Crear PDF (Ejemplo de Código Tutorial), Figura 03: Selección de .NET Framework

Selección de .NET Framework

El proyecto de Visual Studio ahora generará la estructura para la aplicación seleccionada y, si has seleccionado la aplicación de consola, de Windows o web, se abrirá el archivo program.cs donde puedes ingresar el código y construir/ejecutar la aplicación.

El siguiente paso es añadir la biblioteca y probar el programa.

Uso del gestor de paquetes NuGet de Visual Studio

El software Visual Studio proporciona la opción NuGet Package Manager para instalar el paquete directamente en la solución. La siguiente captura de pantalla muestra cómo abrir el Gestor de paquetes NuGet.

Como se mencionó, IronPDF ofrece una licencia gratuita para desarrollo y pruebas.

C# Crear PDF (Ejemplo de código Guía), Figura 04: Navegar al Administrador de Paquetes NuGet

Navegar al Administrador de Paquetes NuGet

Proporciona el cuadro de búsqueda para mostrar la lista de bibliotecas de paquetes disponibles en el sitio web de NuGet. En el gestor de paquetes, busca la palabra clave "IronPDF", como se muestra en la siguiente captura de pantalla:

C# Crear PDF (Ejemplo de Código Tutorial), Figura 05: Instalar el paquete IronPdf desde el Administrador de Paquetes NuGet

Instale el paquete IronPdf desde el Administrador de paquetes NuGet

En la imagen anterior, seleccione la opción IronPDF de la lista de paquetes NuGet relacionados e instale el paquete para la solución.

Uso de la línea de comandos de Visual Studio

NuGet Instalación con NuGet

PM >  Install-Package IronPdf

Consulta IronPDF en NuGet para una instalación rápida. Con más de 10 millones de descargas, está transformando el desarrollo de PDF con C#. También puedes descargar el DLL o el instalador de Windows.

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

C# Crear PDF (Ejemplo de Código Tutorial), Figura 06: Navegar a la Consola del Administrador de Paquetes

Navegar a Consola del Administrador de Paquetes

Introduzca la siguiente línea en la pestaña Consola del gestor de paquetes:

Install-Package IronPdf
Install-Package IronPdf
SHELL

2. Crear un PDF a partir de HTML utilizando RenderHtmlAsPdf()

Con IronPDF instalado, una de las tareas más fundamentales es crear un PDF desde una cadena HTML en C#. Esto es extremadamente útil para generar contenido PDF dinámico directamente dentro de su aplicación. Puede utilizar el método RenderHtmlAsPdf() de IronPDF para esto. Este enfoque es ideal cuando necesitas producir rápidamente PDFs para cosas como notificaciones simples, confirmaciones o fragmentos pequeños generados dinámicamente.

using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New ChromePdfRenderer()
Dim doc As PdfDocument = renderer.RenderHtmlAsPdf("<h1>This is a heading</h1>")
doc.SaveAs("FirstPDFDocument.pdf")
$vbLabelText   $csharpLabel

En este fragmento, primero instanciamos ChromePdfRenderer. A continuación, llamamos a RenderHtmlAsPdf() con una cadena HTML básica. Finalmente, doc.SaveAs() guarda el PDF generado como 'FirstPDFDocument.pdf'. Este archivo contendrá la etiqueta H1 renderizada. Después de la ejecución de su proyecto C#, habrá un archivo llamado "FirstPDFDocument.pdf" en la carpeta bin de su proyecto, haga doble clic en dicho archivo, y el archivo PDF se abrirá en la pestaña del navegador. Crear archivos PDF en C# o crear archivos PDF convirtiendo HTML a PDF es sólo cuestión de unas pocas líneas de código utilizando IronPDF.

3. Crear un documento PDF desde una URL

Si tu objetivo es crear un PDF desde una página web existente usando C#, el método RenderUrlAsPdf() de IronPDF es lo que necesitas. Esto es útil para archivar contenido web, generar PDFs de artículos o capturar el estado de un sitio en vivo.

using IronPdf;
using System;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
pdf.SaveAs("url.pdf");
using IronPdf;
using System;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
pdf.SaveAs("url.pdf");
Imports IronPdf
Imports System

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

Aquí, RenderUrlAsPdf() toma una cadena de URL, obtiene el contenido, lo representa y produce un PdfDocument. La declaración using asegura que el PdfDocument se disponga correctamente. El archivo 'url.pdf' resultante será una versión PDF de la página web especificada. Este es el resultado del código anterior.

C# Crear PDF (Ejemplo de Código Tutorial), Figura 10: Salida del archivo PDF, renderizado desde una URL

Salida de archivo PDF, renderizado desde una URL

Otros ejemplos de conversión de sitios complejos populares a PDF.

Crear PDF con C# (Ejemplo de Código Tutorial), Figura 11: Otro ejemplo de representar un sitio web complejo

Otro ejemplo de renderización de un sitio web complejo

4. Renderizar ASP.NET MVC a PDF

Para crear documentos PDF en C# dentro de una aplicación ASP.NET MVC (usando .NET Framework), puedes renderizar un archivo o cadena HTML y luego devolverlo como un FileResult. Esto es útil para generar PDFs basados en la lógica y los datos del servidor, y luego entregarlos directamente al navegador del usuario.

using IronPdf;
using System.Web;
using System.Web.Mvc; // Required for ActionResult and EmptyResult

public class PdfController : Controller
{
    public ActionResult DownloadPdfFromHtmlFile()
    {
        IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
        var renderer = new IronPdf.ChromePdfRenderer();
        string htmlFilePath = HttpContext.Current.Server.MapPath("~/Project/MyHtmlDocument.html");
        using var pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath);

        var currentResponse = HttpContext.Current.Response;
        currentResponse.Clear();
        currentResponse.ContentType = "application/pdf";
        currentResponse.AddHeader("Content-Disposition", "attachment;filename=\"FileName.pdf\"");
        currentResponse.BinaryWrite(pdf.BinaryData);
        currentResponse.Flush();
        currentResponse.End();
        return new EmptyResult();
    }
}
using IronPdf;
using System.Web;
using System.Web.Mvc; // Required for ActionResult and EmptyResult

public class PdfController : Controller
{
    public ActionResult DownloadPdfFromHtmlFile()
    {
        IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
        var renderer = new IronPdf.ChromePdfRenderer();
        string htmlFilePath = HttpContext.Current.Server.MapPath("~/Project/MyHtmlDocument.html");
        using var pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath);

        var currentResponse = HttpContext.Current.Response;
        currentResponse.Clear();
        currentResponse.ContentType = "application/pdf";
        currentResponse.AddHeader("Content-Disposition", "attachment;filename=\"FileName.pdf\"");
        currentResponse.BinaryWrite(pdf.BinaryData);
        currentResponse.Flush();
        currentResponse.End();
        return new EmptyResult();
    }
}
Imports IronPdf
Imports System.Web
Imports System.Web.Mvc ' Required for ActionResult and EmptyResult

Public Class PdfController
	Inherits Controller

	Public Function DownloadPdfFromHtmlFile() As ActionResult
		IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
		Dim renderer = New IronPdf.ChromePdfRenderer()
		Dim htmlFilePath As String = HttpContext.Current.Server.MapPath("~/Project/MyHtmlDocument.html")
		Dim pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath)

		Dim currentResponse = HttpContext.Current.Response
		currentResponse.Clear()
		currentResponse.ContentType = "application/pdf"
		currentResponse.AddHeader("Content-Disposition", "attachment;filename=""FileName.pdf""")
		currentResponse.BinaryWrite(pdf.BinaryData)
		currentResponse.Flush()
		currentResponse.End()
		Return New EmptyResult()
	End Function
End Class
$vbLabelText   $csharpLabel

En esta acción del controlador MVC, RenderHtmlFileAsPdf convierte un archivo HTML especificado. Luego, se utiliza el objeto Response para enviar el PDF al cliente como una descarga. El EmptyResult se devuelve porque la respuesta se gestiona directamente.

5. Renderizar Vistas Razor a PDF

Para aplicaciones ASP.NET MVC, una tarea común es crear un PDF desde una vista Razor con C#. Esto le permite usar su lógica de vista y modelos existentes para generar HTML dinámico, que luego IronPDF convierte a PDF. El método auxiliar a continuación convierte una vista Razor en una cadena HTML.

using IronPdf;
using System.IO;
using System.Web.Mvc; // Required for ControllerContext, ViewEngines, etc.

public string RenderRazorViewToString(ControllerContext controllerContext, string viewName, object model)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    controllerContext.Controller.ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName);
        var viewContext = new ViewContext(controllerContext, viewResult.View, controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw);
        viewResult.View.Render(viewContext, sw);
        viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View);
        return sw.GetStringBuilder().ToString();
    }
}
using IronPdf;
using System.IO;
using System.Web.Mvc; // Required for ControllerContext, ViewEngines, etc.

public string RenderRazorViewToString(ControllerContext controllerContext, string viewName, object model)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    controllerContext.Controller.ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName);
        var viewContext = new ViewContext(controllerContext, viewResult.View, controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw);
        viewResult.View.Render(viewContext, sw);
        viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View);
        return sw.GetStringBuilder().ToString();
    }
}
Imports IronPdf
Imports System.IO
Imports System.Web.Mvc ' Required for ControllerContext, ViewEngines, etc.

Public Function RenderRazorViewToString(ByVal controllerContext As ControllerContext, ByVal viewName As String, ByVal model As Object) As String
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
	controllerContext.Controller.ViewData.Model = model
	Using sw = New StringWriter()
		Dim viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName)
		Dim viewContext As New ViewContext(controllerContext, viewResult.View, controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw)
		viewResult.View.Render(viewContext, sw)
		viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View)
		Return sw.GetStringBuilder().ToString()
	End Using
End Function
$vbLabelText   $csharpLabel

Este método toma el ControllerContext, el nombre de la vista y el modelo para renderizar la vista Razor en una cadena HTML. Esta cadena puede luego ser pasada al método RenderHtmlAsPdf() de IronPDF, recordando establecer un BaseUri si su vista Razor utiliza rutas relativas para los activos. Por favor, lea la documentación de la Guía de PDF de .NET MVC para aprender cómo renderizar una vista de MVC como un archivo PDF binario.

6. Convertir XML a PDF

Cuando necesitas en C# crear un PDF a partir de datos XML, un enfoque robusto es primero transformar el XML en HTML utilizando XSLT (Transformaciones de Hoja de Estilo Extensible). IronPDF puede convertir el HTML resultante a un PDF. Esto es útil para presentar datos XML estructurados en un formato legible por humanos.

using IronPdf;
using System.Xml;
using System.Xml.Xsl;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
string xsltContent = @"<xsl:stylesheet version='1.0' xmlns:xsl='[http://www.w3.org/1999/XSL/Transform](http://www.w3.org/1999/XSL/Transform)'>
                            <xsl:template match='/root'>
                                <html><body><h1>Items:</h1><ul><xsl:for-each select='item'><li><xsl:value-of select='.'/></li></xsl:for-each></ul></body></html>
                            </xsl:template>
                        </xsl:stylesheet>";
string xmlContent = "<root><item>Hello</item><item>World</item></root>";

XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(xsltContent))) {
    transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(xmlContent))) {
    transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
using IronPdf;
using System.Xml;
using System.Xml.Xsl;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
string xsltContent = @"<xsl:stylesheet version='1.0' xmlns:xsl='[http://www.w3.org/1999/XSL/Transform](http://www.w3.org/1999/XSL/Transform)'>
                            <xsl:template match='/root'>
                                <html><body><h1>Items:</h1><ul><xsl:for-each select='item'><li><xsl:value-of select='.'/></li></xsl:for-each></ul></body></html>
                            </xsl:template>
                        </xsl:stylesheet>";
string xmlContent = "<root><item>Hello</item><item>World</item></root>";

XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(xsltContent))) {
    transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(xmlContent))) {
    transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
Imports IronPdf
Imports System.Xml
Imports System.Xml.Xsl
Imports System.IO

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim xsltContent As String = "<xsl:stylesheet version='1.0' xmlns:xsl='[http://www.w3.org/1999/XSL/Transform](http://www.w3.org/1999/XSL/Transform)'>
                            <xsl:template match='/root'>
                                <html><body><h1>Items:</h1><ul><xsl:for-each select='item'><li><xsl:value-of select='.'/></li></xsl:for-each></ul></body></html>
                            </xsl:template>
                        </xsl:stylesheet>"
Dim xmlContent As String = "<root><item>Hello</item><item>World</item></root>"

Dim transform As New XslCompiledTransform()
Using reader As XmlReader = XmlReader.Create(New StringReader(xsltContent))
	transform.Load(reader)
End Using
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(xmlContent))
	transform.Transform(reader, Nothing, results)
End Using
Dim Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf")
$vbLabelText   $csharpLabel

Este fragmento de código define un XSLT para transformar XML en una lista HTML simple. XslCompiledTransform realiza la transformación, y la cadena HTML resultante se renderiza luego en 'Final.pdf' por IronPDF.

7. Generar informes PDF

Para C# crear informes PDF, especialmente aquellos con encabezados personalizados, pies de página y numeración de páginas, IronPDF es altamente efectivo. El flujo de trabajo típico es generar tus datos de informe como un documento HTML y luego usar IronPDF para convertir este HTML en un PDF bien formateado.

using IronPdf;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.FontFamily = "Arial";
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.FontFamily = "Helvetica";
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
File.WriteAllText("Report.html", "<html><body><h1>Sample Report Content</h1><p>This is a test report.</p></body></html>");
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
using IronPdf;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.FontFamily = "Arial";
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.FontFamily = "Helvetica";
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
File.WriteAllText("Report.html", "<html><body><h1>Sample Report Content</h1><p>This is a test report.</p></body></html>");
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
Imports IronPdf
Imports System.IO

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.FirstPageNumber = 1
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextHeader.FontFamily = "Arial"
Renderer.RenderingOptions.TextHeader.FontSize = 12
Renderer.RenderingOptions.TextFooter.DrawDividerLine = True
Renderer.RenderingOptions.TextFooter.FontFamily = "Helvetica"
Renderer.RenderingOptions.TextFooter.FontSize = 10
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
File.WriteAllText("Report.html", "<html><body><h1>Sample Report Content</h1><p>This is a test report.</p></body></html>")
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf")
$vbLabelText   $csharpLabel

Este ejemplo configura varias RenderingOptions para encabezados (mostrando la URL de origen) y pies de página (con fecha, hora y números de página). A continuación, convierte un archivo HTML llamado 'Report.html' en 'Report.pdf', completo con estas configuraciones.

C# Crear PDF (Ejemplo de Código Tutorial), Figura 12: CSharp Crear PDF

Ejemplo de salida de creación de PDF en CSharp

8. Trabajar con imágenes PDF y CSS

Cuando creas documentos PDF en C# a partir de HTML que incluye imágenes y archivos CSS externos, es crucial que IronPDF pueda localizar estos recursos. Esto se logra proporcionando un BaseUri a los métodos de renderización, lo que indica a IronPDF la ruta raíz para las URL relativas en tu HTML.

using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'><h1>Image Test</h1>",@"C:\site\assets\");
pdf.SaveAs("html-with-assets.pdf");

using var advancedPDF = renderer.RenderHtmlFileAsPdf("C:\\Assets\\TestInvoice1.html");
advancedPDF.SaveAs("Invoice.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'><h1>Image Test</h1>",@"C:\site\assets\");
pdf.SaveAs("html-with-assets.pdf");

using var advancedPDF = renderer.RenderHtmlFileAsPdf("C:\\Assets\\TestInvoice1.html");
advancedPDF.SaveAs("Invoice.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'><h1>Image Test</h1>","C:\site\assets\")
pdf.SaveAs("html-with-assets.pdf")

Dim advancedPDF = renderer.RenderHtmlFileAsPdf("C:\Assets\TestInvoice1.html")
advancedPDF.SaveAs("Invoice.pdf")
$vbLabelText   $csharpLabel

La primera parte muestra la representación de una cadena HTML con una imagen; el BaseUri (C:\site\assets) indica a IronPDF dónde encontrar icons/iron.png. La segunda parte renderiza un archivo HTML; si TestInvoice1.html utiliza rutas relativas para sus activos, se resolverán en relación con C:\Assets.

9. Convertir archivos ASPX a PDF

Para las aplicaciones heredadas de ASP.NET Web Forms, IronPDF ofrece una manera de crear PDF desde páginas .aspx directamente con C#. Esto requiere el paquete NuGet IronPdf.Extensions.ASPX y es específico para proyectos .NET Framework.

using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class SiteMaster : MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            IronPdf.AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class SiteMaster : MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            IronPdf.AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
Imports System
Imports System.Web.UI
Imports IronPdf

Namespace aspxtopdf
	Partial Public Class SiteMaster
		Inherits MasterPage

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
			IronPdf.AspxToPdf.RenderThisPageAsPdf()
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

En este evento Page_Load de una MasterPage de ASP.NET (o cualquier página .aspx), AspxToPdf.RenderThisPageAsPdf() convierte la salida renderizada de la página actual a un PDF. Esto a menudo es mejor colocarlo en un evento de clic de botón para evitar problemas con los postbacks.

C# Crear PDF (Ejemplo de Código Tutorial), Figura 13: CSharp Crear PDF

Ejemplo de salida de creación de PDF en CSharp

10. Ver archivo de ejemplo de HTML a PDF

Este ejemplo revisita la conversión de una URL en vivo a PDF, un requisito común cuando necesitas usar C# para crear archivos PDF de contenido web o compartir instantáneas de información en línea.

using IronPdf;
using System;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var uri = new Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/");
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
using IronPdf;
using System;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var uri = new Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/");
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
Imports IronPdf
Imports System
Imports System.IO

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim uri As New Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/")
Dim pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri)
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"))
$vbLabelText   $csharpLabel

Aquí, ChromePdfRenderer.StaticRenderUrlAsPdf() proporciona un método rápido y estático para convertir el contenido del Uri dado directamente en un PdfDocument, que luego se guarda. El archivo PDF se crea dentro de la carpeta Debug. Este es el resultado:

C# Crear PDF (Ejemplo de código tutorial), Figura 14: CSharp Crear PDF

Ejemplo de salida de creación de PDF en CSharp

La Guía de Inicio explica cómo instalar IronPDF a través de NuGet (para aquellos que no están familiarizados con el Administrador de Paquetes NuGet).

11. Generar archivo PDF en .NET

Este ejemplo ilustra aún más el uso de IronPDF en un contexto de formularios web de ASP.NET para crear archivos PDF, específicamente al renderizar la página actual como un PDF en respuesta a un clic de botón. Este es un escenario típico para generar versiones en PDF descargables de formularios web o informes.

using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            IronPdf.AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            IronPdf.AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
Imports System
Imports System.Web.UI
Imports IronPdf

Namespace aspxtopdf
	Partial Public Class _Default
		Inherits Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
		End Sub

		Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
			IronPdf.AspxToPdf.RenderThisPageAsPdf()
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Cuando se hace clic en Button1, AspxToPdf.RenderThisPageAsPdf() captura la salida renderizada de la página actual de ASP.NET y la transmite al navegador como un PDF. Recuerda que esto requiere el paquete NuGet IronPdf.Extensions.ASPX.

C# Crear PDF (Ejemplo de Código Tutorial), Figura 15: CSharp Crear PDF

Ejemplo de salida de creación de PDF en CSharp

Esto requiere que se instale IronPdf.Extensions.ASPX desde la página oficial de NuGet. No está disponible en .NET Core porque ASPX ha sido sustituido por el modelo MVC.

12. Generar documento PDF (Ejemplos más básicos)

Aquí tienes otro ejemplo rápido para crear un PDF a partir de una cadena HTML. Esto es útil para necesidades muy simples de generación de PDF donde el contenido HTML es mínimo o se construye sobre la marcha.

using IronPdf;

private void HTMLString()
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    var outputPath = "ChromePdfRenderer.pdf";
    pdf.SaveAs(outputPath);
}
using IronPdf;

private void HTMLString()
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    var outputPath = "ChromePdfRenderer.pdf";
    pdf.SaveAs(outputPath);
}
Imports IronPdf

Private Sub HTMLString()
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
	Dim renderer = New IronPdf.ChromePdfRenderer()
	Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
	Dim outputPath = "ChromePdfRenderer.pdf"
	pdf.SaveAs(outputPath)
End Sub
$vbLabelText   $csharpLabel

Este método privado demuestra cómo crear un PDF a partir de una simple etiqueta H1 y guardarlo.

El siguiente código muestra cómo crear un PDF desde una página ASPX directamente dentro del evento Page_Load. Si bien es posible, este enfoque debe usarse con precaución debido a posibles problemas con los eventos del ciclo de vida de la página y las devoluciones de datos. A menudo, activar la generación de PDF desde una acción específica del usuario (como un clic de botón) es más confiable.

using System;
using System.Web.UI;
using IronPdf;

protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
using System;
using System.Web.UI;
using IronPdf;

protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
Imports System
Imports System.Web.UI
Imports IronPdf

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
	IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
$vbLabelText   $csharpLabel

IronPDF soporta JavaScript bastante bien a través del motor de renderizado Chromium. Sin embargo, es posible que tenga que añadir un retardo al renderizado de una página para dar tiempo a que JavaScript se ejecute mientras se generan los PDF.

13. Biblioteca PDF Para .NET (Ejemplo de WinForms)

IronPDF se puede integrar fácilmente para crear un PDF en una aplicación de escritorio Windows Forms (WinForms). Este ejemplo muestra cómo tomar la entrada del usuario desde un TextBox y generar un PDF cuando se hace clic en un Button.

using IronPdf;
using System.Windows.Forms;
using System;
using System.ComponentModel;
using System.Drawing;

namespace ReadPdf
{
    public partial class Form1 : Form
    {
        private TextBox textBox1;
        private Button button1;
        private IContainer components = null;

        public Form1()
        {
            InitializeComponent();
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        private void InitializeComponent()
       {
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.button1 = new System.Windows.Forms.Button();
           this.SuspendLayout();

            this.textBox1.Location = new System.Drawing.Point(12, 12);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(260, 20);
            this.textBox1.TabIndex = 0;

            this.button1.Location = new System.Drawing.Point(12, 38);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(100, 23);
            this.button1.TabIndex = 1;
            this.button1.Text = "Create PDF";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);

            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(284, 73);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.textBox1);
            this.Name = "Form1";
            this.Text = "PDF Creator";
            this.ResumeLayout(false);
            this.PerformLayout();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            var renderer = new ChromePdfRenderer();
            string text = textBox1.Text;
            renderer.RenderHtmlAsPdf("<h1>"+ System.Net.WebUtility.HtmlEncode(text) +"</h1>").SaveAs("custom.pdf");
            MessageBox.Show("Done !");
        }
    }
}
using IronPdf;
using System.Windows.Forms;
using System;
using System.ComponentModel;
using System.Drawing;

namespace ReadPdf
{
    public partial class Form1 : Form
    {
        private TextBox textBox1;
        private Button button1;
        private IContainer components = null;

        public Form1()
        {
            InitializeComponent();
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        private void InitializeComponent()
       {
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.button1 = new System.Windows.Forms.Button();
           this.SuspendLayout();

            this.textBox1.Location = new System.Drawing.Point(12, 12);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(260, 20);
            this.textBox1.TabIndex = 0;

            this.button1.Location = new System.Drawing.Point(12, 38);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(100, 23);
            this.button1.TabIndex = 1;
            this.button1.Text = "Create PDF";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);

            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(284, 73);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.textBox1);
            this.Name = "Form1";
            this.Text = "PDF Creator";
            this.ResumeLayout(false);
            this.PerformLayout();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            var renderer = new ChromePdfRenderer();
            string text = textBox1.Text;
            renderer.RenderHtmlAsPdf("<h1>"+ System.Net.WebUtility.HtmlEncode(text) +"</h1>").SaveAs("custom.pdf");
            MessageBox.Show("Done !");
        }
    }
}
Imports IronPdf
Imports System.Windows.Forms
Imports System
Imports System.ComponentModel
Imports System.Drawing

Namespace ReadPdf
	Partial Public Class Form1
		Inherits Form

		Private textBox1 As TextBox
		Private WithEvents button1 As Button
		Private components As IContainer = Nothing

		Public Sub New()
			InitializeComponent()
		End Sub

		Protected Overrides Sub Dispose(ByVal disposing As Boolean)
			If disposing AndAlso (components IsNot Nothing) Then
				components.Dispose()
			End If
			MyBase.Dispose(disposing)
		End Sub

		Private Sub InitializeComponent()
			Me.textBox1 = New System.Windows.Forms.TextBox()
			Me.button1 = New System.Windows.Forms.Button()
		   Me.SuspendLayout()

			Me.textBox1.Location = New System.Drawing.Point(12, 12)
			Me.textBox1.Name = "textBox1"
			Me.textBox1.Size = New System.Drawing.Size(260, 20)
			Me.textBox1.TabIndex = 0

			Me.button1.Location = New System.Drawing.Point(12, 38)
			Me.button1.Name = "button1"
			Me.button1.Size = New System.Drawing.Size(100, 23)
			Me.button1.TabIndex = 1
			Me.button1.Text = "Create PDF"
			Me.button1.UseVisualStyleBackColor = True
'INSTANT VB NOTE: The following InitializeComponent event wireup was converted to a 'Handles' clause:
'ORIGINAL LINE: this.button1.Click += new System.EventHandler(this.button1_Click);

			Me.AutoScaleDimensions = New System.Drawing.SizeF(6F, 13F)
			Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
			Me.ClientSize = New System.Drawing.Size(284, 73)
			Me.Controls.Add(Me.button1)
			Me.Controls.Add(Me.textBox1)
			Me.Name = "Form1"
			Me.Text = "PDF Creator"
			Me.ResumeLayout(False)
			Me.PerformLayout()
		End Sub

		Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button1.Click
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
			Dim renderer = New ChromePdfRenderer()
'INSTANT VB NOTE: The variable text was renamed since Visual Basic does not handle local variables named the same as class members well:
			Dim text_Conflict As String = textBox1.Text
			renderer.RenderHtmlAsPdf("<h1>" & System.Net.WebUtility.HtmlEncode(text_Conflict) &"</h1>").SaveAs("custom.pdf")
			MessageBox.Show("Done !")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Este código de WinForms inicializa una interfaz de usuario simple con un TextBox y un Button. Al hacer clic en el botón, toma el texto de textBox1, lo envuelve en una etiqueta HTML H1 (asegurándose de codificar en HTML la entrada del usuario por seguridad), y lo renderiza en 'custom.pdf'.

14. Motor de Renderizado de PDF de Chrome

El motor de renderizado PDF de Chrome de IronPDF garantiza un renderizado PDF "idéntico a Chrome" de sus documentos PDF a partir de la fuente HTML original.

Algunas de las características de Chrome PDF Rendering Feature son:

  • 20% Renderizados más rápidos: Proporciona multithreading y Async sin esfuerzo, usando tantos núcleos de CPU como desees. Para aplicaciones SAAS y de alta carga, esto puede ser de 5 a 20 veces más rápido, superando el uso directo del navegador y los controladores web.
  • Soporte completo para la web: Soporte completo para JavaScript, diseño responsivo y CSS3.
  • Rigurosamente Probado: La versión pasó con 1156 pruebas de unidad e integración exitosas (y ninguna fallida), asegurando una estabilidad similar a la versión principal, mejorándola continuamente y de manera activa cada día.
  • Cumplimiento de Accesibilidad de la Sección 508: Produce PDFs accesibles utilizando el estándar de PDF etiquetado PDF(UA).
  • Azure como ciudadano de primera clase: Simplemente funciona.
  • Mantenimiento continuo y soporte completo mejorado para .NET 6, 5, Core y Framework 4.0+.

    Explore las funciones de soporte para multithreading y async del motor de renderizado de Chrome.

    He aquí un ejemplo:

using IronPdf;
using IronPdf.Rendering;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
using var doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>");
doc.SaveAs("google_chrome.pdf");
using IronPdf;
using IronPdf.Rendering;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
using var doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>");
doc.SaveAs("google_chrome.pdf");
Imports IronPdf
Imports IronPdf.Rendering

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Dim doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>")
doc.SaveAs("google_chrome.pdf")
$vbLabelText   $csharpLabel

¿Por qué elegir IronPDF para tus necesidades de PDF?

Si bien hay otras bibliotecas PDF disponibles, IronPDF ofrece varias ventajas convincentes para los desarrolladores centrados en la generación de PDF eficiente y de alta calidad:

  • Conversión perfecta de HTML a PDF: Mediante el uso de un motor de Chrome, IronPDF garantiza que al crear un PDF a partir de HTML, el resultado sea prácticamente idéntico a cómo aparece en un navegador web moderno, preservando el CSS complejo y JavaScript.
  • Facilidad de uso: Comience rápidamente con una API intuitiva y documentación completa, como se demuestra a lo largo de este tutorial. Tareas comunes como convertir cadenas HTML o URLs a PDF requieren un código mínimo.
  • Configuración e Integración Rápidas: Comience a crear PDFs en su proyecto en minutos con una instalación sencilla de NuGet y una API intuitiva, a diferencia de algunas bibliotecas que requieren una configuración más compleja.
  • Conjunto de características integrales: Más allá de la creación básica de PDF a partir de HTML, IronPDF admite una amplia gama de funcionalidades, incluidos encabezados/pies de página, llenado de formularios, firmas digitales, protección con contraseña, combinación de PDF y mucho más.
  • Rendimiento y Escalabilidad: Diseñado para aplicaciones modernas multihilo, IronPDF puede manejar tareas exigentes de generación de PDF y escala bien en entornos de servidor.
  • Excelente soporte y actualizaciones regulares: Benefíciese del soporte profesional y de una biblioteca que se mantiene y mejora activamente.

Preguntas Frecuentes (FAQ)

P: ¿Cuál es la forma más fácil de crear un PDF a partir de HTML en ?

Muchos desarrolladores consideran IronPDF una de las maneras más fáciles debido a su sencillo método RenderHtmlAsPdf y su sólido soporte para los estándares HTML. Puedes crear archivos PDF a partir de cadenas HTML o URL con solo unas pocas líneas de código.

P: ¿Es IronPDF una biblioteca PDF gratuita?

A: IronPDF ofrece una licencia gratuita para desarrollo y pruebas. Se requiere una licencia comercial para la implementación en producción. Ofrecen un período de prueba para evaluar todas las características.

P: ¿Puede IronPDF convertir páginas web complejas con JavaScript y CSS3?

A: Sí, IronPDF utiliza un motor moderno de Chromium, lo que proporciona un excelente soporte para HTML5, CSS3, JavaScript, diseños responsivos y otras tecnologías web para realizar un renderizado preciso al crear archivos PDF.

P: ¿Puede IronPDF manejar la generación de grandes archivos PDF?

Sí, IronPDF está diseñado para el rendimiento y puede crear documentos PDF de tamaño considerable de manera eficiente. Su motor de renderizado y las opciones para operaciones asincrónicas lo hacen adecuado para aplicaciones exigentes.

15. Resumen

¡Gracias por leer! Este completo tutorial le ha mostrado varias formas poderosas de crear documentos PDF utilizando IronPDF en .NET. Ya sea que necesite convertir HTML a PDF, renderizar URLs o generar informes complejos, IronPDF ofrece una solución intuitiva y robusta. Su facilidad de uso, junto con funciones avanzadas como soporte para JavaScript, CSS e imágenes, lo convierte en una opción ideal para los desarrolladores que buscan producir documentos PDF de alta calidad de manera eficiente.

¿Listo para simplificar su generación de PDF y tomar el control de sus flujos de trabajo de documentos?

Chipego
Ingeniero de software
Chipego tiene una habilidad natural para escuchar que le ayuda a comprender los problemas de los clientes y a ofrecer soluciones inteligentes. Se unió al equipo de Iron Software en 2023, después de estudiar una licenciatura en Tecnología de la Información. IronPDF e IronOCR son los dos productos en los que Chipego se ha centrado, pero su conocimiento de todos los productos crece día a día, a medida que encuentra nuevas formas de ayudar a los clientes. Disfruta de lo colaborativa que es la vida en Iron Software, con miembros del equipo de toda la empresa que aportan su variada experiencia para contribuir a soluciones eficaces e innovadoras. Cuando Chipego está lejos de su escritorio, a menudo se le puede encontrar disfrutando de un buen libro o jugando al fútbol.
< ANTERIOR
Biblioteca PDF .NET Core
SIGUIENTE >
x509certificate2 Añadir firma digital a PDF mediante programación