USO DE IRONPDF

Crear un archivo PDF en .NET MAUI Usando IronPDF

Actualizado 22 de septiembre, 2022
Compartir:

Introducción

La interfaz de usuario de aplicaciones multiplataforma .NET (.NET MAUI) es un marco multiplataforma para crear aplicaciones nativas para móviles y ordenadores de sobremesa con C# y XAML. Puede utilizar .NET MAUI para operar en Android, iOS, MacOS y Windows utilizando una única base de código. .NET MAUI es de código abierto y es una mejora de Xamarin Forms. Los controles de la interfaz de usuario se han reescrito desde cero para mejorar el rendimiento y la extensibilidad. Además, ha pasado de la plataforma móvil a incluir casos de uso en ordenadores de sobremesa. Si alguna vez ha utilizado Xamarin Forms para crear interfaces de usuario multiplataforma, descubrirá que el marco MAUI de .NET tiene mucho en común con él.

Sin embargo, existen algunas diferencias. Puedes construir aplicaciones multiplataforma con .NET MAUI Framework utilizando un único proyecto, pero puedes añadir código y recursos específicos de la plataforma si es necesario. Uno de los principales objetivos de .NET MAUI es permitirle escribir la mayor parte de la lógica de su aplicación y el diseño de interfaz de usuario en una sola base de código como sea posible. .NET MAUI estará disponible para todas las plataformas y será compatible con los patrones MVVM y XAML existentes.

.NET MAUI permite a los desarrolladores trabajar en varias plataformas, como el desarrollo móvil y las plataformas Windows.

Características de IronPDF

IronPDF es un potente conversor de PDF que puede manejar casi cualquier tarea que pueda realizar un navegador. La biblioteca .NET para desarrolladores simplifica la creación, lectura y manipulación de archivos PDF. IronPDF utiliza el motor de Google Chrome para convertir archivos HTML a PDF. Entre otras tecnologías web, IronPDF es compatible con HTML, ASPX, Páginas Razor y Vista MVC. IronPDF es compatible con aplicaciones Microsoft .NET (tanto Aplicaciones Web ASP.NET como Aplicaciones Windows tradicionales). IronPDF también puede utilizarse para crear atractivos documentos PDF.

IronPDF puede crear archivos PDF a partir de archivos HTML que contiene archivos JavaScript, CSS e imágenes.

No sólo puede Conversión de archivos HTML a PDF pero también puede convertir archivos de imagen a PDF.

IronPDF puede ayudar a crear documentos PDF interactivos, rellenar y enviar formularios interactivos, fusionar y dividir documentos PDF, extraer texto e imágenes de documentos PDF, buscar texto en documentos PDF, rasterizar páginas PDF a imágenes, convertir PDF a HTML y imprimir documentos PDF.

IronPDF puede generar un documento a partir de una URL. Para iniciar sesión detrás de HTML formularios de acceso También permite el uso de credenciales de acceso de red personalizadas, agentes de usuario, proxies, cookies, cabeceras HTTP y variables de formulario.

IronPDF es una biblioteca que puede leer y rellenar documentos PDF y es capaz de extraer imágenes de los documentos. Nos permite añadir encabezados, pies de páginatexto, fotos, favoritos marcas de agua y mucho más a los documentos. También nos permite unir y dividir páginas en un documento nuevo o existente. IronPDF es capaz de convertir documentos en objetos PDF sin necesidad de utilizar un visor Acrobat. También es posible convertir un archivo CSS en un documento PDF y los archivos CSS de tipo multimedia pueden convertirse en documentos.

Creación de un nuevo proyecto en Visual Studio

En primer lugar, cree un proyecto utilizando tanto Visual Studio Code como Visual Studio. Cuando se utiliza Visual Studio Code, es necesario utilizar la herramienta de línea de comandos para instalar la plantilla de tipo de proyecto.

Abra el software Microsoft Visual Studio y vaya al menú Archivo. Selecciona "nuevo proyecto", y en la ventana de nuevo proyecto selecciona ".NET MAUI App". Este artículo utilizará una aplicación .NET MAUI para generar documentos PDF y guardarlos en una ubicación adecuada.

Crear un archivo PDF en .NET MAUI Usando IronPDF, Figura 1: Crear un nuevo proyecto en Visual Studio

Crea un nuevo proyecto en Visual Studio.

Introduzca el nombre del proyecto y seleccione la ruta del archivo en el cuadro de texto correspondiente. A continuación, haga clic en el botón Crear, como en la captura de pantalla siguiente.

Crear un archivo PDF en .NET MAUI Usando IronPDF, Figura 2: Configurar el proyecto

Configurar el proyecto

El proyecto de Visual Studio generará ahora la estructura para la aplicación seleccionada siguiendo la plataforma .NET MAUI App, ahora abrirá el archivo MainPage.cs para añadir el código y construir/ejecutar la aplicación.

Creando un archivo PDF en .NET MAUI Usando IronPDF, Figura 3: Añadiendo código en el archivo MainPage.cs

Agregando código en el archivo MainPage.cs

A continuación, instala la biblioteca para probar el código.

Instalar la biblioteca IronPDF

La biblioteca IronPDF puede descargarse e instalarse de cuatro maneras.

Estos son:

  • Utilización de Visual Studio.
  • Uso de la línea de comandos de Visual Studio.
  • Descarga directa desde el sitio web de NuGet.
  • Descarga directa desde el sitio web de IronPDF.

Uso de Visual Studio

El software Visual Studio proporciona la opción NuGet Package Manager para instalar el paquete directamente en la solución. La siguiente captura de pantalla muestra cómo abrir el Gestor de paquetes NuGet.

Creación de un archivo PDF en .NET MAUI usando IronPDF, Figura 4: Navegar a NuGet Package Manager UI

Navegue a la interfaz de usuario del Gestor de paquetes NuGet.

Esto proporciona el cuadro de búsqueda para mostrar la lista de paquetes del sitio web de NuGet. En el gestor de paquetes NuGet, busque la palabra clave "IronPDF", como en la captura de pantalla siguiente.

Creación de un archivo PDF en .NET MAUI Usando IronPDF, Figura 5: Seleccionar el paquete IronPdf desde la UI del Gestor de Paquetes NuGet

Paquete IronPdf desde la interfaz de usuario del gestor de paquetes NuGet.

En la imagen anterior, se enumeran los elementos de búsqueda relacionados, seleccione la primera opción para instalar el paquete en la solución. Se instalará en todas las plataformas de aplicaciones .NET MAUI, como las plataformas Android, iOS y Windows.

Uso de la línea de comandos de Visual Studio

En Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes.

Introduzca la siguiente línea en la pestaña Consola del gestor de paquetes:

Install-Package IronPdf

Ahora, el paquete se descargará/instalará en todas las plataformas .NET MAUI del proyecto actual y estará listo para usar.

Crear un archivo PDF en .NET MAUI Usando IronPDF, Figura 6: Instalar el paquete en la Consola del Gestor de Paquetes

Instalar el paquete en la consola del gestor de paquetes

Descarga directa desde el sitio web de NuGet

