IRONSOFTWAREHOME

HTML a PDF en C# .NET

Jacob Mellor, Director de Tecnología @ Team Iron
Jacob Mellor
Updated: 17 de septiembre de 2026

Como desarrolladores de IronPDF, sabemos lo importante que es para la conversión de HTML a PDF producir resultados precisos y de alta calidad que cumplan con las expectativas del cliente. Este tutorial de C# te guiará a través de la construcción de un convertidor de HTML a PDF para tus aplicaciones, proyectos y sitios web. Desarrollaremos un convertidor de HTML a PDF en C#, y los documentos PDF de salida de IronPDF serán idénticos a los PDFs generados por el navegador web Google Chrome.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copie y ejecute este fragmento de código.

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<p>Hello World</p>")
           .SaveAs("pixelperfect.pdf");
  3. 3Despliegue para probar en su entorno real

    Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Visión General


Convertidor de HTML a PDF para C# y VB.NET

Crear archivos PDF programáticamente en .NET puede ser una tarea frustrante. El formato de archivo de documento PDF fue diseñado más para impresoras que para desarrolladores. Y C# no tiene muchas bibliotecas o características adecuadas para la generación de PDF integradas, muchas bibliotecas necesitan configuración adicional, y causan más frustración cuando requieren múltiples líneas de código para lograr una tarea simple.

La herramienta de conversión de HTML a PDF en C# que usaremos en este tutorial es IronPDF de Iron Software, una biblioteca de generación y edición de PDF en C# altamente popular. Esta biblioteca tiene funcionalidad completa de edición y generación de PDF, funciona de inmediato, hace exactamente lo que necesitas con la menor cantidad de líneas, y tiene documentación sobresaliente de sus más de 50 características. IronPDF se destaca en que soporta .NET 10, .NET 9, .NET 8, .NET 7, .NET 6, y .NET 5, .NET Core, .NET Standard, y .NET Framework en Windows, macOS, Linux, Docker, Azure, y AWS.

Con C# e IronPDF, la lógica para "generar un documento PDF" o "conversión de HTML a PDF" es sencilla. Debido al avanzado Chrome Renderer de IronPDF, la mayoría o todo el diseño y la disposición del documento PDF utilizarán activos HTML existentes.

Este método de generación dinámica de PDF en .NET con HTML5 funciona igualmente bien en aplicaciones de consola, aplicaciones de Windows Forms, WPF, así como en sitios web y MVC.

IronPDF también soporta la depuración de tu HTML con Chrome para PDFs Perfectos en Píxeles. Un tutorial para configurar esto se puede encontrar aquí.

IronPDF está disponible en varios idiomas, tanto dentro como fuera del ecosistema .NET.

IronPDF es gratuito para desarrollo; se necesita una clave de licencia para desplegar en vivo y para eliminar la marca de agua de prueba. Puedes comprar una licencia aquí o registrarte para una clave de prueba gratuita de 30 días aquí.


Paso 1

Descargar e Instalar la Biblioteca de HTML a PDF en C#

Visual Studio - Administrador de Paquetes NuGet

En Visual Studio, haz clic derecho en tu explorador de soluciones del proyecto y selecciona "Administrar Paquetes NuGet...". Desde allí simplemente busca IronPDF e instala la última versión en tu solución... haz clic en OK en cualquier cuadro de diálogo que aparezca. Esto también funcionará igual de bien en proyectos de VB.NET.

PM > Install-Package IronPdf

IronPDF en el Sitio Web de NuGet

Para una descripción completa de las características, compatibilidad y descargas de IronPDF, por favor revisa IronPDF en el sitio web oficial de NuGet: https://www.nuget.org/packages/IronPdf

Instalación vía DLL

Otra opción es instalar el DLL de IronPDF directamente. IronPDF se puede descargar e instalar manualmente en el proyecto o GAC desde https://ironpdf.com/packages/IronPdf.zip


Tutoriales

Crear un PDF con una Cadena HTML en C# .NET

¿Cómo: Convertir una Cadena HTML a PDF? Es una habilidad muy eficiente y gratificante crear un nuevo archivo PDF en C#.

Podemos simplemente usar el método ChromePdfRenderer.RenderHtmlAsPdf para convertir cualquier cadena HTML (HTML5) en un PDF. La renderización de HTML a PDF en C# se realiza mediante una versión completamente funcional del motor Google Chromium que se incluye con el paquete NuGet de IronPDF.

