UTILISATION D'IRONBARCODE

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

Publié mai 30, 2023
Partager:

Dans cet article, nous verrons comment créer un générateur de code QR à l'aide de .NET MAUI, un cadre moderne pour la création d'applications multiplateformes. Nous nous appuierons sur la bibliothèque IronBarcode pour générer des codes QR et les afficher à l'écran.

Qu'est-ce que .NET MAUI ?

.NET MAUI (L'interface utilisateur des applications multiplateformes) 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 Android, iOS, macOS, Windows et plus encore, en réduisant le temps et les efforts de développement.

Présentation d'IronBarcode

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

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. Il est toutefois recommandé d'utiliser Visual Studio. Suivez les étapes suivantes pour créer le projet.

Ouvrez Visual Studio 2022. L'écran suivant s'affiche comme indiqué ci-dessous.

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

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 .NET MAUI App Template et cliquez sur le bouton Next. La fenêtre suivante apparaît.

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

Ce tutoriel 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 vos besoins avec la même base de code.

Pour déployer une application .NET MAUI sur votre machine Windows locale, vous pouvez suivre les étapes suivantes à l'aide de 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 le menu déroulant de la barre d'outils.

  2. Cliquez sur le bouton "Start Debugging" ou appuyez sur F5 pour créer 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 demandera de l'activer. Pour ce faire, suivez les étapes suivantes :

  3. Dans la boîte de dialogue "Enable Developer Mode for Windows" affichée par Visual Studio, localisez le lien intitulé "settings for developers" (paramètres pour les développeurs)

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

  4. Cliquez sur le lien "settings for developers". Cela ouvrira l'application Paramètres sur votre machine Windows.

  5. Activez la bascule sous le 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 que le mode développeur est activé. La fenêtre suivante apparaît :

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

    Il s'agit de 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 en fonction de nos besoins.

Installer IronBarcode

Pour installer IronBarcodeouvrez la console du gestionnaire de paquets NuGet. Pour ouvrir la console du gestionnaire de paquets dans Visual Studio, procédez comme suit :

  1. Lancez Visual Studio sur votre machine Windows.

  2. Ouvrez le projet sur lequel vous souhaitez travailler ou créez un nouveau projet.

  3. Dans le menu Visual Studio, cliquez sur "Outils".

  4. Dans le menu déroulant, cliquez sur "NuGet Package Manager".

  5. Un autre menu déroulant apparaît, et vous devez sélectionner "Package Manager Console".

    La fenêtre de la console du gestionnaire de paquets s'ouvre, vous offrant une interface de ligne de commande pour gérer les paquets NuGet dans votre projet. Ecrivez la commande suivante Package Manager Console.

:PackageInstall

Cela ajoutera la bibliothèque IronBarcode à votre projet et la rendra utilisable.

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

.NET MAUI QR Code Generator using IronBarcode for .NET

Maintenant, écrivons le code pour créer notre propre application mobile QR Code Generator. Pour afficher le code QR généré sur l'écran, nous allons exploiter 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

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

  • <Label> : L'objectif de la <Label>le composant permet d'afficher 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> : Le <Entry>le composant est utilisé pour fournir un champ de saisie de texte à l'utilisateur. Dans cette application, il permet à l'utilisateur de saisir le contenu qu'il souhaite encoder dans un code QR.
  • <Image> : Le <Image>le composant est utilisé pour afficher une image à l'écran. Dans cette application, il est utilisé pour montrer l'image du code QR généré à l'utilisateur après qu'il ait cliqué sur le bouton de génération.
  • <Button> : Le <Button>le composant représente un bouton cliquable. Il permet à l'utilisateur de déclencher une action lorsqu'il clique dessus. Dans cette application, le bouton est utilisé pour lancer la génération du code QR en fonction du contenu saisi par l'utilisateur dans le champ <Entry> domaine.

    L'ensemble de ces composants crée une interface où l'utilisateur peut saisir un texte, cliquer sur un bouton et voir le code QR correspondant s'afficher à l'écran.

    Maintenant, écrivons le code backend pour générer le code QR. Ouvrez maintenant 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)
    {
        string text = qrCodeText.Text;
        var qrCode = QRCodeWriter.CreateQrCode(text);
        var qrCodeBytes = qrCode.ToJpegBinaryData();
        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)
    {
        string text = qrCodeText.Text;
        var qrCode = QRCodeWriter.CreateQrCode(text);
        var qrCodeBytes = qrCode.ToJpegBinaryData();
        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)
			Dim text As String = qrCodeText.Text
			Dim qrCode = QRCodeWriter.CreateQrCode(text)
			Dim qrCodeBytes = qrCode.ToJpegBinaryData()
			qrCodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(qrCodeBytes))
		End Sub
	End Class
End Namespace
VB   C#

Voici l'explication du code.

  1. La méthode OnButtonClicked est un gestionnaire d'événement pour l'événement click d'un bouton. Lorsque le bouton est cliqué, cette méthode est exécutée.

  2. Dans la méthode OnButtonClicked, le texte contenu dans le champ de saisie qrCodeText est assigné à la variable text.

  3. QRCodeWriter.CreateQrCode(texte) est utilisé pour créer un code QR basé sur le texte saisi.

  4. qrCode.ToJpegBinaryData() convertit le code QR en données JPEG binaires.

  5. qrCodeImage.Source = ImageSource.FromStream(() => nouveau 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 en tester la fonctionnalité. Appuyez sur F5 pour lancer l'application sur la machine Windows. L'écran suivant apparaît lors de l'exécution du projet.

Saisissez le texte que vous souhaitez encoder dans le fichier texte et appuyez sur le bouton Générer un 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 une valeur de code QR

Nous avons développé un générateur de code QR avec des fonctionnalités de base. Rendons-le plus fonctionnel en ajoutant l'annotation 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)
{
    string text = qrCodeText.Text;
    var qrCode = QRCodeWriter.CreateQrCode(text);
    qrCode.AddBarcodeValueTextBelowBarcode();
    qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");
    var qrCodeBytes = qrCode.ToJpegBinaryData();
    qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
private void OnButtonClicked(object sender, EventArgs e)
{
    string text = qrCodeText.Text;
    var qrCode = QRCodeWriter.CreateQrCode(text);
    qrCode.AddBarcodeValueTextBelowBarcode();
    qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");
    var qrCodeBytes = qrCode.ToJpegBinaryData();
    qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
Private Sub OnButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
	Dim text As String = qrCodeText.Text
	Dim qrCode = QRCodeWriter.CreateQrCode(text)
	qrCode.AddBarcodeValueTextBelowBarcode()
	qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App")
	Dim qrCodeBytes = qrCode.ToJpegBinaryData()
	qrCodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(qrCodeBytes))
End Sub
VB   C#
  • 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, spécifiant qu'il a été généré par une application .NET MAUI.

    Visual Studio 2022 propose une option de rechargement à chaud pour les applications .NET MAUI. Après avoir modifié OnButtonClicked, vous pouvez cliquer sur Hot reload, et les changements apparaîtront, vous n'aurez peut-être pas besoin de fermer et de reconstruire l'application.

    Saisissez le texte que vous souhaitez encoder et appuyez sur le bouton Générer un 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 QrCode

    IronBarcode propose d'autres fonctionnalités utiles telles que l'ajout d'images, la coloration et le redimensionnement du code QR, etc. Pour plus de détails tutoriels et exemples de codevous pouvez vous référer à leur documentation officielle.

.NET MAUI Barcode Generator (Générateur de code-barres MAUI)

Vous pouvez également créer un générateur de codes-barres IronBarcode for .NET à l'aide de la bibliothèque IronBarcode. Il suffit de modifier un peu le code, et nous sommes prêts, comme le montre l'exemple de code suivant.

private void OnButtonClicked(object sender, EventArgs e)
    {
        string text = barCodeText.Text;
        var barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128);
        barCode.AddBarcodeValueTextBelowBarcode();
        barCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");
        var qrCodeBytes = barCode.ToJpegBinaryData();
        barCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
    }
private void OnButtonClicked(object sender, EventArgs e)
    {
        string text = barCodeText.Text;
        var barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128);
        barCode.AddBarcodeValueTextBelowBarcode();
        barCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");
        var qrCodeBytes = barCode.ToJpegBinaryData();
        barCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
    }
Private Sub OnButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
		Dim text As String = barCodeText.Text
		Dim barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128)
		barCode.AddBarcodeValueTextBelowBarcode()
		barCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App")
		Dim qrCodeBytes = barCode.ToJpegBinaryData()
		barCodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(qrCodeBytes))
End Sub
VB   C#

Sortie

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

Outre l'apprentissage de la création d'un générateur de code QR à l'aide de .NET MAUI et de la bibliothèque IronBarcode, il convient de mentionner l'aspect tarifaire d'IronBarcode.

IronBarcode est gratuit pour le développement et offre une essai gratuit et différents plans tarifaires pour répondre à des besoins variés à des fins commerciales. La tarification est basée sur options de licencequi comprennent des licences perpétuelles pour les déploiements sur site et des licences par abonnement pour les déploiements dans le nuage.

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

Conclusion

Dans cet article, nous avons appris à créer un fichier Générateur de code QR et générateur de codes-barres 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 la création d'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.

< PRÉCÉDENT
Comment générer un code QR dans Blazor
SUIVANT >
Comment imprimer un code-barres dans l'application Windows C#