IRONSOFTWAREHOME

HTML para PDF em C# .NET

Jacob Mellor, Diretor de Tecnologia da Team Iron
Jacob Mellor
Updated: 17 de setembro de 2026

Como desenvolvedores do IronPDF, sabemos o quão importante é para a conversão de HTML para PDF produzir resultados precisos e de alta qualidade que atendam às expectativas dos clientes. Este tutorial em C# irá guiá-lo na construção de um conversor de HTML para PDF para suas aplicações, projetos e sites. Vamos desenvolver um conversor de HTML para PDF em C#, e os documentos PDF de saída do IronPDF serão pixel perfect em relação aos PDFs gerados pelo navegador Google Chrome.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copie e execute este trecho de código.

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<p>Hello World</p>")
           .SaveAs("pixelperfect.pdf");
  3. 3Implante para testar em seu ambiente de produção.

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

Visão Geral


Conversor de HTML para PDF para C# & VB.NET

Criar arquivos PDF programaticamente em .NET pode ser uma tarefa frustrante. O formato de arquivo de documento PDF foi projetado mais para impressoras do que para desenvolvedores. E o C# não possui muitas bibliotecas ou recursos adequados para geração de PDF embutidos, muitas bibliotecas precisam de configuração extra, e causam mais frustração quando exigem múltiplas linhas de código para realizar uma tarefa simples.

A ferramenta de conversão de HTML para PDF em C# que usaremos neste tutorial é o IronPDF da Iron Software, uma biblioteca de geração e edição de PDF em C# altamente popular. Esta biblioteca possui funcionalidade completa de edição e geração de PDF, funciona imediatamente, faz exatamente o que você precisa com o menor número de linhas, e possui documentação excepcional de suas 50+ funcionalidades. O IronPDF se destaca por suportar .NET 10, .NET 9, .NET 8, .NET 7, .NET 6, e .NET 5, .NET Core, .NET Standard, e .NET Framework no Windows, macOS, Linux, Docker, Azure, e AWS.

Com C# e IronPDF, a lógica para "gerar um documento PDF" ou "conversão de HTML para PDF" é direta. Devido ao avançado Chrome Renderer do IronPDF, a maior parte ou todo o design e layout do documento PDF usará ativos HTML existentes.

Este método de geração dinâmica de PDF em .NET com HTML5 funciona igualmente bem em aplicações de console, aplicações Windows Forms, WPF, bem como em sites e MVC.

O IronPDF também suporta depuração do seu HTML com o Chrome para PDFs Pixel Perfect. Um tutorial para configurar isso pode ser encontrado aqui.

O IronPDF está disponível em várias linguagens, tanto dentro quanto fora do ecossistema .NET.

O IronPDF é gratuito para desenvolvimento; uma chave de licença é necessária para implantar ao vivo e remover a marca d'água de teste. Você pode comprar uma licença aqui ou se inscrever para uma chave de teste gratuita de 30 dias aqui.


Passo 1

Baixe e Instale a Biblioteca HTML para PDF em C#

Visual Studio - Gerenciador de Pacotes NuGet

No Visual Studio, clique com o botão direito no explorador de soluções do seu projeto e selecione "Gerenciar Pacotes NuGet...". A partir daí, basta procurar por IronPDF e instalar a versão mais recente na sua solução... clique em OK para qualquer caixa de diálogo que aparecer. Isso também funcionará igualmente bem em projetos VB.NET.

PM > Install-Package IronPdf

IronPDF no Site do NuGet

Para uma visão completa das funcionalidades, compatibilidade e downloads do IronPDF, por favor, confira o IronPDF no site oficial do NuGet: https://www.nuget.org/packages/IronPdf

Instalar via DLL

Outra opção é instalar o DLL do IronPDF diretamente. O IronPDF pode ser baixado e instalado manualmente no projeto ou GAC a partir de https://ironpdf.com/packages/IronPdf.zip


Tutoriais de Como Fazer

Crie um PDF com uma String HTML em C# .NET

Como: Converter String HTML para PDF? É uma habilidade muito eficiente e gratificante criar um novo arquivo PDF em C#.

