Passer au contenu du pied de page
UTILISATION DE IRONPDF

Comment afficher un PDF dans .NET MAUI (Tutoriel étape par étape)

.NET MAUI est la prochaine génération de .NET qui permet aux développeurs de créer des applications de bureau, web et mobiles multiplateformes, y compris Xamarin.Forms, avec une seule base de code. Avec .NET MAUI, vous pouvez écrire votre application une fois et la déployer sur plusieurs plateformes, y compris Windows, macOS, iOS, Android et tvOS avec le même nom de projet. .NET MAUI vous permet également de tirer parti des dernières capacités d'interface utilisateur sur chaque plateforme, comme le mode sombre et la prise en charge tactile sur macOS, ou la reconnaissance vocale sur Windows 10.

Cet article expliquera comment utiliser IronPDF dans l'application .NET MAUI pour créer des documents PDF avec de nombreux avantages.


class="hsg-featured-snippet">

Comment afficher un fichier PDF dans .NET MAUI

  1. Installer IronPDF pour visualiser des fichiers PDF dans .NET MAUI
  2. Configurer la conception Frontend du projet MAUI
  3. Gérer l'enregistrement des fichiers dans le stockage local et visualiser le PDF
  4. Utiliser les méthodes de rendu pour l'URL, la chaîne HTML ou le fichier
  5. Passer le PDF rendu au gestionnaire personnalisé à l'étape 3

IronPDF : Bibliothèque PDF C

IronPDF est une bibliothèque .NET qui vous permet de générer et modifier des fichiers PDF. Il est parfait pour une utilisation dans les applications .NET MAUI, car il offre une large gamme de fonctionnalités qui peuvent être personnalisées pour répondre à vos besoins spécifiques. Avec son API facile à utiliser, IronPDF simplifie l'intégration de la fonctionnalité PDF dans votre projet .NET MAUI.

Prérequis

Il y a quelques prérequis pour créer un PDF et un visualiseur de PDF dans .NET MAUI en utilisant IronPDF :

  1. La dernière version de Visual Studio
  2. .NET Framework 6 ou 7
  3. Les packages MAUI installés dans Visual Studio
  4. Application .NET MAUI fonctionnant dans Visual Studio

Étape 1 : Installer IronPDF

L'une des meilleures façons d'installer IronPDF dans un nouveau projet est d'utiliser la console du gestionnaire de packages NuGet dans Visual Studio. Il y a quelques avantages à utiliser cette méthode pour installer IronPDF.

  • C'est facile à faire, et
  • Vous pouvez vous assurer d'utiliser la dernière version d'IronPDF.

Étapes pour installer IronPDF

Tout d'abord, ouvrez la console du gestionnaire de packages en allant dans Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages.

Comment afficher un PDF dans .NET MAUI (Tutoriel étape par étape), Figure 1 : Console du gestionnaire de packages Console du Gestionnaire de Packages

Ensuite, tapez la commande suivante :

Install-Package IronPdf

Cela installera le package et toutes ses dépendances comme le dossier assets.

Comment afficher un PDF dans .NET MAUI (Tutoriel étape par étape), Figure 2 : Installation d'IronPDF Installation d'IronPDF

Vous pouvez maintenant commencer à utiliser IronPDF dans votre projet MAUI.

Étape 2 : Configurer la conception Frontend dans .NET MAUI

Premièrement, créez une mise en page pour les trois fonctionnalités d'IronPDF.

Mise en page URL vers PDF

Pour la mise en page URL vers PDF, créez une étiquette avec le texte "Entrez l'URL pour convertir en PDF" en utilisant un contrôle d'étiquette .NET MAUI. Ensuite, appliquez une mise en page en pile horizontale pour arranger le contrôle Entry et le bouton horizontalement. Ensuite, mettez une ligne après les contrôles pour diviser la section suivante de contrôles.

<Label
    Text="Enter URL to Convert PDF"
    SemanticProperties.HeadingLevel="Level1"
    FontSize="18"
    HorizontalOptions="Center" 
