Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

Comment générer un code QR dans .NET MAUI

Dans cet article, nous explorerons comment créer un générateur de codes QR utilisant .NET MAUI, un cadre moderne pour bâtir des applications multi-plateforme. Nous allons utiliser la bibliothèque IronBarcode pour générer des codes QR et les afficher à l'écran.

Qu'est-ce que .NET MAUI ?

.NET MAUI (Multi-platform App UI) est une évolution du framework Xamarin Forms qui permet aux développeurs de créer des interfaces utilisateur natives pour plusieurs plateformes en utilisant une base de code unique. Avec .NET MAUI, vous pouvez créer des applications pour Android, iOS, macOS, Windows et plus, réduisant ainsi le temps et l'effort de développement.

class="hsg-featured-snippet">

Comment générer un code QR dans .NET Maui

  1. Téléchargez la bibliothèque C# pour générer des codes QR
  2. Configurer l'interface utilisateur de Maui
  3. Utilisez la méthode CreateQrCode pour générer un code QR à partir d'une chaîne
  4. Accédez aux données binaires de l'image à l'aide de la méthode ToJpegBinaryData
  5. Transmettez les données binaires à l'application Maui pour afficher le code QR

Présentation d'IronBarcode

IronBarcode est une bibliothèque puissante de génération de codes-barres et de codes QR pour les applications .NET. Elle fournit une API facile à utiliser pour créer divers types de codes-barres, y compris les codes QR, avec des paramètres personnalisables tels que la taille, la correction d'erreur et les options de codage.

Configuration du projet .NET MAUI

Pour commencer, nous devons créer un nouveau projet .NET MAUI dans Microsoft Visual Studio 2022. Vous pouvez également utiliser Microsoft Visual Studio Code, mais les étapes varieront. Cependant, il est recommandé d'utiliser Visual Studio. Suivez les étapes suivantes pour créer le projet.

Ouvrez Visual Studio 2022. L'écran suivant apparaîtra comme indiqué ci-dessous.

Comment générer un code QR dans .NET MAUI : Figure 1 - IDE Visual Studio 2022

Cliquez sur Créer un nouveau projet et recherchez le modèle MAUI comme indiqué ci-dessous.

Comment générer un code QR dans .NET MAUI : Figure 2

Sélectionnez le modèle d'application .NET MAUI et cliquez sur le bouton Suivant. La fenêtre suivante apparaîtra.

Comment générer un code QR dans .NET MAUI : Figure 3

Nommez votre projet, sélectionnez l'emplacement et cliquez sur le bouton Suivant, la fenêtre suivante apparaîtra comme indiqué ci-dessous.

Comment générer un code QR dans .NET MAUI : Figure 4

Sélectionnez .NET Framework. J'ai sélectionné .NET 7, vous pouvez également sélectionner .NET 6.0. Le projet sera créé comme indiqué ci-dessous.

Comment générer un code QR dans .NET MAUI : Figure 5

Cet article se concentre principalement sur le déploiement initial d'une application .NET MAUI sur une machine Windows locale. Vous pouvez la configurer sur un simulateur Android ou iOS selon votre besoin avec la même base de code.

Pour déployer une application .NET MAUI sur votre machine Windows locale, vous pouvez suivre ces étapes en utilisant Visual Studio :

  1. Assurez-vous que la cible de débogage est définie sur "Windows Machine". Si ce n'est pas le cas, sélectionnez "Windows Machine" dans la liste déroulante de la barre d'outils.
  2. Cliquez sur le bouton "Start Debugging" ou appuyez sur F5 pour construire et exécuter l'application sur votre machine Windows.

    Comment générer un code QR dans .NET MAUI : Figure 6

Si le mode développeur n'est pas activé sur votre machine Windows, Visual Studio vous invitera à l'activer. Pour ce faire, suivez ces étapes :

  1. Dans la boîte de dialogue "Activer le mode développeur pour Windows" affichée par Visual Studio, trouvez le lien intitulé "paramètres pour les développeurs".

    Comment générer un code QR dans .NET MAUI : Figure 7

  2. Cliquez sur le lien "paramètres pour les développeurs". Cela ouvrira l'application Paramètres sur votre machine Windows.
  3. Activez le basculement sous Mode développeur comme indiqué ci-dessous.

    Comment générer un code QR dans .NET MAUI : Figure 8

