.NET MAUI Barcode Scanner
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.
Comment lire et scanner un code-barres dans .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
- Visual Studio 2022
- Un projet MAUI .NET en cours d'exécution dans Visual Studio
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>
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
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
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.
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.
En cliquant sur le bouton Copier, la fenêtre d'alerte mentionnée ci-dessus apparaît.
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.