/>
<HorizontalStackLayout
    HorizontalOptions="Center">
    <Border Stroke="White"
            StrokeThickness="2"
            StrokeShape="RoundRectangle 5,5,5,5"
            HorizontalOptions="Center">
        <Entry
            x:Name="URL"
            HeightRequest="50"
            WidthRequest="300" 
            HorizontalOptions="Center"
        />
    </Border>

    <Button
        x:Name="urlPDF"
        Text="Convert URL to PDF"
        Margin="30,0,0,0"
        Clicked="UrlToPdf"
        HorizontalOptions="Center" />
</HorizontalStackLayout>

<Line Stroke="White" X2="1500" />
<Label
    Text="Enter URL to Convert PDF"
    SemanticProperties.HeadingLevel="Level1"
    FontSize="18"
    HorizontalOptions="Center" 
/>
<HorizontalStackLayout
    HorizontalOptions="Center">
    <Border Stroke="White"
            StrokeThickness="2"
            StrokeShape="RoundRectangle 5,5,5,5"
            HorizontalOptions="Center">
        <Entry
            x:Name="URL"
            HeightRequest="50"
            WidthRequest="300" 
            HorizontalOptions="Center"
        />
    </Border>

    <Button
        x:Name="urlPDF"
        Text="Convert URL to PDF"
        Margin="30,0,0,0"
        Clicked="UrlToPdf"
        HorizontalOptions="Center" />
</HorizontalStackLayout>

<Line Stroke="White" X2="1500" />
XML

Mise en page HTML vers PDF

Pour la mise en page de la section HTML vers PDF, créez un contrôle Éditeur et un bouton. Le contrôle Éditeur sera utilisé pour accepter une chaîne de contenu HTML de l'utilisateur. Ajoutez également une ligne comme séparateur.

<Label
    Text="Enter HTML to Convert to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />
<Border 
    Stroke="White"
    StrokeThickness="2"
    StrokeShape="RoundRectangle 5,5,5,5"
    HorizontalOptions="Center">

    <Editor
        x:Name="HTML"
        HeightRequest="200"
        WidthRequest="300" 
        HorizontalOptions="Center"
    />

</Border>

<Button
    x:Name="htmlPDF"
    Text="Convert HTML to PDF"
    Clicked="HtmlToPdf"
    HorizontalOptions="Center" />

<Line Stroke="White" X2="1500" />
<Label
    Text="Enter HTML to Convert to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />
<Border 
    Stroke="White"
    StrokeThickness="2"
    StrokeShape="RoundRectangle 5,5,5,5"
    HorizontalOptions="Center">

    <Editor
        x:Name="HTML"
        HeightRequest="200"
        WidthRequest="300" 
        HorizontalOptions="Center"
    />

</Border>

<Button
    x:Name="htmlPDF"
    Text="Convert HTML to PDF"
    Clicked="HtmlToPdf"
    HorizontalOptions="Center" />

<Line Stroke="White" X2="1500" />
XML

Mise en page Fichier HTML vers PDF

Pour les fichiers HTML vers PDF, ajoutez uniquement un bouton. Ce bouton aidera à convertir un fichier HTML en un document PDF en utilisant IronPDF.

<Label
    Text="Convert HTML file to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />

<Button
    x:Name="htmlFilePDF"
    Text="Convert HTML file to PDF"
    Clicked="FileToPdf"
    HorizontalOptions="Center" />
<Label
    Text="Convert HTML file to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />

<Button
    x:Name="htmlFilePDF"
    Text="Convert HTML file to PDF"
    Clicked="FileToPdf"
    HorizontalOptions="Center" />
XML

Le code complet de l'interface utilisateur

Le code source complet pour l'interface frontale de .NET MAUI est donné ci-dessous.