using IronPdf;

// ChromePdfRenderer turns HTML into a PDF using IronPDF's embedded Chrome engine
var renderer = new ChromePdfRenderer();

// Render an HTML string. The result is a PdfDocument held in memory
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

// Write the PDF to disk
pdf.SaveAs("pixel-perfect.pdf");

RenderHtmlAsPdf soporta completamente HTML5, CSS3, JavaScript e imágenes. Si estos activos están en un disco duro, es posible que queramos establecer el segundo parámetro de RenderHtmlAsPdf en el directorio que contiene los activos. Este método devuelve un objeto PdfDocument, que es una clase utilizada para contener información de PDF.

IronPDF renderizará tu HTML exactamente como aparece en Chrome

Tenemos un tutorial completo dedicado a permitirte configurar Chrome para una depuración completa de HTML para asegurarte de que los cambios que ves allí al editar tu HTML, CSS y JavaScript sean exactamente iguales al PDF de salida de IronPDF cuando elijas renderizar. Por favor, encuentra el tutorial aquí: Cómo Depurar HTML en Chrome para Crear PDFs Perfectos en Píxeles.

Ruta URL base (el argumento BaseUrlOrPath):

using IronPdf;

var renderer = new ChromePdfRenderer();

// The second argument is the base path. Relative URLs in the HTML (the image
// below, but also stylesheets, scripts and fonts) are resolved against it.
var pdf = renderer.RenderHtmlAsPdf("<img src='image1.png'/>", @"C:\MyProject\Assets\");

pdf.SaveAs(@"C:\MyProject\Assets\output.pdf");

Todos los estilos CSS, imágenes y archivos JavaScript referenciados serán relativos a esa ruta base y pueden mantenerse en una estructura ordenada y lógica. También puedes, por supuesto, optar por referenciar imágenes, hojas de estilo y activos en línea, incluyendo fuentes web como Google Fonts e incluso jQuery.


Exportar un PDF Usando una URL Existente | URL a PDF

Renderizar URLs existentes como PDFs con C# es muy eficiente e intuitivo. Esto también permite a los equipos dividir el diseño de PDF y el trabajo de renderización de PDF en el back-end entre múltiples equipos.

Vamos a renderizar una página de Wikipedia.com en el siguiente ejemplo:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render a live web page straight from its URL
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");

// The PDF is written next to the executable
pdf.SaveAs("wikipedia.pdf");

Notarás que los hipervínculos e incluso los formularios HTML se conservan dentro del PDF generado por nuestro código C#.

Al renderizar páginas web existentes, tenemos algunos trucos que podemos desear aplicar:

CSS de Impresión y Pantalla

Los tipos de medios CSS permiten que una página lleve estilos separados para impresión y pantalla. Podemos instruir a IronPDF para que renderice el CSS de "Impresión", que a menudo es más simple. Por defecto, se renderizarán los estilos CSS de "Pantalla", que coinciden con lo que ves en el navegador.

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Choose which CSS media type the page is rendered with.
// Screen (the default) renders the page as a browser displays it;
// Print applies the page's @media print rules instead.

// renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

Artículo Principal: Comparación de HTML a PDF Perfecto en Píxeles.

JavaScript

IronPDF soporta JavaScript, jQuery e incluso AJAX. Podemos necesitar instruir a IronPDF para que espere a que JS o ajax terminen de ejecutarse antes de renderizar una instantánea de nuestra página web.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Let the page's JavaScript run before the snapshot is taken
renderer.RenderingOptions.EnableJavaScript = true;

// Give scripts and AJAX calls 500 milliseconds to finish before rendering.
// For event-driven pages, WaitFor.NetworkIdle() or WaitFor.JavaScript() wait
// for a signal instead of a fixed delay.
renderer.RenderingOptions.WaitFor.RenderDelay(500);

Podemos demostrar el soporte de JavaScript renderizando la página de documentación del diagrama de acordes de d3.js, cuyos gráficos son dibujados por JavaScript cuando la página se carga:

using IronPdf;

var renderer = new ChromePdfRenderer();

// The chart is drawn by JavaScript, so let it run and give it a moment to finish
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Render the d3.js chord-diagram documentation page, whose charts are drawn by JavaScript
var pdf = renderer.RenderUrlAsPdf("https://d3js.org/d3-chord");

pdf.SaveAs("chart.pdf");

CSS Responsivo

¡HTML a PDF usando CSS responsivo en .NET! Las páginas web responsivas están diseñadas para ser vistas en un navegador. IronPDF no abre una ventana de navegador real dentro del sistema operativo de tu servidor. Sin una ventana de visualización del navegador, los diseños responsivos pueden retroceder a su punto de interrupción más estrecho.

Recomendamos usar tipos de medios CSS de Impresión para navegar este problema. El CSS de impresión normalmente no debería ser responsivo.

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Responsive layouts are designed for a browser viewport, so render the page's
// print stylesheet instead of its screen stylesheet
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

Generar un PDF desde una Página HTML

También podemos renderizar cualquier página HTML a PDF en nuestro disco duro. Todos los activos relativos como CSS, imágenes y js se renderizarán como si el archivo se hubiera abierto usando el protocolo file://.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render an HTML file from disk. Relative CSS, image and script paths
// resolve against the file's own folder, as if opened with file://
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

pdf.SaveAs("Invoice.pdf");

Este método tiene la ventaja de permitir al desarrollador la oportunidad de probar el contenido HTML en un navegador durante el desarrollo. Recomendamos Chrome ya que es el navegador web en el que se basa el motor de renderización de IronPDF.

Para convertir XML a PDF puedes usar plantillas XSLT para imprimir tu contenido XML a PDF.


Agregar Encabezados y Pies de Página Personalizados

Los encabezados y pies de página se pueden agregar a los PDFs cuando se renderizan, o a archivos PDF existentes usando IronPDF.

Con IronPDF, los encabezados y pies de página pueden contener contenido simple basado en texto usando la clase TextHeaderFooter - o con imágenes y contenido HTML enriquecido usando la clase HtmlHeaderFooter.

using IronPdf;
using IronPdf.Rendering;

// Create a PDF from an existing HTML file with rendering options set up front
var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        // Margins are in millimeters
        MarginTop = 50,
        MarginBottom = 50,

        // Render the page's print stylesheet
        CssMediaType = PdfCssMediaType.Print,

        // Plain-text header: the document title, centered, above a divider line
        TextHeader = new TextHeaderFooter
        {
            CenterText = "{pdf-title}",
            DrawDividerLine = true,
            FontSize = 16
        },

        // Plain-text footer: date and time on the left, page numbers on the right
        TextFooter = new TextHeaderFooter
        {
            LeftText = "{date} {time}",
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true,
            FontSize = 14
        }
    }
};

