Cómo renderizar una cadena HTML en PDF en C# | IronPDF

Cómo convertir una cadena HTML a PDF en C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF convierte cadenas HTML en documentos PDF en C# utilizando un motor de renderizado de Chrome, compatible con todo el contenido HTML5, CSS3 y JavaScript con una sola línea de código para conversiones básicas. La biblioteca ofrece potentes funciones para crear PDF manteniendo una fidelidad de renderizado perfecta.

IronPDF permite a los desarrolladores crear documentos PDF fácilmente en C#, F# y VB.NET para .NET Core y .NET Framework. IronPDF permite convertir cualquier cadena HTML en un PDF, y el proceso de conversión utiliza una versión totalmente funcional del motor Google Chromium. Esto garantiza que el contenido HTML aparezca exactamente como lo haría en un navegador web moderno, lo que lo hace ideal para generar informes, facturas y documentos a partir de contenido HTML dinámico.

Inicio Rápido: Convertir Cadena HTML a PDF en Segundos

Transforme cadenas HTML en archivos PDF con IronPDF. Esta guía muestra cómo convertir una cadena HTML en un documento PDF en C# con un código mínimo. Perfecto para desarrolladores que necesiten integrar funciones de renderizado de PDF en sus proyectos.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronPDF con el gestor de paquetes NuGet

    PM > Install-Package IronPdf

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

    IronPdf.ChromePdfRender.StaticRenderHtmlAsPdf("<p>Hello World</p>").SaveAs("string-to-pdf.pdf");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronPDF en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer


¿Cómo convierto una cadena HTML simple a PDF?

He aquí un ejemplo de IronPDF convirtiendo una cadena HTML en un PDF utilizando el método RenderHtmlAsPdf. El parámetro es una cadena HTML que se va a renderizar como PDF. Este método forma parte de la clase ChromePdfRenderer, que proporciona un amplio control sobre las opciones de renderizado para sus necesidades de generación de PDF.

:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf.cs
using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
$vbLabelText   $csharpLabel

El método RenderHtmlAsPdf devuelve un objeto PdfDocument, que es una clase utilizada para contener información PDF. Este objeto proporciona numerosos métodos para manipular el PDF, incluyendo mezclar PDFs, añadir marcas de agua, y establecer opciones de seguridad.

Cuando se obtiene una cadena HTML de una fuente externa y es necesario deshabilitar el acceso al disco local o las solicitudes de origen cruzado, establezca la propiedad ChromePdfRenderer.EnableWebSecurity en true.

Para contenido HTML complejo que incluya estilos CSS, mejore sus cadenas HTML con estilos en línea o haga referencia a hojas de estilo externas mediante la función Base URLs & Asset Encoding:

// Example with inline CSS
var styledHtml = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; border-bottom: 2px solid #0066cc; }
        p { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Professional Report</h1>
    <p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";

var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
// Example with inline CSS
var styledHtml = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; border-bottom: 2px solid #0066cc; }
        p { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Professional Report</h1>
    <p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";

var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
$vbLabelText   $csharpLabel

¿Qué aspecto tiene el PDF generado?

Este es el archivo que produjo el código:

El PDF generado mantiene el formato y el estilo exactos del HTML, por lo que es perfecto para generar informes en PDF o convertir contenido web en documentos listos para imprimir.

¿Cómo puedo incluir recursos externos al convertir HTML a PDF?

Este ejemplo muestra IronPDF cargando una imagen externa desde una BasePath opcional. Configurar la propiedad BaseUrlOrPath proporciona la ruta de archivo relativa o el contexto URL para hipervínculos, imágenes, archivos CSS y JavaScript. Esta función es esencial cuando se trabaja con imágenes en PDF o cuando se necesita hacer referencia a recursos externos.

:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf-2.cs
using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
$vbLabelText   $csharpLabel

Para situaciones avanzadas que impliquen diseños complejos o contenido dinámico, utilice la compatibilidad de IronPDF con representación de JavaScript:

// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
    <script>
        window.onload = function() {
            document.getElementById('dynamic').innerHTML = 
                'Generated on: ' + new Date().toLocaleString();
        };
    </script>
</head>
<body>
    <h1>Dynamic Content Example</h1>
    <div id='dynamic'></div>
</body>
</html>";

// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
    <script>
        window.onload = function() {
            document.getElementById('dynamic').innerHTML = 
                'Generated on: ' + new Date().toLocaleString();
        };
    </script>
</head>
<body>
    <h1>Dynamic Content Example</h1>
    <div id='dynamic'></div>
</body>
</html>";

// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
$vbLabelText   $csharpLabel

Al trabajar con activos externos, es posible que tenga que gestionar la autenticación o cabeceras especiales. IronPDF soporta esto a través de la funcionalidad HTTP Request Header, permitiéndole incluir tokens de autorización o cabeceras personalizadas cuando obtiene recursos.

¿Por qué es importante establecer BasePath para los recursos externos?

Este es el archivo que produjo el código:

Configurar correctamente el BasePath garantiza que todas las referencias relativas de su HTML se resuelvan correctamente. Sin ella, IronPDF no puede localizar recursos externos como imágenes, hojas de estilo o secuencias de comandos. Esto es especialmente importante cuando:

  1. Conversión de HTML que hace referencia a recursos del sistema de archivos local
  2. Trabajar con sistemas de gestión de contenidos que utilicen URL relativas
  3. Migración de contenido web existente a formato PDF
  4. Creación de plantillas que utilizan activos compartidos

Para los recursos basados en web, utilice una URL completa como ruta base:

// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
    "<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>", 
    "https://mywebsite.com"
);
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
    "<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>", 
    "https://mywebsite.com"
);
$vbLabelText   $csharpLabel

