IRONSOFTWAREHOME
USANDO O IRONPDF

Como criar um visualizador de PDF em ASP.NET Core

Curtis Chau
Curtis Chau
Updated: 28 de junho de 2026

O IronPDF permite que desenvolvedores C# convertam HTML em PDF usando um mecanismo de renderização baseado no Chrome, com suporte a CSS, JavaScript e geração de conteúdo dinâmico em apenas algumas linhas de código para aplicativos .NET 10.

Converter HTML para PDF em C# é um requisito comum para desenvolvedores .NET que criam aplicativos corporativos. Seja para gerar arquivos PDF a partir de conteúdo da web , documentos HTML ou strings HTML, a capacidade de converter HTML em PDFs profissionais é essencial para criar relatórios , faturas e outros materiais impressos.

A biblioteca IronPDF é um poderoso conversor de HTML para PDF, desenvolvido para aplicações .NET Framework e projetos modernos do .NET 10. Ele permite converter facilmente HTML, estilos CSS e até mesmo renderização JavaScript em documentos PDF de alta qualidade — tudo com apenas algumas linhas de código C#. A biblioteca utiliza um mecanismo de renderização do Chrome que garante uma conversão perfeita em termos de pixels .

IronPDF for .NET página inicial mostrando um exemplo de código de conversão de HTML para PDF em C# com a classe ChromePdfRenderer

Por que devo usar o IronPDF para conversão de HTML para PDF?

Ao contrário das bibliotecas de PDF mais antigas que exigem o desenho manual de elementos, o IronPDF renderiza o conteúdo HTML usando um mecanismo Chromium completo. Isso significa que seu arquivo HTML, CSS e arquivos de imagem são processados ​​exatamente como um navegador faria, preservando o layout, as fontes e os elementos HTML com precisão. É ideal para:

O IronPDF funciona como uma biblioteca de conversão completa para criar documentos PDF , oferecendo aos desenvolvedores .NET simplicidade e controle poderoso sobre a geração de PDFs. A biblioteca suporta a codificação UTF-8 para idiomas internacionais e oferece opções abrangentes de renderização para personalização.

Como faço para instalar o IronPDF em um projeto .NET 10?

Primeiro, crie um novo projeto .NET 10 . Para obter instruções detalhadas de instalação, consulte a visão geral da instalação do IronPDF ou a documentação do pacote NuGet .

Janela de configuração de projeto do Visual Studio mostrando a configuração para um novo projeto de Console App C# nomeado 'HtmlToPDF' com opções para direcionamento de plataforma e localização do arquivo.

Atualmente, o .NET 10 está em versão prévia , mas é totalmente compatível com o IronPDF . A biblioteca mantém compatibilidade entre plataformas, incluindo Windows , Linux e macOS .

Diálogo de criação de projeto do Visual Studio mostrando configurações de Informações Adicionais para um Console App com o framework .NET 10.0 Preview selecionado e opções de suporte a containers.

Usaremos isso aqui para demonstrar como a conversão de HTML para PDF funciona perfeitamente com os recursos mais recentes do .NET e o mecanismo de renderização baseado no Chrome do IronPDF.

Agora vamos instalar o IronPDF!

Você pode instalar o IronPDF diretamente do Gerenciador de Pacotes NuGet para Soluções.

Janela do Gerenciador de Pacotes NuGet mostrando o pacote IronPDF instalado com a versão 2025.9.4 no Visual Studio

Existem também outras opções de instalação. No seu Explorador de Soluções, abra o terminal ou a Interface de Linha de Comando (CLI) e execute:

dotnet add package IronPdf

ou usando o Console do Gerenciador de Pacotes NuGet :

PM > Install-Package IronPdf

Janela do Console do Gerenciador de Pacotes mostrando a instalação bem-sucedida do pacote NuGet IronPDF versão 2025.9.4 em um projeto do Visual Studio nomeado HtmlToPDF.

Agora você está pronto para começar a programar. Para uma configuração correta, certifique-se de ter aplicado sua chave de licença, caso esteja usando a versão comercial.

Como faço para realizar uma conversão básica de HTML para PDF?

Vamos começar com um exemplo em C# de HTML para PDF que converte conteúdo HTML em um arquivo PDF. Essa abordagem básica funciona bem para documentos simples e demonstra a API principal.

using IronPdf;

class Program
{
    public static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("basic_output.pdf");
    }
}

Explicação:

Em apenas algumas linhas, criamos um conversor funcional de HTML para PDF usando C#.