Podemos simplesmente usar o método ChromePdfRenderer.RenderHtmlAsPdf para transformar qualquer string HTML (HTML5) em um PDF. A renderização de HTML para PDF em C# é realizada por uma versão totalmente funcional do motor Google Chromium que acompanha o pacote NuGet do 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 suporta totalmente HTML5, CSS3, JavaScript e imagens. Se esses ativos estiverem em um disco rígido, podemos querer definir o segundo parâmetro de RenderHtmlAsPdf para o diretório contendo os ativos. Este método retorna um objeto PdfDocument, que é uma classe usada para armazenar informações de PDF.

O IronPDF renderizará seu HTML exatamente como aparece no Chrome

Temos um tutorial completo dedicado a permitir que você configure o Chrome para depuração completa de HTML para garantir que as alterações que você vê ao editar seu HTML, CSS e JavaScript sejam pixel-perfect iguais ao PDF de saída do IronPDF quando você escolher renderizar. Por favor, encontre o tutorial aqui: Como Depurar HTML no Chrome para Criar PDFs Pixel Perfect.

Caminho Base URL (o 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");

Todas as folhas de estilo CSS, imagens e arquivos JavaScript referenciados serão relativos a esse caminho base e podem ser mantidos em uma estrutura organizada e lógica. Você também pode, é claro, optar por referenciar imagens, folhas de estilo e ativos online, incluindo web-fonts como Google Fonts e até mesmo jQuery.


Exporte um PDF Usando URL Existente | URL para PDF

Renderizar URLs existentes como PDFs com C# é muito eficiente e intuitivo. Isso também permite que as equipes dividam o trabalho de design de PDF e renderização de PDF no back-end entre várias equipes.

Vamos renderizar uma página do Wikipedia.com no exemplo a seguir:

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");

Você notará que hiperlinks e até mesmo formulários HTML são preservados dentro do PDF gerado pelo nosso código C#.

Ao renderizar páginas da web existentes, temos alguns truques que podemos querer aplicar:

CSS de Impressão e Tela

Os tipos de mídia CSS permitem que uma página carregue estilos separados para impressão e tela. Podemos instruir o IronPDF a renderizar o CSS de "Impressão", que geralmente é mais simples. Por padrão, os estilos CSS de "Tela" serão renderizados, o que corresponde ao que você vê no 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;

Artigo Principal: Comparação de HTML para PDF Pixel Perfect.

JavaScript

O IronPDF suporta JavaScript, jQuery e até mesmo AJAX. Podemos precisar instruir o IronPDF a esperar pelo JS ou ajax para terminar de executar antes de renderizar uma captura de tela da nossa página da 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 demonstrar o suporte a JavaScript renderizando a página de documentação do diagrama de acordes d3.js, cujos gráficos são desenhados por JavaScript quando a página é carregada:

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 para PDF usando CSS responsivo em .NET! Páginas da web responsivas são projetadas para serem visualizadas em um navegador. O IronPDF não abre uma janela de navegador real dentro do sistema operacional do seu servidor. Sem uma viewport de navegador, layouts responsivos podem voltar ao seu ponto de interrupção mais estreito.

Recomendamos usar tipos de mídia CSS de Impressão para navegar por esse problema. O CSS de impressão normalmente não deve 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;

Gere um PDF a partir de uma Página HTML

Também podemos renderizar qualquer página HTML para PDF em nosso disco rígido. Todos os ativos relativos, como CSS, imagens e js, serão renderizados como se o arquivo tivesse sido aberto usando o 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 tem a vantagem de permitir que o desenvolvedor teste o conteúdo HTML em um navegador durante o desenvolvimento. Recomendamos o Chrome, pois é o navegador da web no qual o motor de renderização do IronPDF é baseado.

Para converter XML para PDF, você pode usar a modelagem XSLT para imprimir seu conteúdo XML em PDF.


Adicione Cabeçalhos e Rodapés Personalizados

Cabeçalhos e rodapés podem ser adicionados aos PDFs quando eles são renderizados, ou a arquivos PDF existentes usando o IronPDF.

Com o IronPDF, cabeçalhos e rodapés podem conter conteúdo simples baseado em texto usando a classe TextHeaderFooter - ou com imagens e conteúdo HTML rico usando a classe 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
});