<?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="PDF_Viewer.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">
            <Label
                Text="Enter URL to Convert PDF"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="18"
                HorizontalOptions="Center" 
            />
            <HorizontalStackLayout
                HorizontalOptions="Center">
                <Border Stroke="White"
                        StrokeThickness="2"
                        StrokeShape="RoundRectangle 5,5,5,5"
                        HorizontalOptions="Center">
                    <Entry
                        x:Name="URL"
                        HeightRequest="50"
                        WidthRequest="300" 
                        HorizontalOptions="Center"
                    />
                </Border>

                <Button
                    x:Name="urlPDF"
                    Text="Convert URL to PDF"
                    Margin="30,0,0,0"
                    Clicked="UrlToPdf"
                    HorizontalOptions="Center" />
            </HorizontalStackLayout>

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Enter HTML to Convert to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />
            <Border 
                Stroke="White"
                StrokeThickness="2"
                StrokeShape="RoundRectangle 5,5,5,5"
                HorizontalOptions="Center">

                <Editor
                    x:Name="HTML"
                    HeightRequest="200"
                    WidthRequest="300" 
                    HorizontalOptions="Center"
                />

            </Border>

            <Button
                x:Name="htmlPDF"
                Text="Convert HTML to PDF"
                Clicked="HtmlToPdf"
                HorizontalOptions="Center" />

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Convert HTML file to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />

            <Button
                x:Name="htmlFilePDF"
                Text="Convert HTML file to PDF"
                Clicked="FileToPdf"
                HorizontalOptions="Center" />
        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
<?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="PDF_Viewer.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">
            <Label
                Text="Enter URL to Convert PDF"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="18"
                HorizontalOptions="Center" 
            />
            <HorizontalStackLayout
                HorizontalOptions="Center">
                <Border Stroke="White"
                        StrokeThickness="2"
                        StrokeShape="RoundRectangle 5,5,5,5"
                        HorizontalOptions="Center">
                    <Entry
                        x:Name="URL"
                        HeightRequest="50"
                        WidthRequest="300" 
                        HorizontalOptions="Center"
                    />
                </Border>

                <Button
                    x:Name="urlPDF"
                    Text="Convert URL to PDF"
                    Margin="30,0,0,0"
                    Clicked="UrlToPdf"
                    HorizontalOptions="Center" />
            </HorizontalStackLayout>

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Enter HTML to Convert to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />
            <Border 
                Stroke="White"
                StrokeThickness="2"
                StrokeShape="RoundRectangle 5,5,5,5"
                HorizontalOptions="Center">

                <Editor
                    x:Name="HTML"
                    HeightRequest="200"
                    WidthRequest="300" 
                    HorizontalOptions="Center"
                />

            </Border>

            <Button
                x:Name="htmlPDF"
                Text="Convert HTML to PDF"
                Clicked="HtmlToPdf"
                HorizontalOptions="Center" />

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Convert HTML file to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />

            <Button
                x:Name="htmlFilePDF"
                Text="Convert HTML file to PDF"
                Clicked="FileToPdf"
                HorizontalOptions="Center" />
        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
XML

Étape 3 : Code pour enregistrer et visualiser le fichier PDF

.NET MAUI n'a pas de fonction préconstruite pour enregistrer des fichiers dans le stockage local. Il est donc nécessaire d'écrire le code nous-mêmes. Pour créer la fonctionnalité d'enregistrement et de visualisation, une classe partielle nommée SaveService est créée avec une fonction vide partielle nommée SaveAndView avec trois paramètres : le nom du fichier, le type de contenu du fichier et le flux de mémoire pour écrire le fichier.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public partial void SaveAndView(string filename, string contentType, MemoryStream stream);
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public partial void SaveAndView(string filename, string contentType, MemoryStream stream);
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks

Namespace PDF_Viewer
	Partial Public Class SaveService
		Public Partial Private Sub SaveAndView(ByVal filename As String, ByVal contentType As String, ByVal stream As MemoryStream)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