var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

pdf.SaveAs("Invoice.pdf");

// Open the result in the default PDF viewer
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo
{
    FileName = "Invoice.pdf",
    UseShellExecute = true
});

Explora todas las opciones de renderización en el siguiente artículo de cómo hacer: Cómo Usar las Opciones de Renderización.

Encabezados y Pies de Página HTML

La clase HtmlHeaderFooter permite que se generen encabezados y pies de página enriquecidos usando contenido HTML5 que incluso puede incluir imágenes y hojas de estilo.

using IronPdf;

var renderer = new ChromePdfRenderer();

// An HTML footer can carry markup, styles and images.
// {page} and {total-pages} are filled in for every page.
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
};

Datos Dinámicos en Encabezados y Pies de Página de PDF

Podemos "fusionar" contenido en el texto e incluso HTML de encabezados y pies de página usando marcadores de posición como:

  • {page} para el número de página actual
  • {total-pages} para el total de páginas en el PDF
  • {url} para la URL del PDF renderizado si se renderizó desde una página web
  • {date} para la fecha de hoy
  • {time} para la hora actual
  • {html-title} para el <title> del documento HTML renderizado
  • {pdf-title} para el título del documento, que puede establecerse a través de ChromePdfRenderOptions

Configuración de Conversión de HTML a PDF en C#

Hay muchas sutilezas en cómo nuestros usuarios y clientes pueden esperar que se renderice el contenido PDF.
La clase ChromePdfRenderer contiene una propiedad RenderingOptions que se puede usar para establecer estas opciones.

Por ejemplo, podemos desear elegir aceptar solo directivas CSS3 de "print":

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Render the page's @media print CSS rather than its screen styles
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

renderer.RenderHtmlAsPdf("<html><body><h1>Hello, World!</h1></body></html>").SaveAs("Output.pdf");

