PDFsharp: Adicionar números de página a um PDF vs. IronPDF (Exemplo)
Muitas organizações ainda executam Web Forms ASP.NET por trás de portais bancários, sistemas de contabilidade e painéis internos. Os aplicativos estão estáveis, mas raramente oferecem uma maneira limpa de entregar um documento baixável ao usuário. Adicionar exportação PDF é enquadrado como uma razão para migração para MVC ou Blazor, um movimento caro para um software que de outro modo funciona bem. O IronPDF segue o caminho mais barato: ele transforma a página ASPX que um usuário já está visualizando em PDF com uma única linha de código.
Onde a Lacuna Aparece
Uma página de Web Forms geralmente renderiza sua fatura, extrato ou relatório como HTML já estilizado. Funcionários e clientes então querem essa mesma visualização como um arquivo portátil que possam salvar, enviar por email ou imprimir. Um modelo PDF separado significa um segundo layout que se distancia do primeiro. O diálogo de impressão do navegador produz resultados diferentes em cada máquina. O que as equipes precisam é de um PDF do lado do servidor que espelhe a página na tela.
Renderizando a Página no Lugar
IronPDF converte a página ASPX ao vivo de dentro do evento Page_Load. O método AspxToPdf.RenderThisPageAsPdf reutiliza a página já construída para a visualização web, portanto, estilos, links e campos de formulário são mantidos.
using IronPdf;
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf");
}
}
using IronPdf;
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf");
}
}
Imports IronPdf
Public Partial Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs)
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf")
End Sub
End Class
FileBehavior.Attachment aciona um download com um nome de arquivo escolhido. FileBehavior.InBrowser exibe o documento embutido em vez disso.
Controlando a Saída
As opções de renderização cobrem os detalhes que tornam a saída adequada para distribuição: cabeçalhos, rodapés, numeração de páginas e uma folha de estilo de impressão que remove a navegação apenas para tela.
var options = new ChromePdfRenderOptions
{
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print,
TextFooter = new TextHeaderFooter
{
LeftText = "{date} - {time}",
RightText = "Page {page} of {total-pages}"
}
};
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", options);
var options = new ChromePdfRenderOptions
{
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print,
TextFooter = new TextHeaderFooter
{
LeftText = "{date} - {time}",
RightText = "Page {page} of {total-pages}"
}
};
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", options);
Imports IronPdf.Rendering
Dim options As New ChromePdfRenderOptions With {
.CssMediaType = PdfCssMediaType.Print,
.TextFooter = New TextHeaderFooter With {
.LeftText = "{date} - {time}",
.RightText = "Page {page} of {total-pages}"
}
}
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", options)
Configurações Que Decidem uma Conversão Limpa
Um punhado de escolhas determina se a conversão se mantém sob carga:
- Conteúdo dinâmico: Páginas usando Ajax ou gráficos do lado do cliente precisam de
EnableJavaScriptjunto com uma regraWaitForpara que a renderização capture a página finalizada. See the WaitFor guide. - Estilo de impressão: Definir
CssMediaTypepara Print aplica uma folha de estilo dedicada, que mantém botões e menus fora do documento. - Rendimento: A renderização em Chromium é intensiva em recursos, portanto, processamento assíncrono mantém os pontos de extremidade com alta demanda responsivos.
Uma linha, sem reescrita
Essa única chamada dentro de uma página existente fornece a uma aplicação Web Forms downloads de faturas, extratos imprimíveis e relatórios exportáveis, sem necessidade de migração. Referência completa do método e opções de configuração estão disponíveis no guia ASPX para PDF.
Perguntas frequentes
Posso adicionar exportação de PDF ao ASP.NET Web Forms sem migrar para MVC ou Blazor?
Sim. O método AspxToPdf.RenderThisPageAsPdf do IronPDF converte a página ASPX ao vivo em PDF a partir do evento Page_Load, reutilizando o layout da página existente sem qualquer migração de framework.
Como o IronPDF lida com conteúdo dinâmico como gráficos Ajax em Web Forms?
Habilite EnableJavaScript nas opções de renderização e adicione uma regra WaitFor para que o IronPDF espere até que o JavaScript tenha terminado de executar antes de capturar a página.
Qual é a diferença entre FileBehavior.Attachment e FileBehavior.InBrowser?
FileBehavior.Attachment envia o PDF como download de arquivo com um nome de arquivo escolhido. FileBehavior.InBrowser exibe o PDF embutido na guia do navegador.
Como adiciono cabeçalhos, rodapés e números de página a uma exportação de PDF ASPX?
Use ChromePdfRenderOptions com um TextFooter (ou TextHeader) que referencie os espaços reservados {page} e {total-pages}. Defina CssMediaType como Print para aplicar sua folha de estilos de impressão.
O IronPDF funciona com ASP.NET Web Forms no .NET Framework?
Sim. O IronPDF suporta .NET Framework 4.6.2 e posteriores, assim como .NET Core, .NET 5, e todas as versões modernas do .NET. Funciona em aplicações Web Forms direcionadas a qualquer um desses runtimes.

