.NET MAUI Barcode Scanner

This article was translated from English: Does it need improvement?
Translated
View the article in English

Introduction

.NET MAUI (.NET Multi-platform App UI) est un framework multiplateforme qui permet de créer plus facilement des applications multiplateformes dans une base de code unique. Par exemple, vous pouvez facilement créer des applications Microsoft Windows, IOS et Android dans un seul projet. Ce qui la distingue des autres plateformes, cadres et bibliothèques, c'est la façon dont elle permet à la communauté des développeurs d'utiliser les contrôles natifs dans leurs projets et de leur fournir des composants supplémentaires. Par conséquent, les développeurs peuvent utiliser ces composants et services préfabriqués pour créer des applications plus rapidement sans avoir à écrire chaque aspect du code à partir de zéro.

Dans cet article, je vais vous expliquer comment scanner un code QR ou un code-barres dans l'application Windows .NET MAUI.

IronBarcode : Bibliothèque de codes-barres C

IronBarcode est une bibliothèque .NET qui permet de créer facilement des codes-barres dans les programmes. Elle fournit un ensemble robuste et facile d'API par défaut. La bibliothèque IronBarcode offre des fonctionnalités permettant de générer et de lire des codes QR ou d'autres codes-barres au niveau de l'objet, de sorte que vous pouvez les développer un par un en appelant leurs méthodes sans avoir à vous préoccuper des détails de la création d'un objet code-barres et des connaissances préalables. En outre, il ne nécessite aucun chargement de dépendances externes pour fonctionner et peut être téléchargé facilement à l'aide du gestionnaire de paquets NuGet.

IronBarcode prend en charge plusieurs formats de codes-barres QR et modernes tels que le Code 39, le Code 128, le PDF417, et bien d'autres encore. Vous pouvez également utiliser cette bibliothèque .NET comme lecteur et constructeur de codes QR. Il décode les données d'entrée en texte lisible par l'homme. Vous pouvez obtenir des données à partir d'images, de flux, de GIF, etc. Cet article explique également comment utiliser la bibliothèque IronBarcode pour lire et scanner des codes QR dans des applications .NET MAUI.

Étapes pour lire et scanner un code-barres dans l'application .NET MAUI

Suivez les étapes suivantes pour lire le code QR dans l'application .NET MAUI.

Conditions préalables

  1. Visual Studio 2022
  2. Un projet MAUI .NET en cours d'exécution dans Visual Studio
  3. Internet stable pour installer la bibliothèque IronBarcode pour la lecture des codes-barres

    Si vous remplissez les conditions ci-dessus, vous pouvez passer à l'étape suivante.

Installer la bibliothèque IronBarcode

Nous pouvons installer la bibliothèque IronBarcode à l'aide de la console NuGet Packages. Ecrivez la commande suivante dans la console :

Install-Package BarCode

Cette commande de la console télécharge la dernière version de la bibliothèque IronBarcode dans le projet MAUI. Mais, bien sûr, vous pouvez toujours vérifier et rechercher la dernière version de la bibliothèque de paquets NuGet sur la pageSite web de NuGet.

Frontend

La première étape consiste à créer le design de l'interface.

Nous allons créer une mise en page composée de deux boutons, d'une zone de texte et d'une zone d'image. Un bouton sera utilisé pour sélectionner le code-barres et un autre pour copier le texte du code-barres. La boîte à images affiche l'image sélectionnée.

Remplacer le contenu du fichier MainPage.xaml par ce qui suit :

<?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_Barcode.MainPage">
    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">
            <Button
                x:Name="ImageSelect"
                Text="Select Barcode"
                SemanticProperties.Hint="Select Image"
                Clicked="SelectBarcode"
                HorizontalOptions="Center" />
            <Image
                x:Name="barcodeImage"
                SemanticProperties.Description="Selected Barcode"
                HeightRequest="200"
                HorizontalOptions="Center" />
            <Editor x:Name="outputText"
                Placeholder="Output text"
                HeightRequest="100"
                WidthRequest="500" />
            <Button
                x:Name="copyText"
                Text="Copy"
                SemanticProperties.Hint="Copy Text"
                WidthRequest="150"
                Clicked="CopyEditorText"
                HorizontalOptions="Center" />
        </VerticalStackLayout>
    </ScrollView>
</ContentPage>
XML

Tous les éléments sont empilés verticalement avec la position centrale. Vous pouvez le modifier selon vos préférences.

Scanner de codes-barres avec IronBarcode

Cette section décrit le code permettant de scanner des codes-barres à l'aide de la bibliothèque IronBarcode. Tout d'abord, nous allons utiliser un FilePicker pour sélectionner le fichier et spécifier le type de fichier pour l'image. Ensuite, nous utiliserons la propriété FullPath pour récupérer le chemin d'accès au fichier image, puis nous définirons la source de la boîte d'image à la valeur FullPath. Enfin, nous utiliserons la valeur path dans la fonction Read du BarcodeReader pour récupérer le texte.

private async void SelectBarcode(object sender, EventArgs e)
{
    var images = await FilePicker.Default.PickAsync(new PickOptions
    {
    PickerTitle = "Pick image",
    FileTypes = FilePickerFileType.Images
    });
    var imageSource = images.FullPath.ToString();
    barcodeImage.Source = imageSource;
    var result = BarcodeReader.Read(imageSource).First().Text;
    outputText.Text = result;
}
private async void SelectBarcode(object sender, EventArgs e)
{
    var images = await FilePicker.Default.PickAsync(new PickOptions
    {
    PickerTitle = "Pick image",
    FileTypes = FilePickerFileType.Images
    });
    var imageSource = images.FullPath.ToString();
    barcodeImage.Source = imageSource;
    var result = BarcodeReader.Read(imageSource).First().Text;
    outputText.Text = result;
}
Private Async Sub SelectBarcode(ByVal sender As Object, ByVal e As EventArgs)
	Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
		.PickerTitle = "Pick image",
		.FileTypes = FilePickerFileType.Images
	})
	Dim imageSource = images.FullPath.ToString()
	barcodeImage.Source = imageSource
	Dim result = BarcodeReader.Read(imageSource).First().Text
	outputText.Text = result
End Sub
VB   C#

Le code ci-dessous sera utilisé pour copier le texte de l'éditeur de texte et afficher un message d'alerte indiquant à l'utilisateur que le texte a été copié.

private async void CopyEditorText (object sender, EventArgs e)
{
    await Clipboard.SetTextAsync(outputText.Text);
    await DisplayAlert("Success", "Text is copied!", "OK");
}
private async void CopyEditorText (object sender, EventArgs e)
{
    await Clipboard.SetTextAsync(outputText.Text);
    await DisplayAlert("Success", "Text is copied!", "OK");
}
Private Async Sub CopyEditorText(ByVal sender As Object, ByVal e As EventArgs)
	Await Clipboard.SetTextAsync(outputText.Text)
	Await DisplayAlert("Success", "Text is copied!", "OK")
End Sub
VB   C#

Vous pouvez obtenir ce projet pour lire et scanner des codes sur GitHub().

Sortie

Après avoir exécuté le projet, vous obtiendrez le résultat suivant. L'image ne s'affiche pas car elle n'est pas encore sélectionnée.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 1 : Sortie lorsqu'aucune image n'est sélectionnée

Sortie lorsqu'aucune image n'est sélectionnée

Lorsque le code-barres est sélectionné, il s'affiche comme sur la capture d'écran ci-dessous, et le texte de sortie du code QR s'affiche dans l'éditeur.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 2: Sortie après sélection de l'image

Sortie après sélection de l'image

En cliquant sur le bouton Copier, la fenêtre d'alerte mentionnée ci-dessus apparaît.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 3: Alerte à la copie

Alerte à la copie

Conclusion

Dans cet article, il a été expliqué comment nous pouvons lire des codes-barres dans l'application .NET MAUI à l'aide d'IronBarcode. IronBarcode est un produit complet comprenant tous les outils nécessaires aux opérations de code-barres. En tant que lecteur de codes QR, IronBarcode fonctionne très bien. Il fournit le résultat exact attendu. De plus, il peut lire des codes-barres complexes. Vous pouvez également créer et personnaliser les codes-barres en utilisant différentes polices. Obtenez d'autres tutoriels sur IronBarcode à partir de cette page lien.

IronBarcode est gratuit à des fins de développement. Mais pour une utilisation commerciale, vous devez acheter la licence. Vous pouvez obtenir les informations relatives à la licence en utilisant le lien suivantlien.