Comment lire et scanner un code-barres en C# en utilisant .NET MAUI

.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 pour créer sans effort des applications multiplateformes à partir d'un seul code source. Par exemple, vous pouvez facilement créer des applications Microsoft Windows, iOS et Android dans un seul projet. Ce qui le sépare des autres plateformes, frameworks et bibliothèques, c'est la façon dont il permet à la communauté des développeurs d'utiliser les contrôles natifs dans leurs projets et leur fournit des composants supplémentaires. En conséquence, les développeurs peuvent utiliser ces composants et services préfabriqués pour construire les applications plus rapidement sans é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.

class="hsg-featured-snippet">

Comment lire et scanner des codes-barres dans .NET MAUI

  1. Installez la bibliothèque C# pour lire et scanner des codes-barres
  2. Concevez le front-end de l'application selon la tâche dans .NET MAUI
  3. Obtenez le chemin de l'image du code-barres donné
  4. Utilisez la méthode Read pour scanner le code-barres fourni
  5. Copiez la valeur du résultat avec la méthode SetTextAsync

IronBarcode : Bibliothèque C# Barcode

Pour lire les codes-barres dans notre application, nous utiliserons la bibliothèque .NET IronBarcode. Elle fournit une API robuste et simple pour lire les codes-barres, permettant un développement sans tracas ou connaissance du domaine des codes-barres. Elle peut être facilement installée 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, entre autres. Vous pouvez lire à partir de divers formats de données tels que des fichiers image, des flux de mémoire et des PDFs.

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

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

Prérequis

  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, naviguez vers Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages. Ensuite, écrivez la commande suivante dans la console :

Install-Package BarCode

Cette commande de console téléchargera 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 sera de créer le design du front-end. Pour cela, nous allons créer une mise en page composée de deux boutons, une zone de texte et une zone d'image. Un bouton sera utilisé pour sélectionner le code-barres, et un autre copiera le texte du code-barres. La zone d'image affichera 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 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 changer selon votre préférence.

Scanner de codes-barres utilisant IronBarcode

Cette section décrira le code pour scanner des codes-barres enutilisant 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 définirons la source de la zone 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)
{
    // Use FilePicker to allow the user to select an image file.
    var images = await FilePicker.Default.PickAsync(new PickOptions
    {
        PickerTitle = "Pick image",
        FileTypes = FilePickerFileType.Images
    });

    // Get the full path of the selected image file.
    var imageSource = images.FullPath.ToString();

    // Set the source of the Image view to the selected image's path.
    barcodeImage.Source = imageSource;

    // Use IronBarcode to read the barcode from the image file and get the first result.
    var result = BarcodeReader.Read(imageSource).First().Text;

    // Display the read result in the Editor.
    outputText.Text = result;
}
private async void SelectBarcode(object sender, EventArgs e)
{
    // Use FilePicker to allow the user to select an image file.
    var images = await FilePicker.Default.PickAsync(new PickOptions
    {
        PickerTitle = "Pick image",
        FileTypes = FilePickerFileType.Images
    });

    // Get the full path of the selected image file.
    var imageSource = images.FullPath.ToString();

    // Set the source of the Image view to the selected image's path.
    barcodeImage.Source = imageSource;

    // Use IronBarcode to read the barcode from the image file and get the first result.
    var result = BarcodeReader.Read(imageSource).First().Text;

    // Display the read result in the Editor.
    outputText.Text = result;
}
Private Async Sub SelectBarcode(ByVal sender As Object, ByVal e As EventArgs)
	' Use FilePicker to allow the user to select an image file.
	Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
		.PickerTitle = "Pick image",
		.FileTypes = FilePickerFileType.Images
	})

	' Get the full path of the selected image file.
	Dim imageSource = images.FullPath.ToString()

	' Set the source of the Image view to the selected image's path.
	barcodeImage.Source = imageSource

	' Use IronBarcode to read the barcode from the image file and get the first result.
	Dim result = BarcodeReader.Read(imageSource).First().Text

	' Display the read result in the Editor.
	outputText.Text = result
End Sub
$vbLabelText   $csharpLabel

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

private async void CopyEditorText(object sender, EventArgs e)
{
    // Copy the text from the Editor to the clipboard.
    await Clipboard.SetTextAsync(outputText.Text);

    // Show a success message to the user.
    await DisplayAlert("Success", "Text is copied!", "OK");
}
private async void CopyEditorText(object sender, EventArgs e)
{
    // Copy the text from the Editor to the clipboard.
    await Clipboard.SetTextAsync(outputText.Text);

    // Show a success message to the user.
    await DisplayAlert("Success", "Text is copied!", "OK");
}
Private Async Sub CopyEditorText(ByVal sender As Object, ByVal e As EventArgs)
	' Copy the text from the Editor to the clipboard.
	Await Clipboard.SetTextAsync(outputText.Text)

	' Show a success message to the user.
	Await DisplayAlert("Success", "Text is copied!", "OK")