Explore todas as opções de renderização no seguinte artigo de como fazer: Como Usar as Opções de Renderização.

Cabeçalhos e Rodapés HTML

A classe HtmlHeaderFooter permite que cabeçalhos e rodapés ricos sejam gerados usando conteúdo HTML5 que pode até incluir imagens e folhas 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>"
};

Dados Dinâmicos em Cabeçalhos e Rodapés de PDF

Podemos "mesclar" conteúdo no texto e até mesmo no HTML de cabeçalhos e rodapés usando marcadores como:

  • {page} para o número da página atual
  • {total-pages} para o total de páginas no PDF
  • {url} para a URL do PDF renderizado se renderizado a partir de uma página da web
  • {date} para a data de hoje
  • {time} para a hora atual
  • {html-title} para o <title> do documento HTML renderizado
  • {pdf-title} para o título do documento, que pode ser definido via ChromePdfRenderOptions

Configurações de Conversão de HTML para PDF em C#

Existem muitas nuances sobre como nossos usuários e clientes podem esperar que o conteúdo do PDF seja renderizado.
A classe ChromePdfRenderer contém uma propriedade RenderingOptions que pode ser usada para definir essas opções.

Por exemplo, podemos querer escolher aceitar apenas diretivas 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");

Também podemos querer alterar o tamanho das margens de impressão para criar mais espaço em branco na página, para dar espaço para cabeçalhos ou rodapés grandes, ou até mesmo definir margens zero para impressão comercial de brochuras ou pôsteres:

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 querer ativar ou desativar imagens de fundo 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");

Também é possível definir nossos PDFs de saída para serem renderizados em qualquer tamanho de papel virtual - incluindo tamanhos retrato e paisagem e até mesmo tamanhos personalizados que podem ser definidos em milímetros ou polegadas.

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);

Explore todas as opções de renderização no seguinte artigo de como fazer: "Como Usar as Opções de Renderização."


Minha biblioteca favorita desse tipo é o IronPDF. Ele permite a manipulação rápida e eficiente de arquivos PDF. Além disso, possui muitos recursos valiosos, como a exportação para o formato PDF/A e a assinatura digital de documentos PDF.

Milan Jovanovic

Microsoft MVP

Veja o estudo de caso

Com o IronOCR, podemos economizar US$ 40.000 por ano em processamento manual, ao mesmo tempo que aumentamos a produtividade e liberamos recursos para tarefas de alto impacto. Eu o recomendo fortemente.

Brent Matzelle

Diretor de Tecnologia, OPYN

Veja o estudo de caso

Aplicar Modelagem HTML

Modelar ou "criar em lote" PDFs é um requisito comum para desenvolvedores de Internet e sites.

Em vez de modelar um documento PDF em si, com o IronPDF podemos modelar nosso HTML usando tecnologias existentes e bem testadas. Quando o modelo HTML é combinado com dados de uma query-string ou banco de dados, acabamos com um documento PDF gerado dinamicamente.

No caso mais simples, usar o método C# String.Format é eficaz para amostras básicas.

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");

Se o arquivo HTML for mais longo, muitas vezes podemos usar marcadores arbitrários como [[NAME]] e substituí-los por dados reais mais tarde.

O exemplo a seguir criará 3 PDFs, cada um personalizado para um usuário.

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");
}

Modelagem Avançada Com Handlebars.NET

Um método sofisticado para mesclar dados C# com HTML para geração de PDF é usar a linguagem de modelagem Handlebars.

Handlebars torna possível criar HTML dinâmico a partir de objetos e instâncias de classe C#, incluindo registros de banco de dados. Handlebars é particularmente eficaz onde uma consulta pode retornar um número desconhecido de linhas, como na geração de uma fatura.

Devemos primeiro adicionar um Pacote NuGet adicional ao nosso projeto: 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 simplesmente usar o 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");

