Como converter XAML para PDF no .NET MAUI

Converting XAML to PDF in C# MAUI

This article was translated from English: Does it need improvement?
Translated
View the article in English

O IronPDF permite converter páginas XAML em PDF em aplicações .NET MAUI com apenas algumas linhas de código. Ao utilizar o método RenderContentPageToPdf, você pode converter a interface do usuário do seu aplicativo MAUI em documentos PDF profissionais para plataformas desktop e web.

.NET MAUI (Multi-platform App UI) é uma estrutura multiplataforma para a criação de aplicativos nativos para dispositivos. É uma extensão do Xamarin.Forms e faz parte do ecossistema unificado do .NET 6. Ele permite que desenvolvedores de aplicativos .NET criem aplicativos para plataformas desktop, web e móveis usando componentes de interface do usuário comuns e uma única base de código. O MAUI também permite adicionar código e recursos específicos da plataforma quando necessário.

O IronPDF permite gerar documentos PDF a partir de páginas MAUI, possibilitando a criação de arquivos/páginas PDF nesses aplicativos. Quer você esteja desenvolvendo para Windows ou macOS , o IronPDF oferece recursos consistentes de geração de PDFs. No entanto, o IronPDF atualmente não oferece suporte a plataformas móveis.

O processo de geração de PDFs em aplicativos MAUI utiliza o mecanismo de renderização Chrome do IronPDF, garantindo que seus layouts XAML sejam traduzidos com precisão para o formato PDF. Isso o torna ideal para gerar relatórios, faturas ou qualquer documento que precise preservar a integridade visual da interface do usuário do seu aplicativo MAUI.

Guia rápido: Converter XAML para PDF com IronPDF no .NET MAUI

Converta suas páginas XAML em PDF no .NET MAUI usando o IronPDF. Com apenas algumas linhas de código, você pode converter o conteúdo do seu aplicativo MAUI em documentos PDF de qualidade profissional. Este guia fornece um exemplo simples para você começar rapidamente a usar os recursos de renderização eficientes do IronPDF. Acompanhe para integrar a geração de PDFs de forma simples e eficaz em seus aplicativos para desktop e web.

var pdf = new IronPdf.ChromePdfRenderer().RenderContentPageToPdf<MainPage,App>().SaveAs("page.pdf");
var pdf = new IronPdf.ChromePdfRenderer().RenderContentPageToPdf<MainPage,App>().SaveAs("page.pdf");
$vbLabelText   $csharpLabel

Fluxo de trabalho mínimo (5 etapas)

  1. Baixe a biblioteca IronPDF C# para MAUI.
  2. Modifique o arquivo MainPage.xaml.cs para usar o método RenderContentPageToPdf
  3. Atualize o botão no arquivo MainPage.xaml para acionar a nova função.
  4. Exporte o documento PDF ou visualize-o no aplicativo MAUI usando um visualizador de PDF.
  5. Baixe o projeto de exemplo MAUI para começar rapidamente.

Que pacote de extensão preciso para o IronPDF com MAUI?

O pacote IronPdf.Extensions.Maui é uma extensão do pacote principal IronPdf. Por se tratar de uma extensão, o pacote principal do IronPDF ainda é necessário para renderizar a página de conteúdo de um aplicativo MAUI em um documento PDF. Este pacote de extensão preenche especificamente a lacuna entre a estrutura de interface do usuário baseada em XAML do MAUI e os recursos de geração de PDF do IronPDF.

O pacote de extensão lida com a conversão de objetos MAUI ContentPage em HTML que pode ser renderizado como PDF. Ele preserva o layout e o estilo das suas páginas MAUI, ao mesmo tempo que oferece acesso a todos os recursos avançados do IronPDF, como margens personalizadas , tamanhos de papel personalizados e compressão de PDF .

Install-Package IronPdf.Extensions.Maui
Install-Package IronPdf.Extensions.Maui
SHELL

Após instalar o pacote de extensão, você terá acesso ao método RenderContentPageToPdf, que é fundamental para converter suas páginas MAUI. Este método é otimizado para desempenho e mantém a fidelidade visual dos seus layouts XAML durante o processo de conversão.