También podemos desear cambiar el tamaño de nuestros márgenes de impresión para crear más espacio en blanco en la página, para hacer espacio para encabezados o pies de página grandes, o incluso establecer márgenes cero para la impresión comercial de folletos o carteles:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Page margins in millimeters. Larger margins leave room for headers and
// footers; set them to 0 for edge-to-edge brochures and posters.
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

Podemos desear activar o desactivar imágenes de fondo de elementos HTML:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Include CSS background colors and images in the PDF (set false to drop them)
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var pdf = renderer.RenderHtmlAsPdf("<h1 style='background:#eee'>Hello, PDF!</h1>");

pdf.SaveAs("output.pdf");

También es posible establecer que nuestros PDFs de salida se rendericen en cualquier tamaño de papel virtual, incluyendo tamaños de retrato y paisaje e incluso tamaños personalizados que pueden establecerse en milímetros o pulgadas.

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Standard paper sizes and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;

// Or a custom size, in millimeters or inches
// renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(210, 297);
// renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);

Explora todas las opciones de renderización en el siguiente artículo de cómo hacer: "Cómo Usar las Opciones de Renderización."


Mi biblioteca favorita de este tipo es IronPDF. Permite una manipulación rápida y eficiente de archivos PDF. También tiene muchas funciones valiosas, como exportar al formato PDF/A y firmar documentos PDF digitalmente.

Milan Jovanovic

Microsoft MVP

Ver estudio de caso

IronOCR significa que podemos ahorrar $40,000 anualmente en el procesamiento manual, mientras mejoramos la productividad y liberamos recursos para tareas de alto impacto. Lo recomendaría encarecidamente.

Brent Matzelle

Director de Tecnología, OPYN

Ver estudio de caso

El Iron Suite juega un papel crucial en nuestras operaciones. Estas son herramientas que aumentan la eficiencia en toda la empresa, incluyendo la creación de planos y la mejora en la gestión de inventario.

David Jones

Ingeniero de Software Principal, Agorus Build

Ver estudio de caso

Aplicar Plantillas HTML

Plantillar o "crear en lote" PDFs es un requisito común para desarrolladores de Internet y sitios web.

En lugar de plantillar un documento PDF en sí, con IronPDF podemos plantillar nuestro HTML usando tecnologías existentes y bien probadas. Cuando la plantilla HTML se combina con datos de una cadena de consulta o base de datos, terminamos con un documento PDF generado dinámicamente.

En el caso más simple, usar el método C# String.Format es efectivo para un ejemplo básico.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Insert a value into an HTML template with string.Format
string html = string.Format("<h1>Hello {0}!</h1>", "World");

var pdf = renderer.RenderHtmlAsPdf(html);

pdf.SaveAs("Hello.pdf");

Si el archivo HTML es más largo, a menudo podemos usar marcadores de posición arbitrarios como [[NAME]] y reemplazarlos con datos reales más tarde.

El siguiente ejemplo creará 3 PDFs, cada uno personalizado para un usuario.

using IronPdf;

var renderer = new ChromePdfRenderer();

// A template with a placeholder to replace
var htmlTemplate = "<p>[[NAME]]</p>";

var names = new[] { "John", "James", "Jenny" };

// One personalized PDF per name
foreach (var name in names)
{
    var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);

    var pdf = renderer.RenderHtmlAsPdf(htmlInstance);

    pdf.SaveAs(name + ".pdf");
}

Plantillado Avanzado Con Handlebars.NET

Un método sofisticado para fusionar datos de C# con HTML para la generación de PDF es usar el lenguaje de plantillas Handlebars.

Handlebars hace posible crear HTML dinámico a partir de objetos y instancias de clase de C#, incluyendo registros de base de datos. Handlebars es particularmente efectivo donde una consulta puede devolver un número desconocido de filas, como en la generación de una factura.

Primero debemos agregar un paquete NuGet adicional a nuestro proyecto: https://www.nuget.org/packages/Handlebars.NET/

using HandlebarsDotNet;

// A Handlebars template with two placeholders
var source =
    @"<div class=""entry"">
        <h1>{{title}}</h1>
        <div class=""body"">
            {{body}}
        </div>
    </div>";

// Compile it once, then fill it with any object that has matching properties
var template = Handlebars.Compile(source);

var data = new { title = "My new post", body = "This is my first post!" };

string html = template(data);

// html now contains:
//
// <div class="entry">
//   <h1>My new post</h1>
//   <div class="body">
//     This is my first post!
//   </div>
// </div>