Adobe Acrobat exibindo um documento PDF com o título 'HTML to PDF C# Example' e subtítulo 'Este demonstra a conversão de PDF em .NET 10.'

Como faço para converter arquivos HTML e URLs em PDF?

Quando devo converter arquivos HTML locais?

Você pode converter arquivos HTML do disco, incluindo recursos vinculados como CSS ou imagens. Isso é útil ao trabalhar com modelos ou gerenciar fontes e URLs base :

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
pdf.SaveAs("file_conversion.pdf");

Este método lê seu arquivo HTML local e carrega automaticamente recursos externos. Para cenários complexos, você pode converter arquivos ZIP HTML contendo todos os recursos.

Visualizador de PDF mostrando um exemplo de conversão de HTML para PDF com uma tabela contendo quantidades e preços de itens para frutas (maçãs, bananas, laranjas).

Quando devo converter páginas da web usando URLs?

Se a sua entrada for uma página web ou um URL existente, renderize-a diretamente. Essa abordagem captura conteúdo da web em tempo real, painéis de controle ou gerencia cookies e cabeçalhos de solicitação HTTP :

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___");
pdf.SaveAs("webpage_conversion.pdf");

O código realiza a conversão de URL para PDF, renderizando o documento HTML com suporte completo a JavaScript e CSS. Para páginas autenticadas, configure logins de sites TLS .

Captura de tela da página de destino do IronPDF for .NET mostrando os recursos da Biblioteca PDF C#, incluindo capacidades de conversão de HTML para PDF e suporte multiplataforma.

Como faço para converter conteúdo HTML com estilos e JavaScript?

Muitas páginas da web usam elementos dinâmicos, estilos CSS e renderização em JavaScript ( gráficos , painéis). O IronPDF oferece suporte completo a isso por meio de sua API WaitFor :

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297); // A4 in mm

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Reports/sales.html");
pdf.SaveAs("styled_output.pdf");

Isso garante que o IronPDF espere o conteúdo dinâmico carregar antes de renderizar, resultando em uma saída visual precisa. Você também pode renderizar sites WebGL e lidar com fontes web complexas.

Visualizador de PDF mostrando um Relatório de Desempenho Dinâmico com um gráfico de barras exibindo porcentagens de desempenho da equipe para Vendas (80%), Marketing (95%), Suporte (75%) e RH (90%).

Como adiciono cabeçalhos, rodapés e números de página?

Adicione cabeçalhos e rodapés profissionais aos seus PDFs com facilidade. O IronPDF suporta cabeçalhos de texto e cabeçalhos HTML avançados com números de página :

renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    Height = 30,
    Spacing = 5
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    Height = 30,
    Spacing = 5
};

O IronPDF trata esses elementos como elementos HTML, permitindo que você os estilize com CSS e inclua dados personalizados, como datas ou nomes de empresas. Para necessidades mais simples, utilize cabeçalhos e rodapés de texto .

Um documento PDF exibindo um Relatório de Desempenho Dinâmico com um gráfico de barras mostrando porcentagens de desempenho da equipe para os departamentos de Vendas, Marketing, Suporte e RH, gerado usando IronPDF e ApexCharts.

Como faço para gerar PDFs a partir de vários trechos de HTML?

Para gerar PDFs combinando trechos de HTML, você pode mesclá -los. Isso cria relatórios com várias seções ou combina conteúdo de diferentes fontes:

var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");

Isso é útil na criação de relatórios com várias seções a partir de diferentes fragmentos HTML. Você também pode adicionar marcadores para melhorar a navegação.

Interface do Adobe Acrobat exibindo um documento PDF com o cabeçalho 'Seção 1' e um painel de Páginas exibindo miniaturas da Seção 1 e Seção 2.

Como faço para converter HTML em PDF em APIs da Web?

Na API Web ASP.NET , gere e retorne PDFs sem salvá-los em disco usando MemoryStream . Esse padrão é ideal para aplicações Blazor e serviços RESTful:

[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}

Esse padrão funciona muito bem para geração de PDFs no lado do servidor em aplicações web .NET 10. Você pode integrar com visualizações CSHTML para aplicativos MVC.

Como faço para personalizar as opções de renderização HTML?

Controle a forma como os elementos e recursos HTML são renderizados com opções de renderização abrangentes:

renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___";
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token");
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000;
renderer.RenderingOptions.EnableJavaScript = true;

// Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.ViewPortHeight = 1080;

Isso é útil ao renderizar páginas com recursos externos ou ao realizar web scraping seguido de conversão para PDF. Para otimizar a impressão, configure os tipos de mídia CSS e os tamanhos de papel personalizados .

Como criar ferramentas de linha de comando para conversão de PDF?

Crie ferramentas de linha de comando para conversão em lote de HTML para PDF, úteis para automação e pipelines de CI/CD:

using IronPdf;
using System;

class Program
{
    public static void Main(string[] args)
    {
        if (args.Length < 2)
        {
            Console.WriteLine("Usage: pdfconvert input.html output.pdf");
            return;
        }

        string inputFile = args[0];
        string outputPath = args[1];

        var renderer = new ChromePdfRenderer();
        
        // Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = true;
        
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf(inputFile);
        pdf.SaveAs(outputPath);

        Console.WriteLine("PDF generated successfully!");
    }
}

Execute-o a partir da Interface de Linha de Comando (CLI):

dotnet run "input.html" "output.pdf"
Text

Terminal PowerShell mostrando um comando de execução do .NET com os parâmetros input.html e output.pdf, seguido de uma mensagem de sucesso 'PDF gerado com sucesso!'

Você criou um conversor de PDF simples para linha de comando, voltado para desenvolvedores .NET . Para uso em produção, adicione registro personalizado e tratamento de erros.

Adobe Acrobat exibindo um arquivo PDF com o texto 'Converted from Command Line using IronPDF' centralizado na página.

Como posso usar padrões assíncronos para geração de PDFs?

Utilize padrões assíncronos para aplicações .NET 10 modernas. Essa abordagem é essencial para a geração multithread em cenários de alto desempenho:

public static async Task Main()
{
    var renderer = new ChromePdfRenderer();
    string url = "___PROTECTED_URL_98___";

    // Async rendering with cancellation token support
    using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(2));
    
    PdfDocument pdf = await renderer.RenderUrlAsPdfAsync(url, cts.Token);
    pdf.SaveAs("async_output.pdf");
    
    // For parallel processing of multiple documents
    var urls = new[] { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" };
    var tasks = urls.Select(u => renderer.RenderUrlAsPdfAsync(u)).ToArray();
    var pdfs = await Task.WhenAll(tasks);
    
    // Merge all PDFs
    var combined = PdfDocument.Merge(pdfs);
    combined.SaveAs("batch_output.pdf");
}

Isso funciona muito bem para sistemas escaláveis ​​ou APIs em nuvem que lidam com a geração de PDFs em grande volume. Para um melhor desempenho, considere a geração paralela de PDFs .

Quais são as melhores práticas para a geração de PDFs em larga escala?

  • Reutilizar instâncias ChromePdfRenderer para reduzir o overhead
  • Armazene arquivos temporários em armazenamento SSD rápido ou use fluxos de memória.
  • Utilize tarefas assíncronas com suporte adequado para tokens de cancelamento.
  • Evite renderização excessiva de JavaScript configurando atrasos de renderização.
  • Validar a entrada HTML para evitar erros de conversão
  • Implementar compressão de PDF para arquivos menores
  • Considere linearizar PDFs para visualização na web.

Para implantação, o IronPDF oferece suporte a contêineres Azure , AWS Lambda e Docker . A biblioteca oferece ampla orientação para otimização de desempenho .

Funcionalidades avançadas para aplicações empresariais

O IronPDF oferece recursos avançados para cenários empresariais:

Conclusão

Com o IronPDF e o .NET 10, converter conteúdo HTML em PDFs profissionais é simples — seja trabalhando com strings HTML, arquivos locais ou URLs. O mecanismo de renderização da biblioteca, baseado no Chrome, garante perfeita compatibilidade com os padrões modernos da web, incluindo CSS3 e JavaScript.

Desde pequenos trechos de código até a geração em larga escala, o IronPDF oferece um conversor completo de HTML para PDF com suporte for JavaScript, CSS, cabeçalhos personalizados e recursos vinculados. A API abrangente lida com tudo, desde conversões básicas até requisitos empresariais complexos, como assinaturas digitais e organização de PDFs .

Com apenas algumas linhas de código, você pode gerar PDFs, automatizar a geração de relatórios ou incorporar um conversor de PDF diretamente em seus aplicativos .NET . A extensa documentação e os exemplos de código da biblioteca facilitam o início do uso.

Comece a experimentar projetos de conversão de HTML para PDF hoje mesmo usando a versão de avaliação gratuita do IronPDF . Baixe agora e experimente como é fácil gerar PDFs de alta qualidade a partir do seu conteúdo HTML. Para comparações detalhadas com alternativas, confira como o IronPDF se compara ao iText , Aspose e outras bibliotecas de PDF .

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 bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

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.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
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.