Você pode aprender mais sobre a linguagem de modelagem Handlebars e sua implementação em C# no GitHub.

Adicionar Quebras de Página usando HTML5

Um requisito comum em um documento PDF é a paginação. Os desenvolvedores precisam controlar onde as páginas do PDF começam e terminam para um layout limpo e legível.

A maneira mais fácil de fazer isso é com um truque CSS menos conhecido que renderizará uma quebra de página em qualquer documento HTML impresso.

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

O HTML fornecido funciona, mas dificilmente é uma prática recomendada. Aconselhamos ajustar o atributo de mídia como no exemplo a seguir. Uma maneira tão limpa e organizada de dispor conteúdo HTML de várias páginas. Como o IronPDF renderiza com o tipo de mídia screen por padrão, uma folha de estilo media="print" só é aplicada quando RenderingOptions.CssMediaType é definido como PdfCssMediaType.Print (veja Configurações de Conversão acima).

<!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

O Como Fazer descreve mais dicas e truques com Quebras de Página.


Anexar uma Página de Capa a um PDF

O IronPDF facilita a Mesclagem de documentos PDF. O uso mais comum dessa técnica é adicionar uma página de capa ou página final a um documento PDF renderizado existente.

Para fazer isso, primeiro renderizamos uma página de capa e, em seguida, usamos o método estático PdfDocument.Merge() para combinar os dois 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");

Um exemplo de código completo pode ser encontrado aqui: Exemplo de Código de Página de Capa de PDF.


Adicionar uma Marca d'Água

Um recurso final de PDF em C# que o IronPDF suporta é adicionar uma marca d'água aos documentos. Isso pode ser usado para adicionar um aviso a cada página de que um documento é "confidencial" ou uma "amostra".

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");

Um exemplo de código completo pode ser encontrado aqui: Exemplo de Código de Marca d'Água de PDF.


Baixar Código Fonte em C#

O código fonte gratuito do conversor de HTML para PDF em C# completo para este tutorial está disponível para download como um arquivo de projeto do Visual Studio 2022 compactado. Ele usará seu motor de renderização para gerar objetos de documento PDF em C#.

Baixe este tutorial como um projeto do Visual Studio

O download gratuito contém tudo o que você precisa para criar um PDF a partir de HTML - incluindo exemplos de código PDF em C# funcionais para:

  1. Converter uma String HTML para PDF usando C#
  2. Arquivo HTML para PDF em C# (suportando CSS, JavaScript e imagens)
  3. HTML para PDF em C# usando uma URL ("URL para PDF")
  4. Exemplos de edição e configurações de PDF em C#
  5. Renderização de gráficos de canvas JavaScript como d3.js para um PDF
  6. A Biblioteca de PDF para C#

Referência de Classe

Os desenvolvedores também podem se interessar pela referência da Classe IronPdf.PdfDocument:

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

Este modelo de objeto mostra como os documentos PDF podem ser:

  • Criptografados e protegidos por senha
  • Editados ou 'carimbados' com novo conteúdo HTML
  • Aprimorados com imagens de primeiro plano e de fundo
  • Mesclados, unidos, truncados e emendados em nível de página ou documento
  • Analisados para extrair texto simples e imagens, ou processados por OCR com o pacote IronOCR

Blazor HTML para PDF

Adicionar funcionalidade de HTML para PDF ao seu servidor Blazor é fácil, simplesmente:

  1. Crie um novo projeto de servidor Blazor ou use um existente
  2. Adicione a biblioteca IronPDF ao seu projeto usando o NuGet
  3. Adicione um novo Componente Razor ou use um existente
  4. Adicione um InputTextArea e vincule-o ao IronPDF
  5. Deixe o IronPDF cuidar do resto e implante

Para leitura adicional, continue para o guia passo a passo completo para converter HTML para PDF em aplicações Blazor.

PDF gerado a partir de uma página do Servidor Blazor com IronPDF

Comparar com Outras Bibliotecas de PDF