Para renderizar este HTML podemos simplemente usar el método RenderHtmlAsPdf.

using HandlebarsDotNet;
using IronPdf;

// Fill the Handlebars template, then render the resulting HTML
var template = Handlebars.Compile("<h1>{{title}}</h1><p>{{body}}</p>");
string html = template(new { title = "My new post", body = "This is my first post!" });

var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderHtmlAsPdf(html);

pdf.SaveAs("Handlebars.pdf");

Puedes aprender más sobre el lenguaje de plantillas Handlebars y su implementación en C# desde GitHub.

Agregar Saltos de Página usando HTML5

Un requisito común en un documento PDF es la paginación. Los desarrolladores necesitan controlar dónde comienzan y terminan las páginas PDF para un diseño limpio y legible.

La forma más fácil de hacer esto es con un truco de CSS poco conocido que renderizará un salto de página en cualquier documento HTML impreso.

<div style='page-break-after: always;'>&nbsp;</div>
HTML

El HTML proporcionado funciona, pero difícilmente es una buena práctica. Aconsejamos ajustar el atributo de medios como el siguiente ejemplo. Una forma tan ordenada y limpia de organizar contenido HTML de varias páginas. Debido a que IronPDF renderiza con el tipo de medios screen por defecto, una hoja de estilo media="print" solo se aplica cuando RenderingOptions.CssMediaType se establece en PdfCssMediaType.Print (ver Configuración de Conversión arriba).

<!DOCTYPE html>
<html>
  <head>
    <style type="text/css" media="print">
      .page {
        page-break-after: always;
        page-break-inside: avoid;
      }
    </style>
  </head>
  <body>
    <div class="page">
      <h1>This is Page 1</h1>
    </div>
    <div class="page">
      <h1>This is Page 2</h1>
    </div>
    <div class="page">
      <h1>This is Page 3</h1>
    </div>
  </body>
</html>
HTML

El Cómo Hacer detalla más consejos y trucos con Saltos de Página.


Adjuntar una Página de Portada a un PDF

IronPDF facilita la fusión de documentos PDF. El uso más común de esta técnica es agregar una página de portada o una página final a un documento PDF renderizado existente.

Para hacerlo, primero renderizamos una página de portada y luego usamos el método estático PdfDocument.Merge() para combinar los dos documentos.

using IronPdf;

var renderer = new ChromePdfRenderer();

// The document body, rendered from a web page
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");

// Prepend an existing PDF as the cover page. Merge returns a new document.
var cover = PdfDocument.FromFile("CoverPage.pdf");
var pdfMerged = PdfDocument.Merge(cover, pdf);

pdfMerged.SaveAs("Combined.pdf");

Un ejemplo de código completo se puede encontrar aquí: Ejemplo de Código de Página de Portada de PDF.


Agregar una Marca de Agua

Una característica final de C# PDF que IronPDF soporta es agregar una marca de agua a los documentos. Esto se puede usar para agregar un aviso a cada página de que un documento es "confidencial" o una "muestra".

using IronPdf;
using IronPdf.Editing;

var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Stamp every page with a red "SAMPLE" in the middle, rotated 30 degrees at 50% opacity.
// The watermark is HTML, so any markup, styling or image can be used.
pdf.ApplyWatermark(
    "<h2 style='color:red; font-size:50px'>SAMPLE</h2>",
    rotation: 30,
    opacity: 50,
    verticalAlignment: VerticalAlignment.Middle,
    horizontalAlignment: HorizontalAlignment.Center);

pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");

Un ejemplo de código completo se puede encontrar aquí: Ejemplo de Código de Marca de Agua de PDF.


Descargar Código Fuente en C#

El código fuente gratuito del convertidor de HTML a PDF en C# completo para este tutorial está disponible para descargar como un archivo de proyecto de Visual Studio 2022 comprimido. Usará su motor de renderización para generar objetos de documentos PDF en C#.

Descarga este tutorial como un proyecto de Visual Studio

La descarga gratuita contiene todo lo que necesitas para crear un PDF desde HTML, incluyendo ejemplos de código de PDF en C# que funcionan para:

  1. Convertir una Cadena HTML a PDF usando C#
  2. Archivo HTML a PDF en C# (soportando CSS, JavaScript e imágenes)
  3. HTML a PDF en C# usando una URL ("URL a PDF")
  4. Ejemplos de edición y configuración de PDF en C#
  5. Renderización de gráficos de lienzo JavaScript como d3.js a un PDF
  6. La Biblioteca de PDF para C#

