.NET MAUI Barcode Scanner

Chaknith Bin
Chaknith Bin
février 1, 2023
Mise à jour décembre 17, 2024
Partager:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Introduction

.NET MAUI (Interface utilisateur d'application multiplateforme .NET) est un framework multiplateforme permettant de créer facilement des applications multiplateformes avec 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, nous expliquerons comment intégrer IronBarcode dans une application Windows .NET MAUI pour scanner un code-barres ou un code QR.

IronBarcode : Bibliothèque de code-barres C

Pour lire les codes-barres dans notre application, nous utiliserons notre bibliothèque IronBarcode .NET. Il offre une API robuste et simple pour lire les codes-barres, permettant le développement sans tracas ni connaissances spécifiques au domaine des codes-barres. Il peut être facilement installé avec le gestionnaire de packages NuGet.

IronBarcode prend en charge une multitude de formats de codes-barres pour la lecture, y compris Code 39, Code 128, PDF417, parmi beaucoup d'autres. Vous pouvez lire à partir d'une variété de formats de données tels que des fichiers image, des flux de mémoire et des PDF.

Étapes pour lire des codes-barres dans une application .NET MAUI

Suivez ces étapes pour lire un code-barres dans une application .NET MAUI.

Conditions préalables

  1. Visual Studio 2022

  2. Un projet .NET MAUI dans Visual Studio

Installer la bibliothèque IronBarcode

Nous pouvons installer la bibliothèque IronBarcode en utilisant la Console du Gestionnaire de Packages NuGet. Pour ouvrir cette console dans Visual Studio, accédez à Tools > NuGet Package Manager > Package Manager Console. Ensuite, écrivez 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. Alternativement, vous pouvez également rechercher la dernière version du package NuGet sur le site NuGet.

Front-End

La première étape consistera à créer le design de l'interface utilisateur. Pour cela, nous allons créer une mise en page qui comprend deux boutons, une zone de texte et une boîte à images. 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.

Remplacez 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 utiliserons 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 du fichier image, puis nous définirons la source de la boîte d'image sur 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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Vous pouvez trouver le code source du projet dans cet article sur [GitHub](https://github.com/tayyab-create/Read-and-Scan-Barcode-in-MAUI" target="_blank" rel="nofollow noopener noreferrer).

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.

Tutoriel de scanner de code-barres .NET MAUI en utilisant 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, nous avons expliqué comment lire des codes-barres dans une application .NET MAUI en utilisant IronBarcode. En tant que lecteur de code QR, IronBarcode fonctionne très bien - il fournit le résultat exact attendu. De plus, il peut lire les codes-barres difficiles à lire. Vous pouvez également créer et personnaliser les codes-barres en utilisant différentes polices. Consultez plus de tutoriels concernant IronBarcode à partir de ce lien.

IronBarcode doit être licencié pour le développement et une utilisation commerciale. Vous pouvez trouver plus d'informations sur les licences ici.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.