Como faço para converter uma página MAUI em PDF?

Qual arquivo de código devo modificar primeiro?

  • Vá do arquivo MainPage.xaml para o seu arquivo de código, MainPage.xaml.cs.
  • Alterar a função denominada OnCounterClicked para PrintToPdf. Utilize o exemplo de código abaixo.

Para converter sua página MAUI em PDF, use o método RenderContentPageToPdf. O método pode ser acessado instanciando a classe ChromePdfRenderer. Este método lhe dará um objeto PdfDocument, que você pode salvar ou visualizar usando o método SaveAs ou um visualizador de PDF com Visualizando PDFs no MAUI .

A classe ChromePdfRenderer oferece amplas opções de personalização por meio de sua propriedade RenderingOptions. Você pode definir as margens da página, a orientação do papel, habilitar a execução de JavaScript e muito mais. Essas opções garantem que o seu arquivo PDF gerado corresponda exatamente às suas necessidades.

:path=/static-assets/pdf/content-code-examples/how-to/xaml-to-pdf-maui-mainpage-xaml-cs.cs
using IronPdf.Extensions.Maui;

namespace mauiSample;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void PrintToPdf(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply HTML header
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<h1>Header</h1>",
        };

        // Render PDF from Maui Page
        PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;

        pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
    }
}
Imports IronPdf.Extensions.Maui

Namespace mauiSample

	Partial Public Class MainPage
		Inherits ContentPage

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub PrintToPdf(ByVal sender As Object, ByVal e As EventArgs)
			Dim renderer As New ChromePdfRenderer()

			' Apply HTML header
			renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<h1>Header</h1>"}

			' Render PDF from Maui Page
			Dim pdf As PdfDocument = renderer.RenderContentPageToPdf(Of MainPage, App)().Result

			pdf.SaveAs("C:\Users\lyty1\Downloads\contentPageToPdf.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Além disso, como você deve ter notado, a renderização a partir do XAML também lhe dá acesso total a todos os recursos disponíveis em RenderingOptions. Isso inclui adicionar cabeçalhos e rodapés de texto e HTML . Você também pode inserir imagens , adicionar números de página e até personalizar o tamanho e o layout da página. Todas essas opções estão disponíveis quando você usa esse método para criar um PDF.

O método RenderContentPageToPdf é assíncrono por padrão, retornando uma Task<PdfDocument>. Isso permite a geração de PDFs sem bloqueio, o que é particularmente útil ao lidar com layouts complexos ou ao gerar vários PDFs simultaneamente. O método lida automaticamente com a conversão de elementos visuais XAML em seus equivalentes em PDF, preservando cores, fontes e estruturas de layout.

Que alterações preciso fazer no arquivo XAML?

No arquivo MainPage.xaml, substitua a função padrão OnCounterClicked pela nova função PrintToPdf. Clicar neste botão executará o método PrintToPdf e criará o PDF. Essa simples modificação transforma seu aplicativo MAUI em um gerador de PDF com alterações mínimas no código.

<Button
    x:Name="PrintToPdfBtn"
    Text="Print to pdf"
    SemanticProperties.Hint="Click to print page as PDF"
    Clicked="PrintToPdf"
    HorizontalOptions="Center" />
<Button
    x:Name="PrintToPdfBtn"
    Text="Print to pdf"
    SemanticProperties.Hint="Click to print page as PDF"
    Clicked="PrintToPdf"
    HorizontalOptions="Center" />
XML

O botão pode ser estilizado usando as propriedades de estilo padrão do MAUI, e você pode adicionar feedback visual adicional, como indicadores de carregamento, enquanto o PDF está sendo gerado. Isso garante uma experiência de usuário tranquila durante o processo de criação de PDFs.

Qual é a aparência do PDF gerado?

Antes de salvar seu arquivo PDF, você pode fazer mais alterações nele usando os métodos disponíveis para PdfDocument. Você pode mesclar páginas, separá-las ou girá-las. Você também pode adicionar anotações e marcadores ao seu PDF. Além disso, você pode definir metadados de PDF, como autor, título e palavras-chave, para melhorar a organização e a capacidade de busca do documento.

O PDF gerado mantém a hierarquia visual e o estilo da sua página MAUI, incluindo fontes, cores e restrições de layout. Isso o torna perfeito para criar versões imprimíveis das telas do seu aplicativo ou gerar relatórios com base na interface do usuário do seu app.

Onde posso baixar um projeto de exemplo completo do MAUI?

Você pode baixar o código completo deste guia. Ele está compactado em um arquivo zip que pode ser aberto no Visual Studio como um projeto de aplicativo .NET MAUI . O projeto de exemplo inclui todas as dependências necessárias e demonstra as melhores práticas para integrar o IronPDF em seus aplicativos MAUI.

O projeto de exemplo está configurado para funcionar tanto em plataformas desktop Windows quanto macOS, demonstrando os recursos multiplataforma do MAUI e do IronPDF. Inclui exemplos de vários cenários de geração de PDFs e demonstra como lidar com diferentes layouts de página e tipos de conteúdo.

Baixe o projeto de exemplo completo do MAUI

Explore mais possibilidades com nossa página de tutoriais aqui: Converter PDFs . Você também pode se interessar em explorar nossos guias sobre compressão de PDF para melhorar os PDFs gerados para distribuição na web, ou aprender sobre como criar PDFs em Blazor Servers para cenários de geração de PDFs baseados na web.

Perguntas frequentes

O que é .NET MAUI e como se relaciona com a geração de PDFs?

.NET MAUI (Multi-platform App UI) é um framework multiplataforma para a criação de aplicativos nativos para dispositivos móveis, que estende o Xamarin.Forms. O IronPDF integra-se com aplicativos .NET MAUI para permitir a geração de PDFs a partir de páginas XAML usando o método RenderContentPageToPdf, possibilitando que os desenvolvedores transformem a interface do usuário de seus aplicativos MAUI em documentos PDF profissionais.

Quais plataformas são suportadas para geração de PDFs em aplicativos MAUI?

O IronPDF atualmente oferece suporte à geração de PDFs em aplicativos MAUI para desktop (Windows e macOS) e plataformas web. Plataformas móveis não são suportadas pelo IronPDF para geração de PDFs em MAUI.

Qual pacote de extensão é necessário para converter XAML em PDF no MAUI?

Você precisa do pacote IronPDF.Extensions.Maui juntamente com o pacote principal do IronPDF. O pacote de extensão faz a ponte entre a estrutura de interface do usuário baseada em XAML do MAUI e os recursos de geração de PDF do IronPDF, gerenciando a conversão de objetos ContentPage do MAUI em HTML que pode ser renderizado como PDF.

Como faço para converter uma página MAUI XAML em PDF usando C#?

Converter uma página XAML do MAUI para PDF com o IronPDF é simples. Você pode usar o método `RenderContentPageToPdf` com apenas uma linha de código: `var pdf = new IronPDF.ChromePdfRenderer().RenderContentPageToPdf().SaveAs('page.pdf')`. Isso aproveita o mecanismo de renderização do Chrome do IronPDF para traduzir com precisão os layouts XAML para o formato PDF.

Quais são os passos básicos para implementar a geração de PDFs em uma aplicação MAUI?

O fluxo de trabalho básico inclui: 1) Baixar a biblioteca IronPDF C# para MAUI, 2) Modificar o arquivo MainPage.xaml.cs para usar o método RenderContentPageToPdf, 3) Atualizar o botão em MainPage.xaml para acionar a função, 4) Exportar o documento PDF ou visualizá-lo no aplicativo MAUI e 5) Opcionalmente, baixar o projeto de exemplo MAUI do IronPDF para começar rapidamente.

Qual mecanismo de renderização é usado no processo de conversão de PDF?

O IronPDF utiliza seu mecanismo de renderização Chrome para o processo de geração de PDFs em aplicações MAUI. Isso garante que seus layouts XAML sejam traduzidos com precisão para o formato PDF, preservando a integridade visual da interface do usuário da sua aplicação MAUI.

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

Leia mais
Pronto para começar?
Nuget Downloads 18,318,263 | Versão: 2026.4 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.