.NET MAUI Barcode Scanner
Introduction
.NET MAUI (.NET Multi-platform App UI)est un cadre multiplateforme permettant de créer aisément des applications multiplateformes à partir d'une seule base de code. 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.
Comment lire et scanner les codes-barres dans .NET MAUI
- Installez la bibliothèque C# pour lire et scanner les codes-barres
- Concevoir le front-end de l'application selon la tâche dans .NET MAUI.
- Obtenez le chemin d'image de l'image de code-barres donnée
- Utiliser le
Lire
pour scanner le code-barres fourni - Copiez la valeur du résultat avec le
SetTextAsync
méthode
IronBarcode : Bibliothèque de codes-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
Visual Studio 2022
- 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 à Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages
. 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 leSite web de 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.
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 trouver le code source du projet dans cet article 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, 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. Obtenez d'autres tutoriels sur IronBarcode à partir de cette pagelien.
IronBarcode doit être licencié pour le développement et une utilisation commerciale. Vous pouvez trouver plus d'informations sur les licencesici.