La fonctionnalité d'enregistrement et de visualisation devra être implémentée pour chaque plateforme qui envisage de prendre en charge (par exemple, pour Android, macOS et/ou Windows). Pour la plateforme Windows, créez un fichier nommé "SaveWindows.cs" et implémentez la méthode partielle SaveAndView :

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

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public async partial void SaveAndView(string filename, string contentType, MemoryStream stream)
        {
            StorageFile stFile;
            string extension = Path.GetExtension(filename);
            //Gets process windows handle to open the dialog in application process.
            IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
            if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                //Creates file save picker to save a file.
                FileSavePicker savePicker = new FileSavePicker();
                savePicker.DefaultFileExtension = ".pdf";
                savePicker.SuggestedFileName = filename;
                //Saves the file as PDF file.
                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))
                {
                    //Writes compressed data from memory to file.
                    using Stream outstream = zipStream.AsStreamForWrite();
                    outstream.SetLength(0);
                    //Saves the stream as file.
                    byte [] buffer = stream.ToArray();
                    outstream.Write(buffer, 0, buffer.Length);
                    outstream.Flush();
                }
                //Create message dialog box.
                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);

                //Showing a dialog box.
                IUICommand cmd = await msgDialog.ShowAsync();
                if (cmd.Label == yesCmd.Label)
                {
                    //Launch the saved file.
                    await Windows.System.Launcher.LaunchFileAsync(stFile);
                }
            }
        }
    }
}
using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.Streams;
using Windows.UI.Popups;

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public async partial void SaveAndView(string filename, string contentType, MemoryStream stream)
        {
            StorageFile stFile;
            string extension = Path.GetExtension(filename);
            //Gets process windows handle to open the dialog in application process.
            IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
            if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                //Creates file save picker to save a file.
                FileSavePicker savePicker = new FileSavePicker();
                savePicker.DefaultFileExtension = ".pdf";
                savePicker.SuggestedFileName = filename;
                //Saves the file as PDF file.
                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))
                {
                    //Writes compressed data from memory to file.
                    using Stream outstream = zipStream.AsStreamForWrite();
                    outstream.SetLength(0);
                    //Saves the stream as file.
                    byte [] buffer = stream.ToArray();
                    outstream.Write(buffer, 0, buffer.Length);
                    outstream.Flush();
                }
                //Create message dialog box.
                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);

                //Showing a dialog box.
                IUICommand cmd = await msgDialog.ShowAsync();
                if (cmd.Label == yesCmd.Label)
                {
                    //Launch the saved file.
                    await Windows.System.Launcher.LaunchFileAsync(stFile);
                }
            }
        }
    }
}
Imports Windows.Storage
Imports Windows.Storage.Pickers
Imports Windows.Storage.Streams
Imports Windows.UI.Popups

Namespace PDF_Viewer
	Partial Public Class SaveService
		Public Async Sub SaveAndView(ByVal filename As String, ByVal contentType As String, ByVal stream As MemoryStream)
			Dim stFile As StorageFile
			Dim extension As String = Path.GetExtension(filename)
			'Gets process windows handle to open the dialog in application process.
			Dim windowHandle As IntPtr = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
			If Not Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons") Then
				'Creates file save picker to save a file.
				Dim savePicker As New FileSavePicker()
				savePicker.DefaultFileExtension = ".pdf"
				savePicker.SuggestedFileName = filename
				'Saves the file as PDF file.
				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)
					'Writes compressed data from memory to file.
					Using outstream As Stream = zipStream.AsStreamForWrite()
						outstream.SetLength(0)
						'Saves the stream as file.
						Dim buffer() As Byte = stream.ToArray()
						outstream.Write(buffer, 0, buffer.Length)
						outstream.Flush()
					End Using
				End Using
				'Create message dialog box.
				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)

				'Showing a dialog box.
				Dim cmd As IUICommand = Await msgDialog.ShowAsync()
				If cmd.Label = yesCmd.Label Then
					'Launch the saved file.
					Await Windows.System.Launcher.LaunchFileAsync(stFile)
				End If
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Pour Android et macOS, vous devez créer des fichiers séparés avec des implémentations SaveAndView comparables. Vous pouvez obtenir un exemple fonctionnel à partir de ce dépô GitHub MAUI PDF Viewer.