Para obtener un control adicional sobre el proceso de generación de PDF, explore la amplia documentación de IronPDF sobre margenes personalizados, orientación de la página y compresión de PDF para optimizar sus archivos de salida para diversos casos de uso.

Preguntas Frecuentes

¿Cómo convierto una simple cadena HTML a PDF en C#?

Puede convertir una cadena HTML a PDF utilizando la clase ChromePdfRenderer de IronPDF con el método RenderHtmlAsPdf. Basta con instanciar el renderizador, pasar la cadena HTML al método y guardar el objeto PdfDocument resultante. IronPDF utiliza un motor de renderizado de Chrome para garantizar una fidelidad perfecta.

¿Qué motor de renderizado utiliza la conversión de HTML a PDF?

IronPDF utiliza una versión totalmente funcional del motor Google Chromium para la conversión de HTML a PDF. Esto garantiza que su contenido HTML, incluyendo HTML5, CSS3 y JavaScript, aparezca exactamente como lo haría en un navegador web moderno.

¿Puedo convertir HTML con estilo CSS a PDF?

Sí, IronPDF permite convertir HTML con estilos CSS a PDF. Puede utilizar estilos en línea directamente en su cadena HTML o hacer referencia a hojas de estilo externas utilizando la función Base URLs & Asset Encoding para garantizar la correcta representación del contenido con estilo.

¿Cuál es la forma más rápida de convertir HTML a PDF?

La forma más rápida es utilizar el método estático de IronPDF: IronPDF.ChromePdfRenderer.StaticRenderHtmlAsPdf("Tu HTML").SaveAs("output.pdf"). Esta única línea de código convierte tu cadena HTML y la guarda como un archivo PDF.

¿Cómo se gestionan los activos externos al convertir cadenas HTML?

IronPDF le permite configurar la ruta base para los activos externos en su PDF. Esto asegura que las imágenes, hojas de estilo y otros recursos referenciados en su HTML se carguen correctamente durante el proceso de conversión.

¿Puedo personalizar la salida PDF al convertir desde HTML?

Sí, IronPDF proporciona amplias RenderingOptions para ajustar con precisión su salida PDF. Puede controlar el tamaño de página, los márgenes, los encabezados, los pies de página y muchos otros aspectos del PDF generado a través de la clase ChromePdfRenderer.

¿Qué puedo hacer con el PDF generado después de la conversión?

El objeto PdfDocument de IronPDF proporciona numerosos métodos para la manipulación de PDF, incluida la fusión de PDF, la adición de marcas de agua, la configuración de opciones de seguridad y mucho más. El PDF convertido puede guardarse en el disco, transmitirse o procesarse según sea necesario.

¿Cómo se gestiona la seguridad al convertir HTML de fuentes externas?

Al convertir HTML de fuentes externas, IronPDF le permite establecer la propiedad EnableWebSecurity en true en el ChromePdfRenderer. Esto desactiva el acceso al disco local y las solicitudes de origen cruzado para mejorar la seguridad.

Regan Pun
Ingeniero de Software
Regan se graduó de la Universidad de Reading, con una licenciatura en Ingeniería Electrónica. Antes de unirse a Iron Software, sus roles anteriores lo tenían enfocado en tareas individuales; y lo que más disfruta en Iron Software es la variedad de trabajos que puede realizar, ya ...
Leer más
¿Listo para empezar?
Nuget Descargas 17,012,929 | Versión: 2025.12 recién lanzado