Cómo utilizar las opciones de renderizado en IronPDF con C
Las opciones de renderizado en IronPDF personalizan la generación de PDF a través de la clase ChromePdfRenderer, controlando configuraciones como márgenes, encabezados, pies de página, tamaño de papel, ejecución de JavaScript y tipos de medios CSS para crear documentos PDF con formato preciso a partir de HTML, CSS y otras fuentes de contenido.
Inicio rápido: Aplicar opciones de renderizado en C#
- Instale IronPDF a través del Administrador de Paquetes NuGet
- Crea una instancia de
ChromePdfRenderer - Configura las opciones de renderizado a través de la propiedad
RenderingOptions - Renderice su contenido (HTML, Markdown, etc.) a PDF
- Guardar el documento PDF resultante
-
Instala IronPDF con el Administrador de Paquetes NuGet
PM > Install-Package IronPdf -
Copie y ejecute este fragmento de código.
new IronPdf.ChromePdfRenderer { RenderingOptions = { PrintHtmlBackgrounds = true, MarginTop = 0, MarginBottom = 0, CssMediaEscriba a = IronPdf.Rendering.PdfCssMediaEscriba a.Print, HtmlHeader = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<div>My Header</div>" }, Language = "en-US", Timeout = 120000 } } .RenderHtmlStringAsPdf("<h1>Hello Options</h1>") .SaveAs("renderingOptions.pdf"); -
Despliegue para probar en su entorno real
Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita
Las opciones de renderizado en la generación de PDF son ajustes que determinan cómo se crea, muestra e imprime un documento PDF. Estas opciones incluyen la representación de elementos de formulario, la activación de JavaScript, la generación de tablas de contenido, la adición de encabezados y pies de página, el ajuste de márgenes, la configuración del tamaño del papel, etc.
La clase ChromePdfRenderer en IronPDF proporciona varias opciones de renderizado para personalizar la generación de PDF. Incluye PaperFit, un gestor que controla el diseño del contenido en las páginas PDF, ofreciendo diferentes estilos como diseños CSS3 responsivos o de alimentación continua. Cuando se trabaja con documentos complejos, es posible que sea necesario combinar o dividir los PDF después de aplicar las opciones de renderizado.
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# para utilizar las opciones de renderizado
- Preparar los activos HTML o el archivo para la conversión a PDF
- Instanciar la clase ChromePdfRenderer
- Acceda a la propiedad RenderingOptions para configurar la configuración
- Representa el PDF en el formato deseado
¿Cómo se utilizan las opciones de renderizado en IronPDF?
Aunque muchas propiedades de las opciones de renderizado están diseñadas para la conversión de HTML a PDF, también funcionan con otros tipos de conversión de PDF. Vamos a convertir Markdown a PDF y a configurar el resultado mediante las opciones de conversión. Para conversiones de HTML en concreto, infórmese sobre la conversión de archivos HTML a PDF o la conversión de cadenas HTML a PDF.
¿Por qué debo configurar las opciones de renderizado?
La configuración de las opciones de renderizado garantiza que los PDF se generen con las especificaciones exactas: tamaños de papel personalizados, márgenes específicos, encabezados y pies de página o JavaScript activado para contenido dinámico. Este control es crucial a la hora de crear nuevos PDF para documentos o informes profesionales.
¿Qué ocurre cuando aplico varias opciones de renderizado?
Varias opciones de renderizado colaboran para crear el resultado final en PDF. Cada opción modifica un aspecto específico del renderizado, y IronPDF las aplica secuencialmente durante la conversión. Por ejemplo, al configurar tanto márgenes como encabezados, el contenido del encabezado respeta la configuración de márgenes a menos que se modifique utilizando la propiedad UseMarginsOnHeaderAndFooter.
:path=/static-assets/pdf/content-code-examples/how-to/rendering-options-render.cs
using IronPdf;
// Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
// to render HTML/CSS as a PDF document.
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure rendering options
// Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
// HTML fragment to add a header at the top of every page in the PDF.
HtmlFragment = "<h1>Header Content</h1>"
};
// Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150);
// Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0;
// Define a Markdown string that will be rendered as a PDF.
// Markdown text allows basic formatting like bold and italic styles.
string md = "This is some **bold** and *italic* text.";
// Render the Markdown string to a PDF document.
// The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md);
// Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf");
Imports IronPdf
' Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
' to render HTML/CSS as a PDF document.
Private renderer As New ChromePdfRenderer()
' Configure rendering options
' Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = True
' Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {.HtmlFragment = "<h1>Header Content</h1>"}
' Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150)
' Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0
' Define a Markdown string that will be rendered as a PDF.
' Markdown text allows basic formatting like bold and italic styles.
Dim md As String = "This is some **bold** and *italic* text."
' Render the Markdown string to a PDF document.
' The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
Dim pdf As PdfDocument = renderer.RenderMarkdownStringAsPdf(md)
' Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf")
Ejemplo de opciones de renderizado avanzadas
Este completo ejemplo demuestra la combinación de varias opciones de renderizado para la generación de documentos profesionales. Este enfoque resulta útil cuando es necesario añadir encabezados y pies de página o trabajar con tamaños de papel personalizados:
using IronPdf;
using IronPdf.Rendering;
// Create renderer with advanced options
var renderer = new ChromePdfRenderer();
// Configure paper and layout settings
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set margins for professional layout
renderer.RenderingOptions.MarginTop = 40; // mm
renderer.RenderingOptions.MarginBottom = 40; // mm
renderer.RenderingOptions.MarginLeft = 20; // mm
renderer.RenderingOptions.MarginRight = 20; // mm
// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 2000; // Wait 2 seconds for JS to execute
// Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
Height = 25,
HtmlFragment = @"<div style='text-align: center; padding: 10px;'>
<span>Document Title</span> - Page {page} of {total-pages}
</div>",
DrawDividerLine = true
};
// Add footer with timestamp
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
Height = 20,
HtmlFragment = @"<div style='text-align: center; font-size: 10px;'>
Generated on {date} at {time}
</div>"
};
// Render HTML content
string htmlContent = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; }
.content { padding: 20px; }
</style>
</head>
<body>
<div class='content'>
<h1>Professional Document</h1>
<p>This document demonstrates advanced rendering options.</p>
</div>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("professional-document.pdf");
using IronPdf;
using IronPdf.Rendering;
// Create renderer with advanced options
var renderer = new ChromePdfRenderer();
// Configure paper and layout settings
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set margins for professional layout
renderer.RenderingOptions.MarginTop = 40; // mm
renderer.RenderingOptions.MarginBottom = 40; // mm
renderer.RenderingOptions.MarginLeft = 20; // mm
renderer.RenderingOptions.MarginRight = 20; // mm
// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 2000; // Wait 2 seconds for JS to execute
// Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
Height = 25,
HtmlFragment = @"<div style='text-align: center; padding: 10px;'>
<span>Document Title</span> - Page {page} of {total-pages}
</div>",
DrawDividerLine = true
};
// Add footer with timestamp
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
Height = 20,
HtmlFragment = @"<div style='text-align: center; font-size: 10px;'>
Generated on {date} at {time}
</div>"
};
// Render HTML content
string htmlContent = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; }
.content { padding: 20px; }
</style>
</head>
<body>
<div class='content'>
<h1>Professional Document</h1>
<p>This document demonstrates advanced rendering options.</p>
</div>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("professional-document.pdf");
Imports IronPdf
Imports IronPdf.Rendering
' Create renderer with advanced options
Dim renderer = New ChromePdfRenderer()
' Configure paper and layout settings
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PrintHtmlBackgrounds = True
' Set margins for professional layout
renderer.RenderingOptions.MarginTop = 40 ' mm
renderer.RenderingOptions.MarginBottom = 40 ' mm
renderer.RenderingOptions.MarginLeft = 20 ' mm
renderer.RenderingOptions.MarginRight = 20 ' mm
' Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.RenderDelay = 2000 ' Wait 2 seconds for JS to execute
' Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
.Height = 25,
.HtmlFragment = "<div style='text-align: center; padding: 10px;'>
<span>Document Title</span> - Page {page} of {total-pages}
</div>",
.DrawDividerLine = True
}
' Add footer with timestamp
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
.Height = 20,
.HtmlFragment = "<div style='text-align: center; font-size: 10px;'>
Generated on {date} at {time}
</div>"
}
' Render HTML content
Dim htmlContent As String = "
<html>
<head>
<style>
body { font-family: Arial, sans-serif; }
.content { padding: 20px; }
</style>
</head>
<body>
<div class='content'>
<h1>Professional Document</h1>
<p>This document demonstrates advanced rendering options.</p>
</div>
</body>
</html>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("professional-document.pdf")
¿Cuáles son todas las opciones de renderizado disponibles?
Las opciones avanzadas definen los ajustes de renderizado de PDF, como márgenes, orientación del papel, tamaño del papel, etc. La comprensión de estas opciones ayuda cuando se necesita establecer márgenes personalizados o trabajar con diferentes configuraciones de ventana gráfica y niveles de zoom.
¿Cuáles son las opciones de renderizado más utilizadas?
Entre las opciones de renderización más utilizadas se incluyen la configuración de márgenes, la configuración del tamaño del papel, la configuración del encabezado/pie de página y la habilitación de JavaScript. Estas opciones cubren la mayoría de las necesidades de personalización de PDF. Para los contenidos basados en web, las opciones de representación de JavaScript garantizan que los elementos dinámicos se representen correctamente.
¿Cómo elegir las opciones de renderizado adecuadas?
Elija las opciones de representación en función de sus necesidades: utilice la configuración de márgenes para diseños de impresión, active JavaScript para contenidos web dinámicos, configure encabezados/pies de página para documentos profesionales y ajuste el tamaño del papel para formatos de salida específicos. Cuando trabaje con contenido web, tenga en cuenta los tipos de medios CSS para una representación óptima.
¿Cuándo debo utilizar las opciones avanzadas de renderizado?
Utilice las opciones avanzadas de renderizado para funciones especializadas como la inyección de CSS personalizada, el renderizado matemático LaTeX, la salida en escala de grises o cuando trabaje con aplicaciones web complejas que requieran un tiempo de ejecución de JavaScript específico. La clase WaitFor proporciona control preciso sobre los retrasos de renderizado en escenarios complejos.
Trabajo con elementos de formulario
Cuando el HTML contiene elementos de formulario, IronPDF los convierte automáticamente en formularios PDF interactivos:
using IronPdf;
var renderer = new ChromePdfRenderer();
// Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// HTML with form elements
string formHtml = @"
<html>
<body>
<form>
<label>Name: <input type='text' name='name' /></label><br>
<label>Email: <input type='email' name='email' /></label><br>
<label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
<button type='submit'>Submit</button>
</form>
</body>
</html>";
PdfDocument pdfWithForms = renderer.RenderHtmlAsPdf(formHtml);
pdfWithForms.SaveAs("interactive-form.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// HTML with form elements
string formHtml = @"
<html>
<body>
<form>
<label>Name: <input type='text' name='name' /></label><br>
<label>Email: <input type='email' name='email' /></label><br>
<label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
<button type='submit'>Submit</button>
</form>
</body>
</html>";
PdfDocument pdfWithForms = renderer.RenderHtmlAsPdf(formHtml);
pdfWithForms.SaveAs("interactive-form.pdf");
Imports IronPdf
Dim renderer = New ChromePdfRenderer()
' Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
' HTML with form elements
Dim formHtml As String = "
<html>
<body>
<form>
<label>Name: <input type='text' name='name' /></label><br>
<label>Email: <input type='email' name='email' /></label><br>
<label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
<button type='submit'>Submit</button>
</form>
</body>
</html>"
Dim pdfWithForms As PdfDocument = renderer.RenderHtmlAsPdf(formHtml)
pdfWithForms.SaveAs("interactive-form.pdf")
A continuación se muestra una tabla que ilustra las distintas opciones disponibles.
| Clase | ChromePdfRenderer | |
|---|---|---|
| Descripción | Se utiliza para definir las opciones de impresión de PDF, como el tamaño del papel, los PPP, los encabezados y los pies de página | |
| Propiedades / funciones | Escriba a | Descripción |
Cookies personalizados |
Dictionary |
Cookies personalizadas para el renderizado HTML. Las cookies no persisten entre renderizaciones y deben configurarse cada vez. |
PaperFit |
VirtualPaperLayoutManager |
A manager for setting up virtual paper layouts, controlling how content will be laid out on PDF "paper" pages. Includes options for Default Chrome Behavior, Zoomed, Responsive CSS3 Layouts, Scale-To-Page & Continuous Feed style PDF page setups. |
UseMarginsOnHeaderAndFooter |
UseMargins |
Utilice los valores de los márgenes del documento principal para los encabezados y pies de página. |
CreatePdfFormsFromHtml |
bool |
Convierte todos los elementos de formulario HTML en formularios PDF editables. El valor por defecto es true. |
CssMediaEscriba a |
PdfCssMediaEscriba a |
Habilita los estilos CSS y las hojas de estilo Media="screen". El valor por defecto es PdfCssMediaEscriba a.Screen. |
CustomCssUrl |
cadena |
Permite aplicar una hoja de estilo CSS personalizada a HTML antes de la renderización. Puede ser una ruta de archivo local o una URL remota. Sólo aplicable al convertir HTML a PDF. |
ActivarJavaScript |
bool |
Permite ejecutar JavaScript y JSON antes de renderizar la página. Ideal para imprimir desde aplicaciones Ajax / Angular. El valor por defecto es false. |
ActivarLaTexturaMatemática |
bool |
Permite la representación de elementos matemáticos LaTeX. |
JavaScript |
cadena |
Una cadena JavaScript personalizada que se ejecutará después de que se haya cargado todo el HTML pero antes de la renderización del PDF. |
JavaScriptMessageListener |
StringDelegate |
Un método de devolución de llamada que se invocará cada vez que un mensaje de la consola JavaScript del navegador esté disponible. |
NúmeroDePágina |
int |
Primer número de página que se utilizará en los encabezados y pies de página del PDF. El valor predeterminado es 1. |
Tabla de contenidos |
TableOfContentsEscriba as |
Genera una tabla de contenidos en la ubicación dentro del documento HTML donde se encuentra un elemento con id 'IronPDF-toc'. |
GrayScale |
bool |
Genera un PDF en blanco y negro. El valor por defecto es false. |
Encabezado de texto |
ITextHeaderFooter |
Establece el contenido del pie de página de cada página PDF como texto, admite la combinación de correspondencia y convierte automáticamente las URL en hipervínculos. |
Pie de texto |
||
HtmlHeader |
HtmlHeaderFooter |
Establece el contenido de la cabecera de cada página PDF como HTML. Admite 'mail-merge'. |
Pie de página HTML |
||
InputEncoding |
Codificación |
La codificación de caracteres de entrada como cadena. El valor por defecto es Encoding.UTF8. |
MarginTop |
doble |
Margen "papel" superior del PDF en milímetros. Póngalo a cero para aplicaciones sin bordes y de impresión comercial. El valor por defecto es 25. |
MargenDerecho |
doble |
Margen "papel" derecho del PDF en milímetros. Póngalo a cero para aplicaciones sin bordes y de impresión comercial. El valor predeterminado es 25. |
MargenInferior |
doble |
Margen "papel" inferior del PDF en milímetros. Póngalo a cero para aplicaciones sin bordes y de impresión comercial. El valor predeterminado es 25. |
MargenIzquierdo |
doble |
Margen "papel" izquierdo del PDF en milímetros. Póngalo a cero para aplicaciones sin bordes y de impresión comercial. El valor predeterminado es 25. |
Orientación del documento |
Orientación del documento pdf |
La orientación del papel PDF, como Vertical u Horizontal. El valor predeterminado es Vertical. |
TamañoDePapel |
TamañoDelPapel |
Establece el tamaño del papel |
SetCustomPaperSizeinCentimeters |
doble |
Establece el tamaño del papel en centímetros. |
SetCustomPaperSizeInInches |
Establece el tamaño del papel en pulgadas. | |
SetCustomPaperSizeinMilimeters |
Establece el tamaño del papel en milímetros. | |
SetCustomPaperSizeinPixelsOrPoints |
Establece el tamaño del papel en píxeles de pantalla o puntos de impresora. | |
PrintHtmlBackgrounds |
Boolean |
Indica si se deben imprimir colores e imágenes de fondo desde HTML. El valor por defecto es true. |
RequestContext |
Contextos de solicitud |
Solicite contexto para este render, determinando el aislamiento de ciertos recursos como las cookies. |
Tiempo de espera |
Integer |
Tiempo de espera en segundos. El valor por defecto es 60. |
Título |
Cadena |
Metadatos de Nombre y Título del Documento PDF, útiles para combinación de correspondencia y nombramiento automático de archivos en las extensiones de IronPDF MVC y Razor. |
ForcePaperSize |
Boolean |
Obliga a que el tamaño de las páginas sea exactamente el especificado mediante IronPdf.ChromePdfRenderOptions.PaperSize al cambiar el tamaño de la página después de generar un PDF a partir de HTML. Ayuda a corregir pequeños errores en el tamaño de la página al convertir HTML a PDF. |
Esperar |
Esperar |
Un objeto envoltorio que contiene la configuración del mecanismo wait-for para que los usuarios esperen determinados eventos antes de la renderización. Por defecto, no esperará nada. |
¿Listo para explorar más capacidades? Visita nuestra página de tutoriales: Convertir PDF
Preguntas Frecuentes
¿Cuáles son las opciones de renderizado en la generación de PDF?
Las opciones de renderizado en IronPDF son configuraciones que controlan cómo se crean, muestran e imprimen los documentos PDF a través de la clase ChromePdfRenderer. Incluyen configuraciones para márgenes, encabezados, pies de página, tamaño del papel, ejecución de JavaScript, tipos de medios CSS, elementos de formulario y tablas de contenido, lo que permite una personalización precisa de la salida PDF desde HTML, CSS y otras fuentes de contenido.
¿Cómo se aplican las opciones de representación a un PDF?
Para aplicar las opciones de renderizado en IronPDF: 1) Instale IronPDF a través de NuGet, 2) Cree una instancia de ChromePdfRenderer, 3) Configure los ajustes a través de la propiedad RenderingOptions, 4) Renderice su contenido (HTML, Markdown, etc.) a PDF, y 5) Guarde el PDF resultante. Puede configurar varias opciones en una sola línea, como márgenes, tipo de medio CSS, encabezados y valores de tiempo de espera.
¿Puedo utilizar las opciones de renderizado con contenido que no sea HTML?
Sí, aunque muchas propiedades de las opciones de renderizado están diseñadas para la conversión de HTML a PDF, también funcionan con otros tipos de conversión de PDF en IronPDF. Puede aplicar opciones de renderizado al convertir Markdown a PDF u otros formatos compatibles, lo que le proporciona el mismo nivel de control sobre el resultado final en PDF, independientemente del tipo de contenido de origen.
¿Qué es PaperFit y cómo funciona?
PaperFit es un gestor dentro de la clase ChromePdfRenderer de IronPDF que controla el diseño del contenido en las páginas PDF. Ofrece diferentes estilos de renderizado, incluidos diseños CSS3 con capacidad de respuesta u opciones de alimentación continua, lo que ayuda a garantizar que el contenido se ajuste correctamente a las páginas PDF según sus requisitos específicos.
¿Por qué debo configurar las opciones de representación de mis PDF?
La configuración de las opciones de renderizado en IronPDF garantiza que sus PDF se generen con las especificaciones exactas necesarias para documentos profesionales. Esto incluye tamaños de papel personalizados, márgenes específicos, encabezados y pies de página, o JavaScript habilitado para contenido dinámico. Este nivel de control es crucial a la hora de crear informes, facturas o cualquier documento que requiera un formato preciso.