Étape 4 : Code pour les fonctionnalités PDF

Il est maintenant temps d'écrire le code pour les fonctionnalités PDF. Commençons par la fonctionnalité URL vers PDF.

Fonctionnalité URL vers PDF

Créez une fonction UrlToPdf pour la fonctionnalité URL vers PDF. Inside the function, instantiate the ChromePdfRenderer object and use the RenderUrlAsPdf function to convert the URL to PDF documents. La fonction RenderUrlAsPdf obtient les données de l'URL depuis le serveur web et les traite pour les convertir en document PDF. Dans les paramètres, passez le texte dans le contrôle d'entrée d'URL, créez un objet de la classe SaveService et utilisez la fonction SaveAndView. Dans les paramètres de la fonction SaveAndView, passez le flux du fichier PDF généré.

La fonction SaveAndView aide à enregistrer les fichiers à n'importe quel chemin personnalisé et donne l'option de visualiser les fichiers PDF. Enfin, affichez une boîte d'alerte avec des informations sur la création du fichier PDF. Si un utilisateur essaie de créer un fichier PDF avec un contrôle d'entrée vide, il affichera une boîte d'alerte avec un message d'erreur et un avertissement.

private void UrlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(URL.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(URL.Text.Trim());
        SaveService saveService = new SaveService();
        saveService.SaveAndView("URLtoPDF.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from URL Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter URL!", "OK");
    }

}
private void UrlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(URL.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(URL.Text.Trim());
        SaveService saveService = new SaveService();
        saveService.SaveAndView("URLtoPDF.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from URL Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter URL!", "OK");
    }

}
Imports Microsoft.VisualBasic

Private Sub UrlToPdf(ByVal sender As Object, ByVal e As EventArgs)
	If Not String.IsNullOrEmpty(URL.Text) Then
		Dim renderer = New IronPdf.ChromePdfRenderer()
		Dim pdf = renderer.RenderUrlAsPdf(URL.Text.Trim())
		Dim saveService As New SaveService()
		saveService.SaveAndView("URLtoPDF.pdf", "application/pdf", pdf.Stream)
		DisplayAlert("Success", "PDF from URL Created!", "OK")
	Else
		DisplayAlert("Error", "Field can't be empty! " & vbLf & "Please enter URL!", "OK")
	End If

End Sub
$vbLabelText   $csharpLabel

Fonctionnalité HTML vers PDF

Pour convertir la fonctionnalité HTML vers PDF, créez la fonction HtmlToPdf et utilisez la fonction RenderHtmlAsPdf. Utilisez le texte du contrôle Éditeur et passez-le dans les paramètres de la fonction RenderHtmlAsPdf. Comme pour la fonction ci-dessus, utilisez la fonction SaveAndView pour activer la fonctionnalité de visualisation du fichier PDF après l'enregistrement.

private void HtmlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(HTML.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(HTML.Text);
        SaveService saveService = new SaveService();
        saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from HTML Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter valid HTML!", "OK");
    }
}
private void HtmlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(HTML.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(HTML.Text);
        SaveService saveService = new SaveService();
        saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from HTML Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter valid HTML!", "OK");
    }
}
Imports Microsoft.VisualBasic

Private Sub HtmlToPdf(ByVal sender As Object, ByVal e As EventArgs)
	If Not String.IsNullOrEmpty(HTML.Text) Then
		Dim renderer = New IronPdf.ChromePdfRenderer()
		Dim pdf = renderer.RenderHtmlAsPdf(HTML.Text)
		Dim saveService As New SaveService()
		saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", pdf.Stream)
		DisplayAlert("Success", "PDF from HTML Created!", "OK")
	Else
		DisplayAlert("Error", "Field can't be empty! " & vbLf & "Please enter valid HTML!", "OK")
	End If
