Como usar as opções de renderização no IronPDF com C

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

As opções de renderização no IronPDF personalizam a geração de PDFs por meio da classe ChromePdfRenderer, controlando configurações como margens, cabeçalhos, rodapés, tamanho do papel, execução de JavaScript e tipos de mídia CSS para criar documentos PDF formatados com precisão a partir de HTML, CSS e outras fontes de conteúdo.

Início rápido: Aplicar opções de renderização em C#

  1. Instale o IronPDF via Gerenciador de Pacotes NuGet
  2. Crie uma instância de ChromePdfRenderer
  3. Configure as opções de renderização através da propriedade RenderingOptions
  4. Renderize seu conteúdo (HTML, Markdown, etc.) para PDF
  5. Salve o documento PDF resultante.
  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronPdf
  2. Copie e execute este trecho de código.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { PrintHtmlBackgrounds = true, MarginTop = 0, MarginBottom = 0, CssMediaTipo = IronPdf.Rendering.PdfCssMediaTipo.Print, HtmlHeader = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<div>My Header</div>" }, Language = "en-US", Timeout = 120000 } }
        .RenderHtmlStringAsPdf("<h1>Hello Options</h1>")
        .SaveAs("renderingOptions.pdf");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita

    arrow pointer

As opções de renderização na geração de PDFs são configurações que determinam como um documento PDF é criado, exibido e impresso. Essas opções incluem renderizar elementos de formulário, habilitar JavaScript, gerar sumários, adicionar cabeçalhos e rodapés, ajustar margens, definir tamanhos de papel e muito mais.

A classe ChromePdfRenderer no IronPDF oferece diversas opções de renderização para personalizar a geração de PDFs. Inclui o PaperFit, um gerenciador que controla o layout do conteúdo em páginas PDF, oferecendo diferentes estilos, como layouts CSS3 responsivos ou feed contínuo. Ao trabalhar com documentos complexos, pode ser necessário mesclar ou dividir PDFs após aplicar as opções de renderização.


Como faço para usar as opções de renderização no IronPDF?

Embora muitas propriedades de opções de renderização sejam projetadas para conversão de HTML para PDF, elas também funcionam com outros tipos de conversão de PDF. Vamos gerar um arquivo Markdown em PDF e configurar a saída usando as opções de renderização. Para conversões de HTML especificamente, aprenda sobre como converter arquivos HTML em PDF ou converter strings HTML em PDF.

Por que devo configurar as opções de renderização?

A configuração das opções de renderização garante que os PDFs sejam gerados com as especificações exatas: tamanhos de papel personalizados, margens específicas, cabeçalhos e rodapés ou JavaScript ativado para conteúdo dinâmico. Esse controle é crucial ao criar novos PDFs para documentos ou relatórios profissionais.

O que acontece quando aplico várias opções de renderização?

Diversas opções de renderização trabalham em conjunto para criar o arquivo PDF final. Cada opção modifica um aspecto específico da renderização, e o IronPDF as aplica sequencialmente durante a conversão. Por exemplo, ao definir margens e cabeçalhos, o conteúdo do cabeçalho respeita as configurações de margem, a menos que sejam substituídas usando a propriedade 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")
$vbLabelText   $csharpLabel

Exemplo de opções avançadas de renderização

Este exemplo abrangente demonstra a combinação de múltiplas opções de renderização para a geração de documentos profissionais. Essa abordagem é útil quando você precisa adicionar cabeçalhos e rodapés ou trabalhar com tamanhos 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")
$vbLabelText   $csharpLabel

Quais são todas as opções de renderização disponíveis?

As opções avançadas definem as configurações de renderização de PDF, como margens, orientação do papel, tamanho do papel e muito mais. Compreender essas opções ajuda quando você precisa definir margens personalizadas ou trabalhar com diferentes configurações de viewport e níveis de zoom.

Quais são as opções de renderização mais comumente usadas?

As opções de renderização mais comuns incluem configurações de margem, configuração do tamanho do papel, configuração de cabeçalho/rodapé e ativação do JavaScript . Essas opções atendem à maioria das necessidades de personalização de PDFs. Para conteúdo baseado na web, as opções de renderização em JavaScript garantem que os elementos dinâmicos sejam exibidos corretamente.

Como escolher as opções de renderização corretas?

Escolha as opções de renderização de acordo com suas necessidades: use as configurações de margem para layouts de impressão, habilite o JavaScript para conteúdo web dinâmico, configure cabeçalhos/rodapés para documentos profissionais e ajuste o tamanho do papel para formatos de saída específicos. Ao trabalhar com conteúdo web, considere os tipos de mídia CSS para uma renderização ideal.

Quando devo usar as opções avançadas de renderização?

Utilize opções avançadas de renderização para recursos especializados, como injeção de CSS personalizado, renderização matemática em LaTeX, saída em tons de cinza ou ao trabalhar com aplicações web complexas que exigem tempos de execução específicos de JavaScript . A classe WaitFor oferece controle preciso sobre os atrasos de renderização em cenários complexos.

Trabalhando com Elementos de Formulário

Quando o HTML contém elementos de formulário, o IronPDF os converte automaticamente em formulários PDF interativos:

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

A seguir, encontra-se uma tabela que ilustra as diferentes opções disponíveis.

Aula ChromePdfRenderer
Descrição Utilizado para definir opções de impressão em PDF, como tamanho do papel, DPI, cabeçalhos e rodapés.
Propriedades/funções Tipo Descrição
CustomCookies Dictionary Cookies personalizados para a renderização HTML. Os cookies não são persistentes entre renderizações e devem ser definidos a 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 Utilize os valores de margem do documento principal ao renderizar cabeçalhos e rodapés.
CreatePdfFormsFromHtml bool Converte todos os elementos de formulário HTML em formulários PDF editáveis. O valor padrão é verdadeiro.
CssMediaTipo PdfCssMediaTipo Habilita os estilos e folhas de estilo CSS "screen" para a mídia. O valor padrão é PdfCssMediaTipo.Screen.
CustomCssUrl string Permite aplicar uma folha de estilo CSS personalizada ao HTML antes da renderização. Pode ser um caminho de arquivo local ou uma URL remota. Aplicável somente ao renderizar HTML para PDF.
EnableJavaScript bool Permite a execução de JavaScript e JSON antes da renderização da página. Ideal para impressão a partir de aplicações Ajax/Angular. O valor padrão é falso.
EnableMathematicalLaTex bool Permite a renderização de elementos matemáticos LaTeX.
JavaScript string Uma string JavaScript personalizada a ser executada após todo o HTML ter sido carregado, mas antes da renderização do PDF.
JavaScriptMessageListener StringDelegate Um método de retorno de chamada a ser invocado sempre que uma mensagem do console JavaScript do navegador estiver disponível.
FirstPageNumber int Número da primeira página a ser usada nos cabeçalhos e rodapés do PDF. O valor padrão é 1.
TableOfContents TableOfContentsTipos Gera um índice de conteúdo no local no documento HTML onde é encontrado um elemento com id "IronPDF-toc".
GrayScale bool Gera um PDF em preto e branco. O valor padrão é falso.
TextHeader ITextHeaderFooter Define o conteúdo do rodapé de cada página PDF como texto, com suporte para 'mala direta' e conversão automática de URLs em hiperlinks.
TextFooter
HtmlHeader CabecalhoRodapeHtml Define o conteúdo do cabeçalho de cada página PDF como HTML. Suporta 'mala direta'.
HtmlFooter
InputEncoding Encoding A codificação de caracteres de entrada como uma string. O valor padrão é Encoding.UTF8.
MarginTop double Margem superior do PDF ("papel") em milímetros. Defina como zero para impressões sem bordas e comerciais. O valor padrão é 25.
MarginRight double Margem direita do PDF ("papel") em milímetros. Defina como zero para impressões sem bordas e comerciais. O valor padrão é 25.
MarginBottom double Margem inferior do PDF ("papel") em milímetros. Defina como zero para impressões sem bordas e comerciais. O valor padrão é 25.
MarginLeft double Margem esquerda do PDF ("papel") em milímetros. Defina como zero para impressões sem bordas e comerciais. O valor padrão é 25.
OrientacaoDoPapel OrientacaoDePapelPdf A orientação do papel PDF, como Retrato ou Paisagem. O valor padrão é Retrato.
TamanhoDoPapel TamanhoDePapelPdf Define o tamanho do papel.
SetCustomPaperSizeinCentimeters double Define o tamanho do papel em centímetros.
SetCustomPaperSizeInInches Define o tamanho do papel em polegadas.
SetCustomPaperSizeinMilimeters Define o tamanho do papel em milímetros.
SetCustomPaperSizeinPixelsOrPoints Define o tamanho do papel em pixels da tela ou pontos da impressora.
PrintHtmlBackgrounds Boolean Indica se as cores e imagens de fundo do HTML devem ser impressas. O valor padrão é verdadeiro.
RequestContext RequestContexts Solicitar contexto para esta renderização, determinando o isolamento de certos recursos, como cookies.
Timeout Integer Tempo limite de renderização em segundos. O valor padrão é 60.
Título String Nome do Documento PDF e metadados de Título, útil para mail-merge e nomeação automática de arquivos nas extensões IronPDF MVC e Razor.
ForcePaperSize Boolean Forçar que os tamanhos das páginas sejam exatamente os especificados por meio de `IronPDF redimensionando a página após gerar um PDF a partir de HTML. Isso ajuda a corrigir pequenos erros no tamanho da página ao renderizar HTML para PDF.
WaitFor WaitFor Um objeto wrapper que contém a configuração do mecanismo de espera, permitindo que os usuários aguardem determinados eventos antes de renderizar. Por padrão, ele não aguardará nada.

Pronto para explorar mais funcionalidades? Visite nossa página de tutoriais: Converter PDFs

Perguntas frequentes

Quais são as opções de renderização na geração de PDFs?

As opções de renderização no IronPDF são configurações que controlam como os documentos PDF são criados, exibidos e impressos por meio da classe ChromePdfRenderer. Elas incluem configurações para margens, cabeçalhos, rodapés, tamanho do papel, execução de JavaScript, tipos de mídia CSS, elementos de formulário e sumários, permitindo a personalização precisa da saída em PDF a partir de HTML, CSS e outras fontes de conteúdo.

Como faço para aplicar opções de renderização a um PDF?

Para aplicar opções de renderização no IronPDF: 1) Instale o IronPDF via NuGet, 2) Crie uma instância de ChromePdfRenderer, 3) Configure as opções através da propriedade RenderingOptions, 4) Renderize seu conteúdo (HTML, Markdown, etc.) para PDF e 5) Salve o PDF resultante. Você pode definir várias opções em uma única linha, como margens, tipo de mídia CSS, cabeçalhos e valores de tempo limite.

Posso usar opções de renderização com conteúdo que não seja HTML?

Sim, embora muitas propriedades de opções de renderização sejam projetadas para conversão de HTML para PDF, elas também funcionam com outros tipos de conversão de PDF no IronPDF. Você pode aplicar opções de renderização ao converter Markdown para PDF ou outros formatos compatíveis, obtendo o mesmo nível de controle sobre o PDF final, independentemente do tipo de conteúdo de origem.

O que é o PaperFit e como funciona?

PaperFit é um gerenciador dentro da classe ChromePdfRenderer do IronPDF que controla o layout do conteúdo em páginas PDF. Ele oferece diferentes estilos de renderização, incluindo layouts responsivos em CSS3 ou opções de alimentação contínua, ajudando a garantir que seu conteúdo se ajuste corretamente às páginas PDF de acordo com suas necessidades específicas.

Por que devo configurar as opções de renderização para meus PDFs?

Configurar as opções de renderização no IronPDF garante que seus PDFs sejam gerados com as especificações exatas necessárias para documentos profissionais. Isso inclui tamanhos de papel personalizados, margens específicas, cabeçalhos e rodapés, ou JavaScript habilitado para conteúdo dinâmico. Esse nível de controle é crucial ao criar relatórios, faturas ou qualquer documento que exija formatação precisa.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 19,014,616 | Versão: 2026.5 just released
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.