Referencia de Clase

Los desarrolladores también pueden estar interesados en la referencia de la Clase IronPdf.PdfDocument:

https://ironpdf.com/object-reference/api/IronPdf.PdfDocument.html

Este modelo de objeto muestra cómo los documentos PDF pueden ser:

  • Encriptados y protegidos con contraseña
  • Editados o 'sellados' con nuevo contenido HTML
  • Mejorados con imágenes de fondo y primer plano
  • Fusionados, unidos, truncados y empalmados a nivel de página o documento
  • Analizados para extraer texto plano e imágenes, o procesados con OCR con el paquete IronOCR

HTML a PDF en Blazor

Agregar funcionalidad de HTML a PDF a tu servidor Blazor es fácil, simplemente:

  1. Crea un nuevo proyecto de servidor Blazor o usa uno existente
  2. Agrega la biblioteca IronPDF a tu proyecto usando NuGet
  3. Agrega un nuevo Componente Razor o usa uno existente
  4. Agrega un InputTextArea y enlázalo a IronPDF
  5. Deja que IronPDF se encargue del resto y despliega

Para más información, continúa con la guía paso a paso completa para convertir HTML a PDF en aplicaciones Blazor.

PDF generado desde una página del Servidor Blazor con IronPDF

Comparar con Otras Bibliotecas de PDF

IronPDF es una biblioteca de PDF poderosa y completa diseñada para desarrolladores modernos de .NET. Con conversión nativa de HTML a PDF impulsada por un motor Chromium avanzado, una API intuitiva y actualizaciones regulares, simplifica el desarrollo mientras asegura resultados de alta calidad. Veamos más de cerca cómo se compara con otras herramientas:

PDFSharp

  • Características Principales: PDFsharp es una biblioteca de código abierto (MIT) para crear y editar documentos PDF en código administrado. No tiene motor de renderización HTML, por lo que convertir contenido web a PDF necesita un renderizador de terceros separado.
  • Estándares Modernos: IronPDF aprovecha las tecnologías web modernas, incluyendo HTML, CSS y JavaScript, a través de su motor basado en Chromium, asegurando que los PDFs mantengan un aspecto y sensación contemporáneos.
  • Soporte y Actualizaciones: PDFsharp es de código abierto y lanza una versión cada pocos meses, con soporte comercial vendido por separado por su mantenedor. IronPDF lanza actualizaciones mensuales y parches de seguridad, y cada licencia incluye soporte profesional de ingeniería, lo cual es importante para aplicaciones empresariales.

wkhtmltopdf

  • Facilidad de Integración: wkhtmltopdf es una herramienta de línea de comandos con una biblioteca C; no hay un paquete oficial de .NET, por lo que usarlo desde .NET significa lanzar el binario nativo (o llamarlo a través de un envoltorio de terceros como DinkToPdf) y enviar ese binario para cada plataforma a la que despliegues.
  • Tecnología de Renderización: wkhtmltopdf renderiza con QtWebKit, un fork de WebKit que Qt descontinuó en 2015 y eliminó en Qt 5.6, por lo que las características modernas de JavaScript y CSS no son compatibles, especialmente en sitios web dinámicos y ricos en contenido. El motor Chromium de IronPDF renderiza estándares web actuales.
  • Desarrollo Continuo: La última versión de wkhtmltopdf fue la 0.12.6 en junio de 2020 y su repositorio de GitHub fue archivado en enero de 2023, por lo que no hay soporte del proveedor. IronPDF continúa evolucionando con actualizaciones mensuales y servicio al cliente dedicado.

iTextSharp

  • Renderización de HTML a PDF: iText convierte HTML a través de su complemento separado pdfHTML, un motor de diseño CSS en lugar de un navegador, y la línea heredada iTextSharp 5 ahora solo recibe correcciones de seguridad. IronPDF renderiza HTML con un motor Chromium incrustado en el paquete principal, sin necesidad de complemento.
  • Experiencia del Desarrollador: La API de iText funciona a nivel de objetos PDF y elementos de diseño, lo cual es poderoso pero significa más código para tareas cotidianas. IronPDF ofrece una API C# limpia e intuitiva, simplificando la codificación y acelerando la entrega de proyectos.
  • Mantenimiento y Soporte: El uso gratuito de iText está bajo la AGPL, con soporte del proveedor reservado para licencias comerciales, y iTextSharp 5.x está en fin de vida aparte de las correcciones de seguridad. IronPDF incluye soporte profesional y actualizaciones mensuales con cada licencia.