End Sub
$vbLabelText   $csharpLabel

Fonctionnalité Fichier HTML vers PDF

Créez la fonction FileToPdf pour convertir des fichiers HTML en fichiers PDF. Utilisez la fonction RenderHtmlFileAsPdf et passez le chemin du fichier HTML en paramètre. Elle convertit tout le contenu HTML en PDF et enregistre le fichier de sortie.

private void FileToPdf(object sender, EventArgs e)
{
    var renderer = new IronPdf.ChromePdfRenderer();
    var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Users\Administrator\Desktop\index.html");
    SaveService saveService = new SaveService();
    saveService.SaveAndView("HTML File to PDF.pdf", "application/pdf", pdf.Stream);
    DisplayAlert("Success", "PDF from File Created!", "OK");
}
private void FileToPdf(object sender, EventArgs e)
{
    var renderer = new IronPdf.ChromePdfRenderer();
    var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Users\Administrator\Desktop\index.html");
    SaveService saveService = new SaveService();
    saveService.SaveAndView("HTML File to PDF.pdf", "application/pdf", pdf.Stream);
    DisplayAlert("Success", "PDF from File Created!", "OK");
}
Private Sub FileToPdf(ByVal sender As Object, ByVal e As EventArgs)
	Dim renderer = New IronPdf.ChromePdfRenderer()
	Dim pdf = renderer.RenderHtmlFileAsPdf("C:\Users\Administrator\Desktop\index.html")
	Dim saveService As New SaveService()
	saveService.SaveAndView("HTML File to PDF.pdf", "application/pdf", pdf.Stream)
	DisplayAlert("Success", "PDF from File Created!", "OK")
End Sub
$vbLabelText   $csharpLabel

Sortie

Après exécution du projet, le résultat sera le suivant.

Comment afficher un PDF dans .NET MAUI (Tutoriel étape par étape), Figure 3 : Résultat Sortie

Mettez l'URL du site Web de Microsoft dans cette section et cliquez sur le bouton.

Comment afficher un PDF dans .NET MAUI (Tutoriel étape par étape), Figure 4 : URL vers PDF URL vers PDF

Après avoir créé le fichier PDF, une boîte de dialogue s'affiche pour enregistrer le fichier à la destination personnalisée.

Comment afficher un PDF dans .NET MAUI (Tutoriel étape par étape), Figure 5 : Enregistrer le fichier Enregistrer le fichier

Après avoir enregistré le fichier, cette fenêtre contextuelle s'affiche et donne l'option de sélectionner un visualiseur PDF pour voir le fichier PDF.

Comment afficher un PDF dans .NET MAUI (Tutoriel étape par étape), Figure 6 : Fenêtre contextuelle du visualiseur PDF Fenêtre contextuelle du visualiseur PDF

IronPDF convertit remarquablement l'URL en PDF. Il préserve toutes les couleurs et les images dans leur forme et leur formatage originaux.

Comment afficher un PDF dans .NET MAUI (Tutoriel étape par étape), Figure 7 : Fenêtre contextuelle du visualiseur PDF Fenêtre contextuelle du visualiseur PDF

La même procédure doit être suivie pour toutes les autres fonctionnalités. Consultez cet article de blog sur IronPDF dans Blazor pour en savoir plus sur le fonctionnement d'IronPDF dans Blazor.

Apprenez à convertir une page MAUI en XAML en document PDF en visitant "Comment convertir XAML en PDF dans MAUI".

Résumé

Ce tutoriel a utilisé IronPDF dans l'application .NET MAUI pour créer un fichier PDF et un visualiseur de PDF. Le .NET MAUI est un excellent outil pour créer des applications multiplateformes avec une seule base de code. IronPDF aide à créer et personnaliser facilement des fichiers PDF dans n'importe quelle application .NET. IronPDF est entièrement compatible avec la plateforme .NET MAUI.