Exécutez le projet une fois le mode développeur activé. La fenêtre suivante apparaîtra :

Comment générer un code QR dans .NET MAUI : Figure 9

Ceci est l'application modèle qui est automatiquement créée par Visual Studio 2022 lors de la création du projet. Nous allons maintenant installer IronBarcode et modifier le code selon nos besoins.

Installer IronBarcode

Pour installer IronBarcode, ouvrez la console du gestionnaire de packages NuGet. Pour ouvrir la console du gestionnaire de packages dans Visual Studio, vous pouvez suivre ces étapes :

  1. Lancez Visual Studio sur votre machine Windows.
  2. Ouvrez le projet avec lequel vous souhaitez travailler ou créez un nouveau projet.
  3. Dans le menu Visual Studio, allez sur "Outils".
  4. Dans le menu déroulant, cliquez sur "Gestionnaire de packages NuGet".
  5. Un autre menu déroulant apparaîtra, et vous devriez sélectionner "Console du gestionnaire de packages".

La fenêtre de la console du gestionnaire de packages s'ouvrira, vous offrant une interface en ligne de commande pour gérer les packages NuGet dans votre projet. Écrivez la commande suivante dans la console du gestionnaire de packages pour installer IronBarcode.

Install-Package BarCode

Cela ajoutera la bibliothèque IronBarcode à votre projet et la rendra disponible pour une utilisation.

Comment générer un code QR dans .NET MAUI : Figure 10

Générateur de codes QR .NET MAUI utilisant IronBarcode

Passons maintenant à l'écriture du code pour créer notre propre application de générateur de codes QR pour mobile. Pour afficher le code QR généré à l'écran, nous utiliserons les capacités de .NET MAUI. Ouvrez le fichier MainPage.xaml et remplacez-le par le code suivant.

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

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

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

            <Label
                Text="Welcome to QR Code Generator .NET Multi-platform App UI"
                SemanticProperties.HeadingLevel="Level2"
                SemanticProperties.Description="Welcome to QR Code Generator dot Net Multi platform App U I"
                FontSize="18"
                HorizontalOptions="Center" />

            <Entry x:Name="qrCodeText"
                   Placeholder="Enter QR Code"/>

            <Image
                x:Name="qrCodeImage"
                HeightRequest="200"
                HorizontalOptions="Center" />

            <Button
                x:Name="CounterBtn"
                Text="Generate QR Code"
                Clicked="OnButtonClicked"
                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="QrCodeGeneratorMAUI.MainPage">

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

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

            <Label
                Text="Welcome to QR Code Generator .NET Multi-platform App UI"
                SemanticProperties.HeadingLevel="Level2"
                SemanticProperties.Description="Welcome to QR Code Generator dot Net Multi platform App U I"
                FontSize="18"
                HorizontalOptions="Center" />

            <Entry x:Name="qrCodeText"
                   Placeholder="Enter QR Code"/>

            <Image
                x:Name="qrCodeImage"
                HeightRequest="200"
                HorizontalOptions="Center" />

            <Button
                x:Name="CounterBtn"
                Text="Generate QR Code"
                Clicked="OnButtonClicked"
                HorizontalOptions="Center" />

        </VerticalStackLayout>
    </ScrollView>
</ContentPage>
XML

Le code XAML ci-dessus représente une page .NET MAUI qui génère des codes QR. Voici une simple explication des composants .NET MAUI :

  • <Label> : Affiche du texte à l'écran. Dans cette application, il est utilisé pour afficher un message de bienvenue et un titre pour fournir des informations et des instructions à l'utilisateur.
  • <Entry> : Fournit un champ de saisie de texte pour l'utilisateur. Dans cette application, il permet à l'utilisateur de saisir le contenu qu'il souhaite encoder dans un code QR.
  • <Image> : Affiche une image à l'écran. Dans cette application, il est utilisé pour afficher l'image du code QR généré à l'utilisateur après avoir cliqué sur le bouton de génération.
  • <Button> : Représente un bouton cliquable. Il permet à l'utilisateur de déclencher une action lorsqu'il est cliqué. Dans cette application, le bouton est utilisé pour initier la génération du code QR en fonction du contenu saisi par l'utilisateur dans le champ <Entry>.

Ces composants créent ensemble une interface où l'utilisateur peut entrer du texte, cliquer sur un bouton et voir le code QR correspondant affiché à l'écran.

Passons maintenant à l'écriture du code backend pour générer un code QR. Ouvrez le fichier MainPage.xaml.cs et mettez à jour la classe code-behind comme suit :

using IronBarCode;

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

        private void OnButtonClicked(object sender, EventArgs e)
        {
            // Get the text from the entry field
            string text = qrCodeText.Text;

            // Generate the QR code using the IronBarcode library
            var qrCode = QRCodeWriter.CreateQrCode(text);

            // Convert the QR code to binary JPEG data
            var qrCodeBytes = qrCode.ToJpegBinaryData();

            // Set the QR code image source to display the generated QR code on the UI
            qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
        }
    }
}
using IronBarCode;

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

        private void OnButtonClicked(object sender, EventArgs e)
        {
            // Get the text from the entry field
            string text = qrCodeText.Text;

            // Generate the QR code using the IronBarcode library
            var qrCode = QRCodeWriter.CreateQrCode(text);

            // Convert the QR code to binary JPEG data
            var qrCodeBytes = qrCode.ToJpegBinaryData();

            // Set the QR code image source to display the generated QR code on the UI
            qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
        }
    }
}
Imports IronBarCode

Namespace QrCodeGeneratorMAUI
	Partial Public Class MainPage
		Inherits ContentPage

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub OnButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
			' Get the text from the entry field
			Dim text As String = qrCodeText.Text

			' Generate the QR code using the IronBarcode library
			Dim qrCode = QRCodeWriter.CreateQrCode(text)

			' Convert the QR code to binary JPEG data
			Dim qrCodeBytes = qrCode.ToJpegBinaryData()

			' Set the QR code image source to display the generated QR code on the UI
			qrCodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(qrCodeBytes))
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Voici l'explication du code.

  1. La méthode OnButtonClicked est un gestionnaire d'événements pour l'événement de clic d'un bouton. Lorsque le bouton est cliqué, cette méthode est exécutée.
  2. À l'intérieur de la méthode OnButtonClicked, le texte contenu dans le champ de saisie qrCodeText est assigné à la variable text.
  3. QRCodeWriter.CreateQrCode(text) est utilisé pour créer un code QR basé sur le texte saisi.
  4. qrCode.ToJpegBinaryData() convertit le code QR en données binaires JPEG.
  5. qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes)) définit la source du contrôle qrCodeImage pour afficher l'image du code QR généré.

Exécuter l'application .NET MAUI

Exécutons le projet pour tester la fonctionnalité. Appuyez sur F5 pour exécuter l'application sur la machine Windows. L'écran suivant apparaîtra lors de l'exécution du projet.

Entrez le texte que vous souhaitez encoder et appuyez sur le bouton Générer le code QR. Le code QR sera généré et affiché à l'écran comme indiqué ci-dessous.

Comment générer un code QR dans .NET MAUI : Figure 11

Ajouter une annotation et la valeur du code QR

Nous avons maintenant développé un générateur de codes QR avec des fonctionnalités de base. Rendons-le plus fonctionnel en ajoutant une annotation au code QR et la valeur du code QR à notre code QR. Modifiez la méthode OnButtonClicked comme indiqué dans le code source suivant.

private void OnButtonClicked(object sender, EventArgs e)
{
    // Get the text from the entry field
    string text = qrCodeText.Text;

    // Generate the QR code using the IronBarcode library
    var qrCode = QRCodeWriter.CreateQrCode(text);

    // Add the text of the QR code value below the generated barcode
    qrCode.AddBarcodeValueTextBelowBarcode();

    // Add an annotation text above the barcode
    qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");

    // Convert the QR code to binary JPEG data
    var qrCodeBytes = qrCode.ToJpegBinaryData();

    // Set the QR code image source to display the generated QR code on the UI
    qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
private void OnButtonClicked(object sender, EventArgs e)
{
    // Get the text from the entry field
    string text = qrCodeText.Text;

    // Generate the QR code using the IronBarcode library
    var qrCode = QRCodeWriter.CreateQrCode(text);

    // Add the text of the QR code value below the generated barcode
    qrCode.AddBarcodeValueTextBelowBarcode();

    // Add an annotation text above the barcode
    qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");

    // Convert the QR code to binary JPEG data
    var qrCodeBytes = qrCode.ToJpegBinaryData();

    // Set the QR code image source to display the generated QR code on the UI
    qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
Private Sub OnButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
	' Get the text from the entry field
	Dim text As String = qrCodeText.Text

	' Generate the QR code using the IronBarcode library
	Dim qrCode = QRCodeWriter.CreateQrCode(text)

	' Add the text of the QR code value below the generated barcode
	qrCode.AddBarcodeValueTextBelowBarcode()

	' Add an annotation text above the barcode
	qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App")

	' Convert the QR code to binary JPEG data
	Dim qrCodeBytes = qrCode.ToJpegBinaryData()

	' Set the QR code image source to display the generated QR code on the UI
	qrCodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(qrCodeBytes))
End Sub
$vbLabelText   $csharpLabel
  • qrCode.AddBarcodeValueTextBelowBarcode() ajoute le texte de la valeur du code QR sous le code-barres généré.
  • qrCode.AddAnnotationTextAboveBarcode("Mon code QR généré par l'application .NET MAUI") ajoute un texte d'annotation au-dessus du code-barres, précisant qu'il a été généré par une application .NET MAUI.

Visual Studio 2022 fournit une option Hot Reload pour l'application .NET MAUI. Après avoir changé la méthode OnButtonClicked, vous pouvez cliquer sur Hot Reload, et les changements apparaîtront ; vous n'avez peut-être pas besoin de fermer et de reconstruire l'application.

Entrez le texte que vous souhaitez encoder et appuyez sur le bouton Générer le code QR. Le code QR sera généré comme indiqué ci-dessous.

Comment générer un code QR dans .NET MAUI : Figure 12 - Générateur de codes QR

IronBarcode provides other useful functionality such as adding images, coloring and resizing the QR code, etc. For more detailed tutorials and code examples, you may refer to their official documentation.

Générateur de code-barres .NET MAUI

Vous pouvez également créer un générateur de code-barres .NET MAUI avec l'aide de la bibliothèque IronBarcode. Vous n'avez qu'à changer un peu dans le code, et vous êtes prêt à partir comme indiqué dans l'exemple de code suivant.

private void OnButtonClicked(object sender, EventArgs e)
{
    // Get the text from the entry field
    string text = barCodeText.Text;

    // Generate the barcode using the IronBarcode library with Code128 encoding
    var barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128);

    // Add the text of the barcode value below the generated barcode
    barCode.AddBarcodeValueTextBelowBarcode();

    // Add an annotation text above the barcode
    barCode.AddAnnotationTextAboveBarcode("My Barcode Generated by .NET MAUI App");

    // Convert the barcode to binary JPEG data
    var qrCodeBytes = barCode.ToJpegBinaryData();

    // Set the barcode image source to display the generated barcode on the UI
    barCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
private void OnButtonClicked(object sender, EventArgs e)
{
    // Get the text from the entry field
    string text = barCodeText.Text;

    // Generate the barcode using the IronBarcode library with Code128 encoding
    var barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128);

    // Add the text of the barcode value below the generated barcode
    barCode.AddBarcodeValueTextBelowBarcode();

    // Add an annotation text above the barcode
    barCode.AddAnnotationTextAboveBarcode("My Barcode Generated by .NET MAUI App");

    // Convert the barcode to binary JPEG data
    var qrCodeBytes = barCode.ToJpegBinaryData();

    // Set the barcode image source to display the generated barcode on the UI
    barCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
Private Sub OnButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
	' Get the text from the entry field
	Dim text As String = barCodeText.Text

	' Generate the barcode using the IronBarcode library with Code128 encoding
	Dim barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128)

	' Add the text of the barcode value below the generated barcode
	barCode.AddBarcodeValueTextBelowBarcode()

	' Add an annotation text above the barcode
	barCode.AddAnnotationTextAboveBarcode("My Barcode Generated by .NET MAUI App")

	' Convert the barcode to binary JPEG data
	Dim qrCodeBytes = barCode.ToJpegBinaryData()

	' Set the barcode image source to display the generated barcode on the UI
	barCodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(qrCodeBytes))
End Sub
$vbLabelText   $csharpLabel

Sortie

Comment générer un code QR dans .NET MAUI : Figure 13 - Générateur de code-barres

En plus d'apprendre à créer un générateur de codes QR à l'aide de .NET MAUI et de la bibliothèque IronBarcode, il convient de mentionner l'aspect des prix d'IronBarcode.

IronBarcode is free for development and offers a essai gratuit et différents plans tarifaires pour répondre à divers besoins à des fins commerciales. Le prix est basé sur les options de licence, qui comprennent des licences perpétuelles pour le déploiement sur site ainsi que des licences basées sur l'abonnement pour les déploiements en cloud.

Comment générer un code QR dans .NET MAUI : Figure 14

Conclusion

Dans cet article, nous avons appris à créer un générateur de codes QR et un générateur de codes-barres en utilisant .NET MAUI et la bibliothèque IronBarcode. Nous avons exploré les étapes pour installer IronBarcode, créer des codes QR et les afficher à l'écran en utilisant le contrôle d'image de .NET MAUI.

.NET MAUI fournit un cadre puissant pour construire des applications multiplateformes, et IronBarcode simplifie le processus de génération de codes-barres et de codes QR. En combinant ces technologies, vous pouvez créer des applications polyvalentes et efficaces qui exploitent les capacités des appareils modernes.

Questions Fréquemment Posées

Qu'est-ce que .NET MAUI et en quoi est-il différent de Xamarin Forms ?

.NET MAUI (Multi-platform App UI) est une évolution du cadre Xamarin Forms qui permet aux développeurs de construire des interfaces utilisateur natives pour plusieurs plateformes en utilisant une seule base de code. Il prend en charge Android, iOS, macOS, Windows, et plus, offrant une expérience de développement simplifiée par rapport à Xamarin Forms.

Comment puis-je générer un code QR dans une application .NET MAUI ?

Pour générer un code QR dans une application .NET MAUI, utilisez la bibliothèque IronBarcode. Tout d'abord, ajoutez IronBarcode via NuGet, configurez l'interface utilisateur MAUI, et utilisez la méthode CreateQrCode de IronBarcode pour générer un code QR à partir d'une chaîne.

Quelles sont les étapes pour configurer un projet .NET MAUI dans Visual Studio ?

Pour configurer un projet .NET MAUI dans Visual Studio 2022, ouvrez Visual Studio, créez un nouveau projet, recherchez le modèle MAUI, sélectionnez le modèle d'application .NET MAUI, et suivez les instructions d'installation fournies par Visual Studio.

Comment afficher un code QR dans une application .NET MAUI ?

Pour afficher un code QR dans une application .NET MAUI, utilisez la méthode CreateQrCode de IronBarcode pour générer le code QR et le convertir en données binaires avec ToJpegBinaryData. Vous pouvez ensuite l'afficher sur l'interface utilisateur à l'aide d'un contrôle Image.

Puis-je annoter un code QR dans un projet .NET MAUI ?

Oui, vous pouvez annoter un code QR dans un projet .NET MAUI en utilisant IronBarcode. Utilisez des méthodes telles que AddBarcodeValueTextBelowBarcode et AddAnnotationTextAboveBarcode pour ajouter des annotations textuelles au-dessus et au-dessous du code QR.

IronBarcode est-il gratuit à utiliser dans les applications .NET MAUI ?

IronBarcode est gratuit pour les fins de développement et offre un essai gratuit. Pour une utilisation commerciale, divers plans tarifaires et options de licence sont disponibles, permettant aux développeurs de choisir en fonction de leurs besoins de projet.

Comment créer un générateur de codes-barres avec .NET MAUI ?

Pour créer un générateur de codes-barres avec .NET MAUI, vous pouvez utiliser la bibliothèque IronBarcode en modifiant le code de génération de codes QR. Utilisez la méthode BarcodeWriter.CreateBarcode avec l'encodage souhaité pour générer différents types de codes-barres.

Quels sont les avantages d'utiliser IronBarcode avec .NET MAUI ?

Utiliser IronBarcode avec .NET MAUI permet aux développeurs de générer et manipuler efficacement des codes-barres et codes QR sur plusieurs plateformes avec une seule base de code. Il offre des fonctionnalités robustes telles que la taille personnalisable, la correction d'erreur, et des options d'encodage, améliorant les capacités des applications multiplateformes.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite