Como converter HTML para PDF em C# for .NET 10 usando o IronPDF
.NET MAUI permite às equipes lançar uma única base de código para Windows e macOS, o que a torna uma escolha popular para aplicativos de desktop de linha de negócios, como ferramentas de serviço de campo, sistemas de ponto de venda e painéis de operações. Esses aplicativos já renderizam telas estruturadas no XAML, e os usuários frequentemente precisam de uma cópia do que veem como um documento portátil. O IronPDF transforma a página atual do MAUI em um PDF com uma chamada de método, para que a interface do usuário que a equipe já criou se torne o relatório.
Onde a necessidade aparece
Um inspetor de campo termina um trabalho em um formulário XAML. Um vendedor cria uma cotação na tela. Um gerente revisa um painel de KPI. Cada um termina da mesma maneira: alguém quer um registro limpo e compartilhável para um cliente ou o escritório de retaguarda. Recriar essa tela como um modelo de relatório separado significa dois layouts que se separam com o tempo. Apontar o documento diretamente para a página existente evita essa manutenção.
Uma página, um documento
IronPDF renderiza um MAUI ContentPage para PDF através do seu motor Chrome, preservando fontes, cores e layout. O método RenderContentPageToPdf lida com a conversão, e o resultado é um PdfDocument padrão pronto para salvar ou editar.
using IronPdf;
using IronPdf.Extensions.Maui;
private async void PrintToPdf(object sender, EventArgs e)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
HtmlFragment = "<h1>Inspection Report</h1>"
};
PdfDocument pdf = await renderer.RenderContentPageToPdf<MainPage, App>();
pdf.SaveAs("inspection-report.pdf");
}
using IronPdf;
using IronPdf.Extensions.Maui;
private async void PrintToPdf(object sender, EventArgs e)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
HtmlFragment = "<h1>Inspection Report</h1>"
};
PdfDocument pdf = await renderer.RenderContentPageToPdf<MainPage, App>();
pdf.SaveAs("inspection-report.pdf");
}
Imports IronPdf
Imports IronPdf.Extensions.Maui
Private Async Sub PrintToPdf(sender As Object, e As EventArgs)
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
.HtmlFragment = "<h1>Inspection Report</h1>"
}
Dim pdf As PdfDocument = Await renderer.RenderContentPageToPdf(Of MainPage, App)()
pdf.SaveAs("inspection-report.pdf")
End Sub
Conectar isso a um botão no arquivo XAML é todo o trabalho de interface do usuário necessário:
<Button
Text="Save as PDF"
Clicked="PrintToPdf"
HorizontalOptions="Center" />
<Button
Text="Save as PDF"
Clicked="PrintToPdf"
HorizontalOptions="Center" />
Antes de conectá-lo
Alguns detalhes determinam se o recurso será entregue corretamente:
- Pacote de extensão:
RenderContentPageToPdfvive no pacoteIronPdf.Extensions.Maui, que está por cima do pacote principal IronPdf. Ambos são necessários. - Manipulação assíncrona: O método retorna uma tarefa, então aguardá-la mantém a interface responsiva enquanto uma página complexa renderiza. Um indicador de carregamento no botão melhora a experiência.
- Local de salvamento: Use um seletor de arquivos ou um diretório apropriado para a plataforma em vez de um caminho codificado, já que o mesmo código é executado no Windows e macOS.
- Escopo da plataforma: Geração de PDF no MAUI tem como alvo desktop e web. Plataformas móveis não são suportadas.
Um botão e uma chamada de método
Esse é todo o recurso: um botão, uma chamada. As equipes adicionam exportações de faturas, relatórios de inspeção e snapshots de painéis a um aplicativo de desktop MAUI sem uma camada de relatório separada. Como a saída é um PdfDocument, etapas adicionais, como números de página e compressão, estão disponíveis antes de salvar. Os detalhes completos do método estão no guia de XAML para PDF.
Perguntas frequentes
Como eu exporto uma página MAUI para PDF com IronPDF?
Instale ambos os pacotes NuGet: IronPdf e IronPdf.Extensions.Maui. Crie um ChromePdfRenderer, chame await renderer.RenderContentPageToPdf<TPage, TApp>(), e salve o PdfDocument resultante.
O IronPDF suporta MAUI tanto no Windows quanto no macOS?
Sim. A extensão MAUI do IronPDF tem como alvo plataformas de desktop — Windows e macOS. Plataformas móveis (iOS e Android) não são suportadas.
Eu preciso de um modelo de relatório separado para gerar PDFs de um aplicativo MAUI?
Não. O IronPDF renderiza o XAML ContentPage existente para PDF através do seu mecanismo Chrome, preservando fontes, cores e layout. A página que você já construiu se torna o documento, sem a necessidade de manter um modelo duplicado.
Quais pacotes NuGet eu preciso para gerar PDF no MAUI?
Você precisa de IronPdf (o pacote principal) e IronPdf.Extensions.Maui (a extensão específica para MAUI). O método RenderContentPageToPdf é definido no pacote de extensão.
Posso adicionar cabeçalhos, rodapés ou pós-processar o PDF após renderizar uma página MAUI?
Sim. RenderContentPageToPdf retorna um objeto padrão PdfDocument. Você pode adicionar cabeçalhos e rodapés através de RenderingOptions.HtmlHeader ou HtmlFooter antes da chamada, e aplicar edições adicionais como numeração de páginas ou compressão antes de salvar.