IronPDF est gratuit pour le développement. Vous pouvez obtenir une clé d'essai gratuite pour tester IronPDF en production. Pour plus d'informations sur IronPDF et ses capacités, veuillez visiter le site officiel d'IronPDF.

Questions Fréquemment Posées

Comment puis-je intégrer un visualiseur de PDF dans une application .NET MAUI ?

Pour intégrer un visualiseur de PDF dans une application .NET MAUI, vous pouvez utiliser IronPDF pour gérer le rendu et la visualisation des fichiers PDF. IronPDF vous permet de rendre des PDFs à partir d'URLs, de chaînes HTML et de fichiers HTML, qui peuvent ensuite être enregistrés et affichés à l'aide de divers outils de visualisation de PDF dans .NET MAUI.

Quelles étapes sont impliquées dans la configuration d'IronPDF pour .NET MAUI ?

La configuration d'IronPDF pour .NET MAUI implique l'installation du package IronPDF via le gestionnaire de packages NuGet dans Visual Studio, la configuration de votre projet pour gérer le rendu PDF, et l'utilisation des méthodes d'IronPDF pour convertir les HTML, URLs ou fichiers HTML en documents PDF.

Comment puis-je m'assurer que la mise en page de mon PDF est préservée dans .NET MAUI ?

IronPDF offre des capacités robustes pour préserver la mise en page des PDFs dans les applications .NET MAUI. En utilisant des méthodes comme RenderHtmlAsPdf ou RenderUrlAsPdf, vous pouvez convertir votre contenu en PDF tout en maintenant la mise en forme et la mise en page originales.

Quels sont les problèmes courants lors de la visualisation de PDFs dans .NET MAUI, et comment peuvent-ils être résolus ?

Les problèmes courants lors de la visualisation de PDFs dans .NET MAUI incluent des erreurs de rendu spécifiques à la plateforme et les permissions d'accès aux fichiers. Ceux-ci peuvent être résolus en utilisant les capacités multiplateformes d'IronPDF et en assurant une gestion appropriée des autorisations de fichiers dans la base de code de votre application.

Puis-je convertir du contenu HTML en PDF dans une application .NET MAUI ?

Oui, vous pouvez convertir du contenu HTML en PDF dans une application .NET MAUI en utilisant la méthode RenderHtmlAsPdf d'IronPDF. Cela vous permet de transformer des chaînes HTML en documents PDF entièrement formatés de manière efficace.

Comment gérer l'enregistrement et la visualisation de fichiers dans .NET MAUI ?

Dans .NET MAUI, vous pouvez utiliser IronPDF pour générer des fichiers PDF puis implémenter l'enregistrement et la visualisation de fichiers en utilisant des API de gestion de fichiers spécifiques à la plateforme. IronPDF prend en charge l'enregistrement des fichiers PDF dans le stockage local, qui peut ensuite être ouvert avec un visualiseur de PDF.

IronPDF est-il compatible avec toutes les plateformes ciblées par .NET MAUI ?

Oui, IronPDF est compatible avec toutes les plateformes ciblées par .NET MAUI, y compris Windows, macOS, iOS, Android et tvOS, offrant une expérience fluide de création et de visualisation de PDF sur ces systèmes.

Comment puis-je tester IronPDF dans mon projet .NET MAUI avant le déploiement complet ?

Vous pouvez tester IronPDF dans votre projet .NET MAUI en utilisant sa licence de développement gratuite. Cela vous permet d'intégrer et de tester les fonctionnalités PDF dans votre application avant de vous engager dans une licence de production complète.

IronPDF prend-il en charge .NET 10 et quels avantages cela apporte-t-il ?

Oui, IronPDF est entièrement compatible avec .NET 10. Il fonctionne immédiatement, sans aucune configuration particulière, lors du développement d'applications avec .NET 10, notamment les applications MAUI, web, de bureau et cloud. L'utilisation de .NET 10 vous donne accès aux dernières améliorations de la plateforme, aux gains de performance et aux API mises à jour.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite