Cómo convertir XAML a PDF en MAUI
.NET MAUI(Interfaz de usuario multiplataforma) es un marco multiplataforma para crear aplicaciones nativas para dispositivos. Es una extensión de Xamarin.Forms y forma parte del ecosistema unificado de .NET 6. Permite a los desarrolladores de aplicaciones .NET crear aplicaciones para plataformas de escritorio, web y móviles utilizando componentes de interfaz de usuario comunes y un único código base. MAUI también te permite añadir código y recursos específicos de la plataforma cuando sea necesario.
IronPdf permite generar documentos PDF a partir de páginas MAUI, haciendo posible la creación de archivos/páginas PDF en estas aplicaciones. Sin embargo, IronPdf no es compatible actualmente con plataformas móviles.
Cómo convertir XAML a PDF en MAUI
- Descargar la biblioteca IronPdf C# para MAUI
- Modificar el MainPage.xaml.cs para utilizar el
RenderContentPageToPdf
método - Actualizar el botón en el MainPage.xaml para activar la nueva función
- Exportar el documento PDF o verlo en la aplicación MAUI utilizando un visor de PDF
- Descarga el proyecto MAUI de muestra para un inicio rápido
Paquete de extensión IronPdf
El paquete IronPdf.Extensions.Maui es la extensión del paquete principal IronPdf. Al tratarse de una extensión, el paquete principal IronPdf sigue siendo necesario para convertir la página de contenido de una aplicación MAUI en un documento PDF.
PM > Install-Package IronPdf.Extensions.Maui
Instalar con NuGet
Install-Package IronPdf.Extensions.Maui
Renderizar Página MAUI a PDF
Editar archivo MainPage.xaml.cs
- Vaya del archivo MainPage.xaml a su archivo de código, MainPage.xaml.cs.
Cambia la función llamada OnCounterClicked por PrintToPdf. Utilice el código de ejemplo que figura a continuación.
Para convertir tu página MAUI en un PDF, usa el método
RenderContentPageToPdf
. Se puede acceder al método instanciando la clase ChromePdfRenderer. Este método le proporcionará un objeto PdfDocument, que podrá guardar o visualizar utilizando el métodoSaveAs
o un visor de PDF conVer PDFs en MAUI.Atención
EnRenderContentPageToPdf
el método aún no es compatible con la vinculación de datos.
: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
Además, como habrás notado, renderizar desde XAML también te da acceso completo a todas las características disponibles en RenderingOptions. Esto incluye añadirtexto y encabezados y pies de página HTML. También puedeimágenes de sellosAñadirnúmeros de páginae incluso personalizar el tamaño y el diseño de la página. Todas estas opciones están disponibles cuando se utiliza este método para crear un PDF.
Editar archivo MainPage.xaml
En el archivo MainPage.xaml, sustituya la función predeterminada OnCounterClicked por la nueva función PrintToPdf. Al hacer clic en este botón se ejecutará el método PrintToPdf y se creará el PDF.
<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" />
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<Button x:Name="PrintToPdfBtn" Text="Print to pdf" SemanticProperties.Hint="Click to print page as PDF" Clicked="PrintToPdf" HorizontalOptions="Center" />
Salida PDF
Antes de guardar su archivo PDF, puede realizar más cambios en él utilizando los métodos disponibles en PdfDocument. Puedefusionar páginas, separarlaso girarlos. También puede añadiranotaciones yfavoritos a su PDF.
Descargar proyecto de aplicación .NET MAUI
Puedes descargar el código completo de esta guía. Viene como un archivo comprimido que puedes abrir en Visual Studio como un proyecto de aplicación .NET MAUI.