
Construção em várias etapas para fluxo de trabalho de OCR
Converter páginas da web para PDF no ASP.NET é simples com a classe ChromePdfRenderer do IronPDF, que transforma strings HTML, URLs e páginas ASPX em documentos PDF de alta qualidade usando apenas algumas linhas de código C#.
Quando você precisa gerar relatórios, faturas ou documentos arquivados para download em um aplicativo ASP.NET , converter conteúdo da web para PDF é um dos requisitos mais comuns. O IronPDF oferece um caminho direto para converter uma página da web em PDF no ASP.NET, lidando com tudo, desde strings HTML simples até páginas da web dinâmicas totalmente renderizadas, sem exigir a instalação de navegadores de terceiros ou configurações complexas.
Este guia descreve os principais métodos de conversão disponíveis no IronPDF, desde a renderização básica de strings HTML até a captura de páginas baseada em URL e a integração com ASP.NET Web Forms. Ao final, você terá um código C# funcional para cada cenário e uma compreensão clara de quando usar cada abordagem.
Como instalar e configurar o IronPDF?
Antes de converter qualquer conteúdo, instale o IronPDF em seu projeto ASP.NET . A biblioteca é distribuída via NuGet e funciona com .NET 6, .NET 8, .NET 10 e .NET Framework:
Após a instalação, adicione o namespace no início do seu arquivo C#:
using IronPdf;Imports IronPdfO IronPDF funciona tanto com aplicações ASP.NET Web Forms quanto com aplicações ASP.NET Core . Ele oferece suporte a implantações do Windows Server e do IIS , conteinerização com Docker , Azure Functions e AWS Lambda para arquiteturas nativas da nuvem. Consulte a visão geral da instalação para obter detalhes de configuração específicos da plataforma e instruções de implantação do Linux.
Como converter uma string HTML em PDF?
A classe ChromePdfRenderer é o ponto de entrada principal para geração de PDF no IronPDF. Quando você tem conteúdo HTML como uma string — seja gerado dinamicamente ou carregado de um modelo — o método RenderHtmlAsPdf o converte diretamente em um documento PDF.
Essa abordagem é ideal para gerar relatórios, faturas e recibos, onde você constrói o HTML programaticamente a partir de registros de banco de dados ou dados de aplicativos. O renderizador processa o HTML usando o mesmo mecanismo baseado no Chromium que alimenta os navegadores modernos, portanto, os layouts CSS, as fontes da web e os elementos HTML5 padrão são renderizados corretamente.
using IronPdf;
var renderer = new ChromePdfRenderer();
string htmlContent = @"
<h1>Quarterly Sales Report</h1>
<p>Q3 2025 -- Summary of key revenue metrics and product performance.</p>
<table>
<thead><tr><th>Product</th><th>Units</th><th>Revenue</th></tr></thead>
<tbody>
<tr><td>Widget A</td><td>320</td><td>$8,960</td></tr>
<tr><td>Widget B</td><td>150</td><td>$6,750</td></tr>
<tr><td>Widget C</td><td>210</td><td>$3,055.30</td></tr>
</tbody>
</table>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("quarterly-report.pdf");Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim htmlContent As String = "
<h1>Quarterly Sales Report</h1>
<p>Q3 2025 -- Summary of key revenue metrics and product performance.</p>
<table>
<thead><tr><th>Product</th><th>Units</th><th>Revenue</th></tr></thead>
<tbody>
<tr><td>Widget A</td><td>320</td><td>$8,960</td></tr>
<tr><td>Widget B</td><td>150</td><td>$6,750</td></tr>
<tr><td>Widget C</td><td>210</td><td>$3,055.30</td></tr>
</tbody>
</table>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("quarterly-report.pdf")Se o seu HTML fizer referência a folhas de estilo ou imagens externas usando caminhos relativos, forneça o diretório base como segundo argumento. Isso indica ao IronPDF onde resolver essas referências:
using IronPdf;
var renderer = new ChromePdfRenderer();
string html = @"
<link rel='stylesheet' href='styles.css'>
<h1>Company Report</h1>
<div>Annual Summary</div>";
// Provide the base path so the renderer can locate relative resources
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\Reports\Assets\");
pdf.SaveAs("annual-report.pdf");Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim html As String = "
<link rel='stylesheet' href='styles.css'>
<h1>Company Report</h1>
<div>Annual Summary</div>"
' Provide the base path so the renderer can locate relative resources
Dim pdf = renderer.RenderHtmlAsPdf(html, "C:\Reports\Assets\")
pdf.SaveAs("annual-report.pdf")
Para mais informações sobre o gerenciamento de ativos, consulte o guia sobre URLs base e codificação de ativos e o tutorial de HTML para PDF para técnicas avançadas de renderização, incluindo a incorporação de imagens DataURI.
Como converter um URL em PDF?
Quando você precisa capturar uma página da web existente — seja uma rota de aplicação interna ou uma URL pública — o método RenderUrlAsPdf do IronPDF busca o conteúdo completo da página e o converte em PDF. O resultado preserva estilos, imagens e layout exatamente como renderizados em um navegador.
Renderizando uma página web estática
Para páginas que servem principalmente conteúdo estático, uma chamada básica para RenderUrlAsPdf é suficiente. O método lida automaticamente com certificados SSL, redirecionamentos e codificação de conteúdo:
using IronPdf;
var renderer = new ChromePdfRenderer();
// Opçãoal: wait a short time for the page to finish loading
renderer.RenderingOptions.WaitFor.RenderDelay(500);
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia-pdf-article.pdf");
Renderização de páginas com JavaScript ou autenticação
Para páginas que exigem autenticação ou usam JavaScript para carregar dados dinamicamente, configure o renderizador com as credenciais e a estratégia de espera apropriadas:
using IronPdf;
var renderer = new ChromePdfRenderer();
// Enable JavaScript for pages that load content after the initial HTML response
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.NetworkIdle(500);
// Provide credentials for authenticated internal pages
renderer.LoginCredentials = new ChromeHttpLoginCredentials()
{
NetworkUsername = "service-account",
NetworkPassword = "secure-password"
};
var pdf = renderer.RenderUrlAsPdf("https://app.internal/reports/monthly");
pdf.SaveAs("monthly-report.pdf");Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Enable JavaScript for pages that load content after the initial HTML response
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.NetworkIdle(500)
' Provide credentials for authenticated internal pages
renderer.LoginCredentials = New ChromeHttpLoginCredentials() With {
.NetworkUsername = "service-account",
.NetworkPassword = "secure-password"
}
Dim pdf = renderer.RenderUrlAsPdf("https://app.internal/reports/monthly")
pdf.SaveAs("monthly-report.pdf")
Para sites que utilizam cookies de sessão ou autenticação do Windows, consulte o guia sobre TLS e logins de sistema . Consulte o link completo para a documentação em PDF para obter uma lista completa das opções de configuração, incluindo o gerenciamento de cookies e cabeçalhos HTTP personalizados.
Como converter uma página ASPX em PDF usando ASP.NET Web Forms?
Para aplicativos Web Forms do ASP.NET, o IronPDF fornece a classe AspxToPdf que converte a página ASPX renderizada atualmente diretamente em PDF — sem exigir uma solicitação HTTP separada ou re-renderização do conteúdo da página.
Conversão básica de ASPX em uma linha
Chame RenderThisPageAsPdf() dentro de um manipulador de eventos da página, e o IronPDF interceptará a resposta e a substituirá por um download em PDF:
using IronPdf;
protected void Page_Load(object sender, EventArgs e)
{
// Configure paper settings before rendering
IronPdf.AspxToPdf.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
IronPdf.AspxToPdf.RenderingOptions.MarginTop = 20;
IronPdf.AspxToPdf.RenderingOptions.MarginBottom = 20;
// Convert the current ASPX page to PDF and send it to the browser
IronPdf.AspxToPdf.RenderThisPageAsPdf(
IronPdf.AspxToPdf.FileBehavior.InBrowser,
"invoice-" + DateTime.UtcNow.ToString("yyyy-MM-dd") + ".pdf"
);
}Imports IronPdf
Protected Sub Page_Load(sender As Object, e As EventArgs)
' Configure paper settings before rendering
IronPdf.AspxToPdf.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
IronPdf.AspxToPdf.RenderingOptions.MarginTop = 20
IronPdf.AspxToPdf.RenderingOptions.MarginBottom = 20
' Convert the current ASPX page to PDF and send it to the browser
IronPdf.AspxToPdf.RenderThisPageAsPdf(
IronPdf.AspxToPdf.FileBehavior.InBrowser,
"invoice-" & DateTime.UtcNow.ToString("yyyy-MM-dd") & ".pdf"
)
End Sub
Este método captura toda a estrutura HTML, estilos e conteúdo dinâmico gerados durante o ciclo de vida da página. Para obter uma lista completa das opções de conversão de ASPX, consulte o guia de ASPX para PDF e os exemplos de configurações avançadas .
Como adicionar cabeçalhos e rodapés a documentos PDF?
Cabeçalhos e rodapés são elementos padrão em relatórios e faturas profissionais. O IronPDF suporta cabeçalhos e rodapés baseados em texto e em HTML, com espaços reservados integrados para valores dinâmicos, como números de página e a data atual.
Cabeçalhos de texto e HTML
A classe TextHeaderFooter permite que você defina texto simples à esquerda, no centro e à direita de cada página. Marcadores como {page}, {total-pages}, e {date} são preenchidos automaticamente durante a renderização. Quando você precisa de cabeçalhos de marca com logos e layouts personalizados, use HtmlHeaderFooter em vez disso — seu fragmento HTML é processado pelo mesmo mecanismo de renderização como o corpo do documento:
using IronPdf;
var renderer = new ChromePdfRenderer();
// Simple text header with divider line
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Quarterly Financial Report",
LeftText = "Document ID: {document-id}",
RightText = "{date:yyyy-MM-dd}",
DrawDividerLine = true,
FontSize = 10,
FontFamily = "Arial"
};
// HTML footer with branded layout
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = @"
<div style='border-top: 1px solid #ccc; padding: 8px; font-size: 10px;
display: flex; justify-content: space-between;'>
<span>© 2026 Enterprise Corp</span>
<span>Page {page} of {total-pages}</span>
<span>Classification: Internal</span>
</div>",
MaxHeight = 40
};
renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginBottom = 40;
var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Financial data goes here.</p>");
pdf.SaveAs("report-with-headers.pdf");Imports IronPdf
Dim renderer = New ChromePdfRenderer()
' Simple text header with divider line
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.CenterText = "Quarterly Financial Report",
.LeftText = "Document ID: {document-id}",
.RightText = "{date:yyyy-MM-dd}",
.DrawDividerLine = True,
.FontSize = 10,
.FontFamily = "Arial"
}
' HTML footer with branded layout
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.HtmlFragment = "
<div style='border-top: 1px solid #ccc; padding: 8px; font-size: 10px;
display: flex; justify-content: space-between;'>
<span>© 2026 Enterprise Corp</span>
<span>Page {page} of {total-pages}</span>
<span>Classification: Internal</span>
</div>",
.MaxHeight = 40
}
renderer.RenderingOptions.MarginTop = 40
renderer.RenderingOptions.MarginBottom = 40
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Financial data goes here.</p>")
pdf.SaveAs("report-with-headers.pdf")
Consulte a documentação de cabeçalhos e rodapés para obter a lista completa de espaços reservados disponíveis e padrões de marca avançados.
Como configurar o layout da página PDF e as opções de renderização?
IronPDF oferece controle total sobre o layout da página, margens, DPI e comportamento de renderização CSS através da propriedade RenderingOptions. Aqui você configura o tamanho do papel, o CSS para impressão versus exibição na tela e a geração de formulários interativos.
Opções de renderização principais
using IronPdf;
var renderer = new ChromePdfRenderer();
// Set paper dimensions and orientation
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
// Define margins (values in millimeters)
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 19;
renderer.RenderingOptions.MarginRight = 19;
// Use print-specific CSS rules and set output DPI
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.DPI = 300;
// Preserve HTML form elements as interactive PDF form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
var pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout Document</h1><p>Content with configured layout.</p>");
pdf.SaveAs("configured-output.pdf");Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Set paper dimensions and orientation
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait
' Define margins (values in millimeters)
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginLeft = 19
renderer.RenderingOptions.MarginRight = 19
' Use print-specific CSS rules and set output DPI
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.DPI = 300
' Preserve HTML form elements as interactive PDF form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout Document</h1><p>Content with configured layout.</p>")
pdf.SaveAs("configured-output.pdf")
A tabela abaixo resume as principais opções de renderização e seus efeitos na saída:
| Opção | Propósito | Valor de exemplo |
|---|---|---|
TamanhoDoPapel | Define as dimensões do papel (Carta, A4, Ofício, etc.) | PdfPaperSize.A4 |
MarginTop / MarginBottom | Define as margens da página em milímetros. | 25 |
DPI | Resolução de saída -- valores mais altos para melhor qualidade de impressão | 300 |
CssMediaType | Escolhe entre regras CSS para tela e impressão. | PdfCssMediaType.Print |
EnableJavaScript | Habilita ou desabilita a execução de JavaScript durante a renderização. | true |
CreatePdfFormsFromHtml | Converte elementos de formulário HTML em formulários PDF interativos. | true |
WaitFor.RenderDelay | Adiciona um atraso antes da captura para permitir a execução de JS. | 500 (ms) |
Para obter uma lista completa das opções disponíveis, consulte o guia de opções de renderização . Os guias relacionados abordam o tratamento de CSS responsivo e o controle de quebras de página para desafios comuns de layout.
Como gerar PDFs em ASP.NET Core MVC?
No ASP.NET Core MVC, você retorna um PDF diretamente de uma ação do controlador usando File(). O padrão é renderizar uma URL interna ou uma string HTML para um objeto PdfDocument, então retornar seus dados binários com o tipo MIME application/pdf.
Retornando um PDF de uma ação do controlador
O exemplo a seguir renderiza um URL de relatório interno e retorna o resultado como um arquivo para download. A documentação ASP.NET Core MVC da Microsoft cobre a classe base Controller e o tipo de retorno File() em detalhe:
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class ReportsController : Controller
{
public IActionResult GeneratePdf()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
// Add a text footer with page numbers
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
CenterText = "Page {page} of {total-pages}",
FontSize = 9
};
// Build the URL to the internal report page and render it
string reportUrl = $"{Request.Scheme}://{Request.Host}/reports/quarterly";
var pdf = renderer.RenderUrlAsPdf(reportUrl);
return File(pdf.BinaryData, "application/pdf", "quarterly-report.pdf");
}
}Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Public Class ReportsController
Inherits Controller
Public Function GeneratePdf() As IActionResult
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
' Add a text footer with page numbers
renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.CenterText = "Page {page} of {total-pages}",
.FontSize = 9
}
' Build the URL to the internal report page and render it
Dim reportUrl As String = $"{Request.Scheme}://{Request.Host}/reports/quarterly"
Dim pdf = renderer.RenderUrlAsPdf(reportUrl)
Return File(pdf.BinaryData, "application/pdf", "quarterly-report.pdf")
End Function
End Class
Para renderização de visualizações Razor , consulte Conversão de CSHTML para PDF e Renderização de visualizações Razor sem HTTP . Se sua aplicação lida com um grande volume de solicitações de PDF, revise a geração assíncrona de PDFs para padrões de geração não bloqueantes que mantenham a aplicação responsiva sob carga.
Quais recursos de segurança e conformidade o IronPDF oferece?
Além da geração básica de PDFs, o IronPDF inclui um conjunto de recursos para organizações que exigem segurança de documentos, arquivamento a longo prazo ou conformidade com a acessibilidade. Essas normas são particularmente relevantes para aplicações nas áreas de finanças, saúde, direito e governo, onde os documentos devem atender a padrões regulatórios definidos.
Segurança de Documentos
A proteção por senha e as permissões permitem que você controle quem pode abrir, imprimir, editar ou copiar o conteúdo dos seus PDFs. Consulte o guia de permissões e senhas para obter detalhes sobre a configuração.
O IronPDF oferece suporte à assinatura digital com certificados X.509 , incluindo assinaturas baseadas em HSM para organizações com requisitos rigorosos de gerenciamento de chaves. Consulte o guia de assinaturas digitais .
Conformidade com os requisitos de arquivamento e acessibilidade
Para o arquivamento de documentos a longo prazo em setores regulamentados, o IronPDF pode converter PDFs padrão para o formato PDF/A — o padrão ISO para documentos de qualidade arquivística.
Para atender aos requisitos de acessibilidade da Seção 508 e do WCAG, o IronPDF oferece suporte à geração de PDFs acessíveis e com tags, em conformidade com o padrão PDF/UA .
Redação de conteúdo e metadados
Informações sensíveis podem ser removidas permanentemente usando os recursos de redação , que eliminam o conteúdo sem deixar vestígios recuperáveis. Para trilhas de auditoria e classificação de documentos, você pode definir autor, data de criação, palavras-chave e campos de metadados personalizados por meio do guia de metadados .
Como posso começar com um teste gratuito?
O IronPDF está disponível com uma licença de avaliação gratuita que inclui todos os recursos abordados neste guia: geração de PDF, controles de segurança, cabeçalhos e rodapés e recursos de conformidade. Não é necessário cartão de crédito para iniciar os testes.
Para explorar funcionalidades adicionais, consulte a referência completa da API e a biblioteca de exemplos de código para implementações práticas que abrangem os cenários de PDF mais comuns. O guia de início rápido oferece um ponto de partida conciso caso este seja seu primeiro projeto com o IronPDF.
Para implantações em produção, explore a compressão de PDF para reduzir o tamanho dos arquivos, a fusão e divisão de PDFs para gerenciamento de documentos e os recursos de OCR por meio do IronOCR para extrair texto de documentos digitalizados. Todos os produtos da Iron Software compartilham licenças compatíveis e podem ser usados juntos no mesmo aplicativo.

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.
Artigos relacionados