O IronPDF é uma biblioteca de PDF poderosa e completa, adaptada para desenvolvedores modernos de .NET. Com conversão nativa de HTML para PDF alimentada por um motor Chromium avançado, uma API intuitiva e atualizações regulares, ele simplifica o desenvolvimento enquanto garante resultados de alta qualidade. Vamos dar uma olhada mais de perto em como ele se compara a outras ferramentas:

PDFSharp

  • Recursos Principais: PDFsharp é uma biblioteca de código aberto (MIT) para criar e editar documentos PDF em código gerenciado. Não possui um motor de renderização HTML, então converter conteúdo da web para PDF precisa de um renderizador de terceiros separado.
  • Padrões Modernos: O IronPDF aproveita as tecnologias web modernas, incluindo HTML, CSS e JavaScript, através de seu motor baseado em Chromium, garantindo que os PDFs mantenham uma aparência e sensação contemporâneas.
  • Suporte & Atualizações: PDFsharp é de código aberto e lança uma versão a cada poucos meses, com suporte comercial vendido separadamente por seu mantenedor. O IronPDF lança atualizações mensais e patches de segurança, e cada licença inclui suporte profissional de engenharia, o que é importante para aplicações empresariais.

wkhtmltopdf

  • Facilidade de Integração: wkhtmltopdf é uma ferramenta de linha de comando com uma biblioteca C; não há pacote oficial .NET, então usá-lo a partir de .NET significa lançar o binário nativo (ou chamá-lo através de um wrapper de terceiros como DinkToPdf) e enviar esse binário para cada plataforma em que você implanta.
  • Tecnologia de Renderização: wkhtmltopdf renderiza com QtWebKit, um fork do WebKit que o Qt descontinuou em 2015 e abandonou no Qt 5.6, então recursos modernos de JavaScript e CSS não são suportados, especialmente em sites dinâmicos e ricos em conteúdo. O motor Chromium do IronPDF renderiza padrões web atuais.
  • Desenvolvimento Contínuo: a última versão do wkhtmltopdf foi 0.12.6 em junho de 2020 e seu repositório no GitHub foi arquivado em janeiro de 2023, então não há suporte do fornecedor. O IronPDF continua a evoluir com atualizações mensais e serviço ao cliente dedicado.

iTextSharp

  • Renderização de HTML para PDF: o iText converte HTML através de seu add-on pdfHTML separado, um motor de layout CSS em vez de um navegador, e a linha iTextSharp 5 legada agora recebe apenas correções de segurança. O IronPDF renderiza HTML com um motor Chromium embutido no pacote principal, sem necessidade de add-on.
  • Experiência do Desenvolvedor: a API do iText funciona no nível de objetos PDF e elementos de layout, o que é poderoso, mas significa mais código para tarefas do dia a dia. O IronPDF oferece uma API C# limpa e intuitiva, simplificando a codificação e acelerando a entrega do projeto.
  • Manutenção & Suporte: o uso gratuito do iText está sob a AGPL, com suporte do fornecedor reservado para licenças comerciais, e o iTextSharp 5.x está no fim da vida útil, exceto por correções de segurança. O IronPDF inclui suporte profissional e atualizações mensais com cada licença.

Aspose.PDF

  • Qualidade de Conversão: o Aspose.PDF converte HTML com seu próprio motor de layout em vez de um navegador. Sua documentação converte uma página da web primeiro buscando o HTML com HttpClient em um fluxo e passando isso para Document com HtmlLoadOptions, em vez de renderizar diretamente de uma URL. Em nosso teste r/nfl abaixo, a saída estava quase vazia: o logotipo da comunidade, uma manchete e algumas caixas vazias. O motor Chromium do IronPDF renderiza uma URL diretamente, incluindo JavaScript.
  • Usabilidade da API: a API do Aspose.PDF pode ser verbosa, enquanto o IronPDF foca em uma experiência amigável ao desenvolvedor que minimiza o tempo de configuração e aumenta a produtividade.
  • Fidelidade de Saída: Como o IronPDF renderiza com Chromium, o PDF corresponde ao que o Chrome mostra para o mesmo HTML, o que torna o design e a depuração previsíveis para geração de PDF em grande volume.

Syncfusion PDF

  • Complexidade da API: o Syncfusion PDF é uma biblioteca capaz com uma superfície de API maior para aprender. O IronPDF, por outro lado, fornece uma API direta para integração rápida.
  • Motor de Renderização: o conversor HTML do Syncfusion agora usa o motor Chromium Blink; seus motores WebKit e Internet Explorer mais antigos foram marcados como obsoletos no Essential Studio 2022 Volume 3. Em nosso teste r/nfl abaixo, a saída do Syncfusion manteve o feed principal, mas deixou de lado os painéis de navegação e comunidade, enquanto o motor Chromium do IronPDF renderizou a página inteira.
  • Além da Conversão: o pacote do IronPDF também cobre assinaturas digitais, anotações, preenchimento de formulários e carimbos de código de barras, então a mesma biblioteca lida com o restante do fluxo de trabalho do documento.

Comparação de Renderização

Para comparar a qualidade de conversão de HTML para PDF dessas bibliotecas, usamos uma página da comunidade Reddit, r/nfl, que contém conteúdo dinâmico, atualizações ao vivo, CSS moderno e elementos baseados em JavaScript:

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

Captura de tela da página Reddit r/nfl como mostrado no Chrome

Aqui estão os resultados de uma única execução com as configurações padrão de cada biblioteca. Syncfusion e Aspose.PDF foram executados como builds de avaliação, por isso suas saídas carregam marcas d'água de avaliação (clique em cada imagem para visualizá-la ampliada):

IronPDF

Saída da conversão do IronPDF da página Reddit r/nfl de HTML para PDFPDF bem formatado e visualmente preciso, preservando conteúdo dinâmico e estilo moderno.

SyncFusion

Saída da conversão do Syncfusion da página Reddit r/nfl de HTML para PDFConvertido com um build de teste. O feed principal, conteúdo das postagens e estilo foram mantidos em um layout de coluna única estreita, mas a navegação à esquerda e o painel da comunidade à direita foram descartados.

Aspose.PDF

Saída da conversão do Aspose.PDF da página Reddit r/nfl de HTML para PDFBuild de avaliação; exigiu baixar o HTML primeiro (Aspose.PDF carrega HTML de um fluxo em vez de uma URL). A saída estava quase vazia: o logotipo da comunidade, uma manchete e algumas caixas vazias.

Wkhtmltopdf

Saída da conversão do wkhtmltopdf da página Reddit r/nfl de HTML para PDFO wkhtmltopdf completou a conversão, mas o resultado é o texto e as imagens da página sem seu layout, estilo, elementos dinâmicos ou interatividade. Isso torna o wkhtmltopdf inadequado para páginas da web modernas e dinâmicas.
Observe: PDFsharp não possui um motor de renderização HTML, e o iText converte HTML apenas através de seu add-on pdfHTML separado, então nenhum dos dois foi incluído neste teste de renderização de navegador.

Conclusão

Para desenvolvedores .NET que buscam uma solução de PDF moderna e confiável, o IronPDF é uma escolha forte. Sua conversão de HTML para PDF baseada em Chromium, facilidade de uso, atualizações regulares e conjunto amplo de recursos o tornam uma escolha de destaque. Seja você trabalhando em um pequeno projeto ou em uma aplicação empresarial de grande escala, o IronPDF aumenta a produtividade enquanto evita os riscos associados a bibliotecas desatualizadas ou não suportadas. Projetado para aplicações comerciais, o IronPDF mantém seus projetos em uma biblioteca mantida e suportada.

Em nosso teste com uma página da web dinâmica do mundo real, o IronPDF produziu a renderização mais completa e precisa. O Syncfusion deixou de lado os painéis de navegação e comunidade. O Aspose.PDF exigiu baixar o HTML primeiro e ainda assim renderizou quase nada da página. O wkhtmltopdf produziu o texto e as imagens sem o estilo da página, um ajuste ruim para sites modernos.

Para fluxos de trabalho modernos de HTML para PDF, essa combinação de precisão de renderização e uma API pequena e legível é o que diferencia o IronPDF.

Experimente o conjunto completo de recursos do IronPDF que converte HTML dinâmico e pesado em CSS para PDF com facilidade. Teste agora com nosso teste gratuito.


Assista ao Vídeo Tutorial de HTML para PDF em C#

Com o documento PDF, você pode visitar o seguinte link para aprender como configurar o Chrome para abrir PDFs no navegador em vez de baixá-los.

Primeiro passo:
arrow pointer

Perguntas frequentes

Como faço para converter HTML para PDF usando o IronPDF em C#?

Para converter HTML para PDF usando o IronPDF, você precisa inicializar o ChromePdfRenderer, renderizar o conteúdo HTML como um PDF usando o método RenderHtmlAsPdf e, em seguida, salvar o PDF em um arquivo.

Quais são os requisitos do sistema para o IronPDF?

O IronPDF suporta .NET 10, .NET 9, .NET 8, .NET 7, .NET 6, .NET 5, .NET Core, .NET Standard e .NET Framework no Windows, macOS, Linux, Docker, Azure e AWS.

Posso usar o IronPDF com outras linguagens de programação?

Sim, o IronPDF pode ser usado com várias linguagens tanto dentro quanto fora do ecossistema .NET, incluindo F#, VB.NET, Python, Java e Node.js.

Como posso adicionar cabeçalhos e rodapés personalizados a um PDF usando o IronPDF?

Com o IronPDF, você pode adicionar cabeçalhos e rodapés usando a classe TextHeaderFooter para conteúdo baseado em texto ou a classe HtmlHeaderFooter para conteúdo HTML rico.

É possível renderizar um PDF a partir de uma URL existente com o IronPDF?

Sim, você pode renderizar um PDF a partir de uma URL existente usando o método RenderUrlAsPdf no IronPDF.

O IronPDF suporta renderização avançada de CSS e JavaScript?

Sim, o IronPDF suporta CSS3 e JavaScript avançados, incluindo jQuery e AJAX, proporcionando uma renderização precisa de designs web modernos.

Posso aplicar modelagem HTML para criação em lote de PDFs no IronPDF?

Sim, você pode usar técnicas de modelagem em C#, incluindo String.Format e Handlebars.NET, para gerar PDFs dinamicamente com o IronPDF.

Como o IronPDF se compara com outras bibliotecas de PDF?

O IronPDF renderiza HTML com um motor Chromium embutido, lança atualizações mensais e possui uma API C# compacta. O tutorial o compara com PdfSharp, wkhtmltopdf, iTextSharp, Aspose.PDF e Syncfusion PDF, incluindo um teste de renderização lado a lado de uma página web dinâmica.

Posso adicionar marcas d'água a PDFs com o IronPDF?

Sim, o IronPDF permite que você adicione marcas d'água de texto ou imagem aos seus documentos PDF.

Existe uma versão de teste disponível para o IronPDF?

Sim, você pode se inscrever para uma chave de teste gratuita de 30 dias para testar os recursos do IronPDF antes de comprar uma licença.

Jacob Mellor, Diretor de Tecnologia da Team Iron
Diretor de Tecnologia

Jacob Mellor é Diretor de Tecnologia da Iron Software e um engenheiro visionário pioneiro na tecnologia C# PDF. Como desenvolvedor original do código-fonte principal da Iron Software, ele moldou a arquitetura de produtos da empresa desde sua criação, transformando-a, juntamente com o CEO Cameron Rimington, em uma empresa com mais de 50 funcionários que atende à NASA, Tesla e agências governamentais globais.

...
Leia mais

Pronto para começar?

Nuget Downloads 21,253,952Versão:2026.10recém-lançado

Obtenha o seu GRÁTIS

Obtenha uma chave de avaliação de 30 dias instantaneamente.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.
bullet_testTeste em produção
sem marcas d'água
bullet_calendar30 dias completos
produto funcional
bullet_supportSuporte técnico 24 horas por dia,
5 dias por semana, durante o teste
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.10

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.10

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 999

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Os seus dados serão sempre mantidos em sigilo.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Aprovado por milhões de engenheiros em todo o mundo.
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.10

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.10

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 999