Aspose.PDF

  • Calidad de Conversión: Aspose.PDF convierte HTML con su propio motor de diseño en lugar de un navegador. Su documentación convierte una página web primero obteniendo el HTML con HttpClient en un flujo y pasándolo a Document con HtmlLoadOptions, en lugar de renderizar directamente desde una URL. En nuestra prueba r/nfl a continuación, la salida fue casi vacía: el logo de la comunidad, un titular y algunas cajas vacías. El motor Chromium de IronPDF renderiza una URL directamente, incluido JavaScript.
  • Usabilidad de la API: La API de Aspose.PDF puede ser verbosa, mientras que IronPDF se enfoca en una experiencia amigable para el desarrollador que minimiza el tiempo de configuración y mejora la productividad.
  • Fidelidad de Salida: Debido a que IronPDF renderiza con Chromium, el PDF coincide con lo que Chrome muestra para el mismo HTML, lo que hace que el diseño y la depuración sean predecibles para la generación de PDF de alto volumen.

Syncfusion PDF

  • Complejidad de la API: Syncfusion PDF es una biblioteca capaz con una superficie de API más grande para aprender. IronPDF, por el contrario, proporciona una API sencilla para una integración rápida.
  • Motor de Renderización: El convertidor HTML de Syncfusion ahora usa el motor Chromium Blink; sus motores WebKit e Internet Explorer más antiguos fueron marcados como obsoletos en Essential Studio 2022 Volume 3. En nuestra prueba r/nfl a continuación, la salida de Syncfusion mantuvo el feed principal pero eliminó los paneles de navegación y comunidad, mientras que el motor Chromium de IronPDF renderizó toda la página.
  • Más Allá de la Conversión: El paquete de IronPDF también cubre firmas digitales, anotaciones, llenado de formularios y estampado de códigos de barras, por lo que la misma biblioteca maneja el resto del flujo de trabajo del documento.

Comparación de Renderización

Para comparar la calidad de conversión de HTML a PDF de estas bibliotecas, usamos una página de la comunidad de Reddit, r/nfl, que contiene contenido dinámico, actualizaciones en vivo, CSS moderno y elementos basados en JavaScript:

https://www.reddit.com/r/nfl/

Captura de pantalla de la página r/nfl de Reddit como se muestra en Chrome

Aquí están los resultados de una sola ejecución con la configuración predeterminada de cada biblioteca. Syncfusion y Aspose.PDF se ejecutaron como compilaciones de evaluación, por lo que su salida lleva marcas de agua de evaluación (haz clic en cada imagen para verla ampliada):

IronPDF

Salida de la conversión de IronPDF de la página r/nfl de Reddit de HTML a PDFPDF bien formateado y visualmente preciso, preservando contenido dinámico y estilo moderno.

SyncFusion

Salida de la conversión de Syncfusion de la página r/nfl de Reddit de HTML a PDFConvertido con una compilación de prueba. El feed principal, el contenido de las publicaciones y el estilo se mantuvieron en un diseño de columna única estrecha, pero se eliminaron la navegación izquierda y el panel de comunidad a la derecha.

Aspose.PDF

Salida de la conversión de Aspose.PDF de la página r/nfl de Reddit de HTML a PDFCompilación de evaluación; requirió descargar el HTML primero (Aspose.PDF carga HTML desde un flujo en lugar de una URL). La salida fue casi vacía: el logo de la comunidad, un titular y algunas cajas vacías.

Wkhtmltopdf

Salida de la conversión de wkhtmltopdf de la página r/nfl de Reddit de HTML a PDFwkhtmltopdf completó la conversión, pero el resultado es el texto y las imágenes de la página sin ninguno de sus diseños, estilos, elementos dinámicos o interactividad. Esto hace que wkhtmltopdf no sea adecuado para páginas web modernas y dinámicas.
Por favor nota: PDFsharp no tiene motor de renderización HTML, e iText convierte HTML solo a través de su complemento separado pdfHTML, por lo que ninguno fue incluido en esta prueba de renderización de navegador.

Conclusión