La tercera forma es descargar el paquete NuGet directamente desde su sitio web accediendo a este enlace Enlace al paquete `IronPdf para ir a la página del repositorio NuGet IronPDF.

  • Seleccione la opción de descarga de paquetes en el menú de la derecha.
  • Haga doble clic en el paquete descargado. Se instalará automáticamente.
  • Vuelva a cargar la solución y el paquete debería ser utilizable en su proyecto.

Descarga directa desde el sitio web de IronPDF

Haga clic en el botón enlace para descargar el último archivo zip directamente desde el sitio web. Una vez descargado, siga los pasos que se indican a continuación para añadir el paquete a su proyecto.

  • Haga clic con el botón derecho del ratón en la opción Dependencias del proyecto de la ventana de la solución.
  • Seleccione la plataforma específica y, a continuación, las opciones de referencia y busque la ubicación de la referencia descargada.
  • Haga clic en Aceptar para añadir la referencia.

    También tendrás que añadir referencias a todas las plataformas .NET compatibles con MAUI.

Crear PDFs en una aplicación .NET MAUI usando IronPDF

Cuando se crea un proyecto, habrá un archivo autogenerado llamado MainPage.xaml. Aquí es donde poner la UI de la aplicación .NET MAUI.

Sigue el código que aparece a continuación.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MAUI_PDF.MainPage"
            >

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">

            <Image
                Source="dotnet_bot.png"
                SemanticProperties.Description="Cute .NET bot waving hi to you!"
                HeightRequest="200"
                HorizontalOptions="Center" />

            <Label
                Text="Welcome to IronPDF!"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="32"
                HorizontalOptions="Center" />

            <Button
                x:Name="PdfBtn"
                Text="Click me to generate PDF"
                SemanticProperties.Hint="Click button to generate PDF"
                Clicked="GeneratePDF"
                HorizontalOptions="Center" />
        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
XML

Una vez añadido el código anterior al archivo MainPage.xaml, abra el archivo MainPage.xaml.cs e incluya el siguiente método dentro de la clase MainPage:

private void GeneratePDF(object sender, EventArgs e)
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    var doc = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF!</h1> <p>I'm using IronPDF MAUI!</p>");

    //Guarda el flujo de memoria como archivo.
    SaveService saveService = new SaveService();
    saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", doc.Stream);
}
private void GeneratePDF(object sender, EventArgs e)
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    var doc = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF!</h1> <p>I'm using IronPDF MAUI!</p>");

    //Guarda el flujo de memoria como archivo.
    SaveService saveService = new SaveService();
    saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", doc.Stream);
}
Private Sub GeneratePDF(ByVal sender As Object, ByVal e As EventArgs)
	Dim renderer As New ChromePdfRenderer()
	Dim doc = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF!</h1> <p>I'm using IronPDF MAUI!</p>")

	'Guarda el flujo de memoria como archivo.
	Dim saveService As New SaveService()
	saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", doc.Stream)
End Sub
VB   C#

El método GeneratePDF genera un nuevo documento PDF que contiene el texto "Hola, IronPDF!..." y lo guarda en el ordenador del usuario en una ubicación especificada.

En el método anterior, se crea un nuevo Renderizador de PDF cromado e invoca la función RenderHtmlAsPdf para producir un nuevo documento PDF que contenga las palabras "Hola IronPDF! ..." a partir de una cadena de marcado HTML. A continuación, se delegará el guardado del fichero en el dispositivo del usuario a una clase independiente, llamada SaveService. Esta clase se creará en el siguiente paso.

A continuación se muestra el archivo completo MainPage.xaml.cs. Asegúrese de que el contenido del archivo coincide con lo que se muestra a continuación antes de continuar con el siguiente paso:


//  Cambie el espacio de nombres como desee, pero asegúrese de que todos los archivos fuente utilizan este mismo espacio de nombres,
//  ¡o habrá errores!
namespace MAUI_IronPDF;    

//  Este espacio de nombres es necesario para utilizar las funciones de IronPDF
using IronPdf;

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

    private void GeneratePDF(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        var doc = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF!</h1> <p>I'm using IronPDF MAUI!</p>");
        //Guarda el flujo de memoria como archivo.
        SaveService saveService = new SaveService();
        saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", doc.Stream);
    }
}

//  Cambie el espacio de nombres como desee, pero asegúrese de que todos los archivos fuente utilizan este mismo espacio de nombres,
//  ¡o habrá errores!
namespace MAUI_IronPDF;    

//  Este espacio de nombres es necesario para utilizar las funciones de IronPDF
using IronPdf;

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

    private void GeneratePDF(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        var doc = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF!</h1> <p>I'm using IronPDF MAUI!</p>");
        //Guarda el flujo de memoria como archivo.
        SaveService saveService = new SaveService();
        saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", doc.Stream);
    }
}
Imports IronPdf

'  Cambie el espacio de nombres como desee, pero asegúrese de que todos los archivos fuente utilizan este mismo espacio de nombres,
'  ¡o habrá errores!
Namespace MAUI_IronPDF

	'  Este espacio de nombres es necesario para utilizar las funciones de IronPDF

	Partial Public Class MainPage
		Inherits ContentPage

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub GeneratePDF(ByVal sender As Object, ByVal e As EventArgs)
			Dim renderer As New ChromePdfRenderer()
			Dim doc = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF!</h1> <p>I'm using IronPDF MAUI!</p>")
			'Guarda el flujo de memoria como archivo.
			Dim saveService As New SaveService()
			saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", doc.Stream)
		End Sub
	End Class
End Namespace
VB   C#

Ahora, crea un nuevo archivo de clase llamado SaveService.cs en la raíz del proyecto y añade el siguiente código fuente:

//  Cambie el espacio de nombres como desee, pero asegúrese de que todos los archivos fuente utilizan este mismo espacio de nombres,
//  ¡o habrá errores!
namespace MAUI_IronPDF
{
    //  SaveService declaración de clase parcial ... esto permite una capa de abstracción
    //  ya que implementamos los detalles del archivo de guardado especialmente para cada plataforma en la que se utilizará esta aplicación.
    //  ¡operar! 
    public partial class SaveService
    {
        public void SaveAndView(string filename, string contentType, MemoryStream stream)
        {
            SaveFile(filename, contentType, stream);
        }

        //  Los archivos parciales adicionales proporcionarán implementaciones para este método específicamente.
        partial void SaveFile(string filename, string contentType, MemoryStream stream);
    }
}
//  Cambie el espacio de nombres como desee, pero asegúrese de que todos los archivos fuente utilizan este mismo espacio de nombres,
//  ¡o habrá errores!
namespace MAUI_IronPDF
{
    //  SaveService declaración de clase parcial ... esto permite una capa de abstracción
    //  ya que implementamos los detalles del archivo de guardado especialmente para cada plataforma en la que se utilizará esta aplicación.
    //  ¡operar! 
    public partial class SaveService
    {
        public void SaveAndView(string filename, string contentType, MemoryStream stream)
        {
            SaveFile(filename, contentType, stream);
        }

        //  Los archivos parciales adicionales proporcionarán implementaciones para este método específicamente.
        partial void SaveFile(string filename, string contentType, MemoryStream stream);
    }
}
'  Cambie el espacio de nombres como desee, pero asegúrese de que todos los archivos fuente utilizan este mismo espacio de nombres,
'  ¡o habrá errores!
Namespace MAUI_IronPDF
	'  SaveService declaración de clase parcial ... esto permite una capa de abstracción
	'  ya que implementamos los detalles del archivo de guardado especialmente para cada plataforma en la que se utilizará esta aplicación.
	'  ¡operar! 
	Partial Public Class SaveService
		Public Sub SaveAndView(ByVal filename As String, ByVal contentType As String, ByVal stream As MemoryStream)
			SaveFile(filename, contentType, stream)
		End Sub

		'  Los archivos parciales adicionales proporcionarán implementaciones para este método específicamente.
		Partial Private Sub SaveFile(ByVal filename As String, ByVal contentType As String, ByVal stream As MemoryStream)
		End Sub
	End Class
End Namespace
VB   C#

Dado que los detalles de implementación para guardar contenidos en los dispositivos de los usuarios varían con cada plataforma (Windows, Android, MacOS, etc.)es necesario escribir código específico de la plataforma para cada tipo de dispositivo compatible con la aplicación. Para que esto sea posible, definimos SaveService como una clase parcial (a efectos de abstracción) que contiene un método parcial, llamado SaveAndView. A continuación, la implementación de este método se definirá en una clase parcial SaveService.cs independiente para una o varias de las carpetas anidadas en la carpeta Plataformas dentro del Explorador de soluciones (véase la imagen siguiente):

Creación de un archivo PDF en .NET MAUI usando IronPDF, Figura 7: La estructura de carpetas para implementar plataformas cruzadas

La estructura de carpetas para implantar la multiplataforma

Para simplificar, este tutorial definirá el archivo parcial mencionado sólo para la plataforma Windows. Cree un nuevo archivo SaveService.cs en la carpeta de la plataforma Windows que contenga el código que se muestra a continuación:

using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.Streams;
using Windows.UI.Popups;

namespace MAUI_IronPDF;

public partial class SaveService
{
    async partial void SaveFile(string filename, string contentType, MemoryStream stream)
    {
        StorageFile stFile;
        string extension = Path.GetExtension(filename);
        //Obtiene el manejador de la ventana de proceso para abrir el diálogo en el proceso de aplicación.
        IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
        if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
        {
            //Crea un selector de archivos para guardar un archivo.
            FileSavePicker savePicker = new();
            savePicker.DefaultFileExtension = ".pdf";
            savePicker.SuggestedFileName = filename;
            //Guarda el archivo como PDF.
            savePicker.FileTypeChoices.Add("PDF", new List<string>() { ".pdf" });

            WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle);
            stFile = await savePicker.PickSaveFileAsync();
        }
        else
        {
            StorageFolder local = ApplicationData.Current.LocalFolder;
            stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
        }
        if (stFile != null)
        {
            using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))
            {
                //Escribe datos comprimidos de la memoria a un archivo.
                using Stream outstream = zipStream.AsStreamForWrite();
                outstream.SetLength(0);
                //Guarda el flujo como archivo.
                byte [] buffer = stream.ToArray();
                outstream.Write(buffer, 0, buffer.Length);
                outstream.Flush();
            }
            //Cuadro de diálogo Crear mensaje.
            MessageDialog msgDialog = new("Do you want to view the document?", "File has been created successfully");
            UICommand yesCmd = new("Yes");
            msgDialog.Commands.Add(yesCmd);
            UICommand noCmd = new("No");
            msgDialog.Commands.Add(noCmd);

            WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle);

            //Mostrar un cuadro de diálogo.
            IUICommand cmd = await msgDialog.ShowAsync();
            if (cmd.Label == yesCmd.Label)
            {
                //Inicie el archivo guardado.
                await Windows.System.Launcher.LaunchFileAsync(stFile);
            }
        }
    }
}
using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.Streams;
using Windows.UI.Popups;

namespace MAUI_IronPDF;

public partial class SaveService
{
    async partial void SaveFile(string filename, string contentType, MemoryStream stream)
    {
        StorageFile stFile;
        string extension = Path.GetExtension(filename);
        //Obtiene el manejador de la ventana de proceso para abrir el diálogo en el proceso de aplicación.
        IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
        if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
        {
            //Crea un selector de archivos para guardar un archivo.
            FileSavePicker savePicker = new();
            savePicker.DefaultFileExtension = ".pdf";
            savePicker.SuggestedFileName = filename;
            //Guarda el archivo como PDF.
            savePicker.FileTypeChoices.Add("PDF", new List<string>() { ".pdf" });

            WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle);
            stFile = await savePicker.PickSaveFileAsync();
        }
        else
        {
            StorageFolder local = ApplicationData.Current.LocalFolder;
            stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
        }
        if (stFile != null)
        {
            using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))
            {
                //Escribe datos comprimidos de la memoria a un archivo.
                using Stream outstream = zipStream.AsStreamForWrite();
                outstream.SetLength(0);
                //Guarda el flujo como archivo.
                byte [] buffer = stream.ToArray();
                outstream.Write(buffer, 0, buffer.Length);
                outstream.Flush();
            }
            //Cuadro de diálogo Crear mensaje.
            MessageDialog msgDialog = new("Do you want to view the document?", "File has been created successfully");
            UICommand yesCmd = new("Yes");
            msgDialog.Commands.Add(yesCmd);
            UICommand noCmd = new("No");
            msgDialog.Commands.Add(noCmd);

            WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle);

            //Mostrar un cuadro de diálogo.
            IUICommand cmd = await msgDialog.ShowAsync();
            if (cmd.Label == yesCmd.Label)
            {
                //Inicie el archivo guardado.
                await Windows.System.Launcher.LaunchFileAsync(stFile);
            }
        }
    }
}
Imports Windows.Storage
Imports Windows.Storage.Pickers
Imports Windows.Storage.Streams
Imports Windows.UI.Popups

Namespace MAUI_IronPDF

	Partial Public Class SaveService
		Private Async Sub SaveFile(ByVal filename As String, ByVal contentType As String, ByVal stream As MemoryStream)
			Dim stFile As StorageFile
			Dim extension As String = Path.GetExtension(filename)
			'Obtiene el manejador de la ventana de proceso para abrir el diálogo en el proceso de aplicación.
			Dim windowHandle As IntPtr = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
			If Not Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons") Then
				'Crea un selector de archivos para guardar un archivo.
				Dim savePicker As New FileSavePicker()
				savePicker.DefaultFileExtension = ".pdf"
				savePicker.SuggestedFileName = filename
				'Guarda el archivo como PDF.
				savePicker.FileTypeChoices.Add("PDF", New List(Of String)() From {".pdf"})

				WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle)
				stFile = Await savePicker.PickSaveFileAsync()
			Else
				Dim local As StorageFolder = ApplicationData.Current.LocalFolder
				stFile = Await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting)
			End If
			If stFile IsNot Nothing Then
				Using zipStream As IRandomAccessStream = Await stFile.OpenAsync(FileAccessMode.ReadWrite)
					'Escribe datos comprimidos de la memoria a un archivo.
					Using outstream As Stream = zipStream.AsStreamForWrite()
						outstream.SetLength(0)
						'Guarda el flujo como archivo.
						Dim buffer() As Byte = stream.ToArray()
						outstream.Write(buffer, 0, buffer.Length)
						outstream.Flush()
					End Using
				End Using
				'Cuadro de diálogo Crear mensaje.
				Dim msgDialog As New MessageDialog("Do you want to view the document?", "File has been created successfully")
				Dim yesCmd As New UICommand("Yes")
				msgDialog.Commands.Add(yesCmd)
				Dim noCmd As New UICommand("No")
				msgDialog.Commands.Add(noCmd)

				WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle)

				'Mostrar un cuadro de diálogo.
				Dim cmd As IUICommand = Await msgDialog.ShowAsync()
				If cmd.Label = yesCmd.Label Then
					'Inicie el archivo guardado.
					Await Windows.System.Launcher.LaunchFileAsync(stFile)
				End If
			End If
		End Sub
	End Class
End Namespace
VB   C#

Construye y ejecuta la aplicación MAUI. Aparecerá una ventana con la interfaz que se muestra a continuación:

Creación de un archivo PDF en .NET MAUI con IronPDF, Figura 8: La interfaz de usuario de la aplicación MAUI

La interfaz de usuario de la aplicación MAUI

Haga clic en el botón "Generar PDF". Al cabo de unos instantes, aparecerá una ventana emergente para elegir la ubicación del archivo PDF generado.

Crear un archivo PDF en .NET MAUI Usando IronPDF, Figura 9: Seleccionar una ubicación para guardar el archivo PDF

Seleccione una ubicación para guardar el archivo PDF

Conclusión

IronPDF es una de las bibliotecas conversoras de PDF más utilizadas que permite generar, leer, editar y dar formato a archivos PDF. La biblioteca IronPDF ofrece muchas ventajas y funcionalidades, como un motor de navegación que le ayudará a convertir una URL determinada en un archivo PDF, permite añadir CSS a cadenas HTML y convertirlas en archivos PDF, y también permite rellenar formularios PDF. Todas las funciones de IronPDF están incluidas en una sola biblioteca.

IronPDF ofrece varias estructuras de precios. El precio básico de IronPDF es de $749. La asistencia técnica y las actualizaciones del producto también están disponibles por una cuota de un año. La cobertura de redistribución libre de derechos también puede adquirirse como complemento.

En resumen, IronPDF es recomendable, ya que ofrece un gran rendimiento y un gran número de funciones para los desarrolladores que trabajan con PDF. Es compatible con plataformas universales como .NET MAUI. También viene con una excelente asistencia y documentación, lo que le permite utilizar plenamente la amplia gama de la biblioteca IronPDF y sus muchas características.

< ANTERIOR
Crear un archivo PDF con Blazor Tutorial
SIGUIENTE >
Cómo convertir imagen a PDF en C# [Tutorial de ejemplo de código]

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123