End Sub
$vbLabelText   $csharpLabel

You can find the project source code in this article on GitHub.

Sortie

Après avoir exécuté le projet, vous verrez la sortie suivante. L'image ne s'affiche pas car elle n'est pas encore sélectionnée.

class="content-img-align-center"> Tutoriel de scanner de codes-barres .NET MAUI utilisant IronBarcode - Figure 1 : Sortie quand aucune image n'est sélectionnée

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

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

class="content-img-align-center"> Tutoriel de scanner de codes-barres .NET MAUI utilisant IronBarcode - Figure 2 : Sortie après sélection de l'image

Sortie après sélection de l'image

Cliquer sur le bouton Copier déclenchera la fenêtre d'alerte mentionnée précédemment pour apparaître.

class="content-img-align-center"> Tutoriel de scanner de codes-barres .NET MAUI utilisant IronBarcode - Figure 3 : Alerte de copie

Alerte de copie

Conclusion

Dans cet article, nous avons expliqué comment nous pouvons 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 la sortie exacte attendue. De plus, il peut lire des codes-barres difficiles à lire. Vous pouvez également créer et personnaliser des codes-barres en utilisant différentes polices. Obtenez plus de publications de tutoriel concernant IronBarcode depuis ce lien.

IronBarcode doit être licencié pour le développement et l'utilisation commerciale. Vous pouvez trouver plus d'informations sur la licence ici.

Questions Fréquemment Posées

Comment puis-je scanner les codes QR dans une application .NET MAUI ?

Vous pouvez scanner les codes QR dans une application .NET MAUI en utilisant la bibliothèque IronBarcode. Installez la bibliothèque via le gestionnaire de packages NuGet dans Visual Studio, et utilisez la méthode BarcodeReader.Read pour extraire le texte d'un fichier image sélectionné.

Quel est le processus pour installer IronBarcode dans un projet .NET MAUI ?

Pour installer IronBarcode dans un projet .NET MAUI, ouvrez la console de gestion des packages NuGet dans Visual Studio et exécutez la commande Install-Package Barcode pour télécharger et installer la bibliothèque.

Quels formats de code-barres peuvent être lus en utilisant la bibliothèque IronBarcode ?

IronBarcode prend en charge une variété de formats de codes-barres, y compris les codes QR, Code 39, Code 128, PDF417, et plus encore, permettant des capacités de lecture de codes-barres polyvalentes dans vos applications.

Comment concevoir l'interface d'une application de scanner de codes-barres dans .NET MAUI ?

Dans .NET MAUI, l'interface d'une application de scanner de codes-barres peut être conçue en utilisant XAML. Typiquement, elle inclut une mise en page avec des boutons, une zone de texte et une boîte d'image, qui peuvent être définies dans le fichier MainPage.xaml.

Comment puis-je copier le texte du code-barres scanné dans le presse-papiers dans une application .NET MAUI ?

Utilisez la méthode Clipboard.SetTextAsync dans votre application .NET MAUI pour copier le texte du code-barres scanné dans le presse-papiers. Cette méthode peut être déclenchée par un clic de bouton, affichant une alerte pour confirmer l'action.

Est-il possible de personnaliser l'apparence des codes-barres dans .NET MAUI avec IronBarcode ?

Oui, IronBarcode permet la personnalisation des apparences des codes-barres en fournissant des options pour modifier les polices, les couleurs et les styles, permettant la création de codes-barres visuellement adaptés.

Ai-je besoin d'une licence pour utiliser IronBarcode dans des applications commerciales ?

Oui, une licence est requise pour utiliser IronBarcode à des fins de développement et commerciales. Les détails et options de licence sont disponibles sur le site Web de IronBarcode.

Où puis-je accéder au code source du tutoriel de scanner de codes-barres .NET MAUI ?

Le code source du tutoriel de scanner de codes-barres .NET MAUI est disponible sur GitHub. Un lien vers le dépôt est fourni dans l'article pour un accès facile.

Comment IronBarcode améliore-t-il le balayage de codes-barres dans les applications .NET MAUI ?

IronBarcode améliore le balayage de codes-barres dans les applications .NET MAUI en fournissant une API robuste qui prend en charge plusieurs formats de codes-barres et une intégration transparente avec les projets .NET MAUI, assurant une lecture de codes-barres efficace et précise.

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
Prêt à commencer?
Nuget Téléchargements 1,935,276 | Version : 2025.11 vient de sortir