Cómo utilizar las opciones de renderizado en IronPDF con C

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

Las opciones de representación 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 del 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#

  1. Instalación de IronPDF mediante el gestor de paquetes NuGet
  2. Cree una instancia ChromePdfRenderer
  3. Configure las opciones de renderizado a través de la propiedad RenderingOptions
  4. Convierta su contenido (HTML, Markdown, etc.) a PDF
  5. Guardar el documento PDF resultante
  1. Instala IronPDF con el Administrador de Paquetes NuGet

    PM > Install-Package IronPdf
  2. Copie y ejecute este fragmento de código.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { PrintHtmlBackgrounds = true, MarginTop = 0, MarginBottom = 0, CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print, HtmlHeader = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<div>My Header</div>" }, Language = "en-US", Timeout = 120000 } }
        .RenderHtmlStringAsPdf("<h1>Hello Options</h1>")
        .SaveAs("renderingOptions.pdf");
  3. Despliegue para probar en su entorno real

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

    arrow pointer

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 de IronPDF ofrece varias opciones de renderizado para personalizar la generación de PDF. Incluye PaperFit, un gestor que controla la disposición del contenido en las páginas PDF, ofreciendo diferentes estilos como diseños CSS3 responsivos o feed continuo. Cuando se trabaja con documentos complejos, es posible que sea necesario combinar o dividir los PDF después de aplicar las opciones de renderizado.


¿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 los márgenes como los encabezados, el contenido del encabezado respeta la configuración de los márgenes a menos que se anule mediante 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");
$vbLabelText   $csharpLabel

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");
$vbLabelText   $csharpLabel

¿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 un control preciso sobre los retrasos de renderización 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");
$vbLabelText   $csharpLabel

A continuación se muestra una tabla que ilustra las distintas opciones disponibles.

Class ChromePdfRenderer
Description Used to define PDF printout options, like paper size, DPI, headers, and footers
Properties / functions Type Description
CustomCookies Dictionar Custom cookies for the HTML render. Cookies do not persist between renders and must be set each time.
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 Use margin values from the main document when rendering headers and footers.
CreatePdfFormsFromHtml bool Turns all HTML form elements into editable PDF forms. Default value is true.
CssMediaType PdfCssMediaType Enables Media="screen" CSS Styles and StyleSheets. Default value is PdfCssMediaType.Screen.
CustomCssUrl string Allows a custom CSS style-sheet to be applied to HTML before rendering. May be a local file path or a remote URL. Only applicable when rendering HTML to PDF.
EnableJavaScript bool Enables JavaScript and JSON to be executed before the page is rendered. Ideal for printing from Ajax / Angular Applications. Default value is false.
EnableMathematicalLaTex bool Enables rendering of Mathematical LaTeX Elements.
Javascript string A custom JavaScript string to be executed after all HTML has loaded but before PDF rendering.
JavascriptMessageListener StringDelegate A method callback to be invoked whenever a browser JavaScript console message becomes available.
FirstPageNumber int First page number to be used in PDF Headers and Footers. Default value is 1.
TableOfContents TableOfContentsTypes Generates a table of contents at the location in the HTML document where an element is found with id "ironpdf-toc".
GrayScale bool Outputs a black-and-white PDF. Default value is false.
TextHeader ITextHeaderFooter Sets the footer content for every PDF page as text, supporting 'mail-merge' and automatically turning URLs into hyperlinks.
TextFooter
HtmlHeader HtmlHeaderFooter Sets the header content for every PDF page as HTML. Supports 'mail-merge'.
HtmlFooter
InputEncoding Encoding The input character encoding as a string. Default value is Encoding.UTF8.
MarginTop double Top PDF "paper" margin in millimeters. Set to zero for border-less and commercial printing applications. Default value is 25.
MarginRight double Right PDF "paper" margin in millimeters. Set to zero for border-less and commercial printing applications. Default value is 25.
MarginBottom double Bottom PDF "paper" margin in millimeters. Set to zero for border-less and commercial printing applications. Default value is 25.
MarginLeft double Left PDF "paper" margin in millimeters. Set to zero for border-less and commercial printing applications. Default value is 25.
PaperOrientation PdfPaperOrientation The PDF paper orientation, such as Portrait or Landscape. Default value is Portrait.
PaperSize PdfPaperSize Sets the paper size
SetCustomPaperSizeinCentimeters double Sets the paper size in centimeters.
SetCustomPaperSizeInInches Sets the paper size in inches.
SetCustomPaperSizeinMilimeters Sets the paper size in millimeters.
SetCustomPaperSizeinPixelsOrPoints Sets the paper size in screen pixels or printer points.
PrintHtmlBackgrounds Boolean Indicates whether to print background colors and images from HTML. Default value is true.
RequestContext RequestContexts Request context for this render, determining isolation of certain resources such as cookies.
Timeout Integer Render timeout in seconds. Default value is 60.
Title String PDF Document Name and Title metadata, useful for mail-merge and automatic file naming in the IronPdf MVC and Razor extensions.
ForcePaperSize Boolean Force page sizes to be exactly what is specified via IronPdf.ChromePdfRenderOptions.PaperSize by resizing the page after generating a PDF from HTML. Helps correct small errors in page size when rendering HTML to PDF.
WaitFor WaitFor A wrapper object that holds configuration for wait-for mechanism for users to wait for certain events before rendering. By default, it will wait for nothing.

¿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.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 17,803,474 | Versión: 2026.3 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.