Para los desarrolladores de .NET que buscan una solución PDF moderna y confiable, IronPDF es una opción sólida. Su conversión de HTML a PDF basada en Chromium, facilidad de uso, actualizaciones regulares y amplio conjunto de características lo convierten en una opción destacada. Ya sea que estés trabajando en un proyecto pequeño o en una aplicación empresarial a gran escala, IronPDF mejora la productividad mientras evita los riesgos asociados con bibliotecas obsoletas o no soportadas. Diseñado para aplicaciones comerciales, IronPDF mantiene tus proyectos en una biblioteca mantenida y soportada.

En nuestra prueba con una página web dinámica del mundo real, IronPDF produjo la renderización más completa y precisa. Syncfusion eliminó los paneles de navegación y comunidad. Aspose.PDF requirió descargar el HTML primero y aún así casi no renderizó la página. wkhtmltopdf produjo el texto y las imágenes sin el estilo de la página, una mala opción para sitios modernos.

Para flujos de trabajo modernos de HTML a PDF, esa combinación de precisión de renderización y una API pequeña y legible es lo que distingue a IronPDF.

Experimenta la suite completa de características de IronPDF que convierte HTML dinámico y con CSS pesado a PDF con facilidad. Pruébalo ahora con nuestra prueba gratuita.


Ver Video Tutorial de HTML a PDF en C#

Con el documento PDF, puedes visitar el siguiente enlace para aprender cómo configurar Chrome para abrir PDFs en el navegador en lugar de descargarlos.

Primer Paso:
arrow pointer

Preguntas Frecuentes

¿Cómo convierto HTML a PDF usando IronPDF en C#?

Para convertir HTML a PDF usando IronPDF, necesitas inicializar el ChromePdfRenderer, renderizar el contenido HTML como un PDF usando el método RenderHtmlAsPdf, y luego guardar el PDF en un archivo.

¿Cuáles son los requisitos del sistema para IronPDF?

IronPDF es compatible con .NET 10, .NET 9, .NET 8, .NET 7, .NET 6, .NET 5, .NET Core, .NET Standard y .NET Framework en Windows, macOS, Linux, Docker, Azure y AWS.

¿Puedo usar IronPDF con otros lenguajes de programación?

Sí, IronPDF se puede usar con múltiples lenguajes tanto dentro como fuera del ecosistema .NET, incluyendo F#, VB.NET, Python, Java y Node.js.

¿Cómo puedo agregar encabezados y pies de página personalizados a un PDF usando IronPDF?

Con IronPDF, puedes agregar encabezados y pies de página usando la clase TextHeaderFooter para contenido basado en texto o la clase HtmlHeaderFooter para contenido HTML enriquecido.

¿Es posible renderizar un PDF desde una URL existente con IronPDF?

Sí, puedes renderizar un PDF desde una URL existente usando el método RenderUrlAsPdf en IronPDF.

¿IronPDF soporta renderizado avanzado de CSS y JavaScript?

Sí, IronPDF soporta CSS3 y JavaScript avanzados, incluyendo jQuery y AJAX, proporcionando un renderizado preciso de diseños web modernos.

¿Puedo aplicar plantillas HTML para la creación masiva de PDFs en IronPDF?

Sí, puedes usar técnicas de plantillado en C#, incluyendo String.Format y Handlebars.NET, para generar PDFs dinámicamente con IronPDF.

¿Cómo se compara IronPDF con otras bibliotecas de PDF?

IronPDF renderiza HTML con un motor Chromium integrado, ofrece actualizaciones mensuales y tiene una API compacta en C#. El tutorial lo compara con PdfSharp, wkhtmltopdf, iTextSharp, Aspose.PDF y Syncfusion PDF, incluyendo una prueba de renderizado lado a lado de una página web dinámica.

¿Puedo agregar marcas de agua a PDFs con IronPDF?

Sí, IronPDF te permite agregar marcas de agua de texto o imagen a tus documentos PDF.

¿Hay una versión de prueba disponible para IronPDF?

Sí, puedes registrarte para una clave de prueba gratuita de 30 días para probar las características de IronPDF antes de comprar una licencia.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.

...
Leer más

¿Listo para empezar?

Nuget Downloads 21,062,892Versión:2026.9recién publicada

Obtén tu GRATIS

Clave de prueba de 30 días instantáneamente.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuenta
bullet_testPrueba en producción
sin marcas de agua
bullet_calendarProducto completamente
funcional por 30 días
bullet_supportSoporte técnico 24/5
durante la prueba
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999