using IronQr;
using IronSoftware.Drawing;
// Create a QR Code object
QrCode myQr = QrWriter.Write("hello world");
// Save QR Code as a Bitmap
AnyBitmap qrImage = myQr.Save();
// Save QR Code Bitmap as File
qrImage.SaveAs("qr.png");
Comment utiliser .NET MAUI pour le scanner de codes QR ?
Jordi Bardia
avril 9, 2025
Partager:
Introduction
Avec la montée des applications mobiles exploitant les codes QR pour une récupération rapide d'informations, le besoin d'un scanner de codes QR efficace et facile à intégrer ainsi que d'un scanner de codes-barres .NET MAUI pour scanner les codes-barres grandit. .NET MAUI (Multi-platform App UI), le cadre multiplateforme de Microsoft, offre un environnement unifié pour créer des applications sur iOS, Android, macOS et Windows. Lors de la numérisation des codes QR dans une application .NET MAUI, les développeurs ont besoin d'une bibliothèque intuitive et puissante pour gérer le processus.
IronQR est une bibliothèque populaire qui permet aux développeurs de générer et de décoder des codes QR rapidement, précisément et de manière fiable. Cet article vous guidera dans l'intégration d'IronQR avec .NET MAUI pour construire un scanner QR/Code-barres qui fonctionne parfaitement sur plusieurs plateformes.
Comment implémenter la numérisation de code-barres QR avec IronQR
Créer un projet .NET MAUI.
Installez le package NuGet IronQR.
Configurer les autorisations pour la caméra et le stockage des fichiers.
Mise en œuvre du scanner de code QR.
Introduction à IronQR pour les applications mobiles .NET MAUI
IronQR est une bibliothèque puissante et facile à utiliser qui simplifie la génération et le décodage des codes QR dans les applications .NET, y compris les applications mobiles .NET MAUI pour la fonctionnalité de numérisation de codes QR et de codes-barres. Il offre des solutions rapides et fiables pour intégrer la fonctionnalité de lecture de codes QR et de codes-barres sur des plateformes telles que iOS, Android, macOS et Windows, ce qui est essentiel pour développer des applications mobiles multiplateformes.
Fonctionnalités d'IronQR pour les applications mobiles .NET MAUI
a) Prise en charge multiplateforme : Fonctionne parfaitement sur les plateformes iOS, Android, macOS et Windows au sein des applications MAUI.
b) Scan de QR Code : Décode efficacement divers types de QR Codes (URLs, texte, informations de contact, etc.). Il prend également en charge la lecture de plusieurs codes-barres avec des algorithmes de détection de codes-barres efficaces.
c) Génération de QR Code : Cela permet la génération facile de QR Codes à partir de données telles que des URL, des textes et plus encore.
d) Gestion des autorisations de caméra : Gère automatiquement les demandes d'autorisation de caméra, simplifiant ainsi le processus de numérisation.
e) Haute performance : Scanne et génère des codes QR rapidement et de manière fiable avec une utilisation minimale des ressources.
f) Paramètres personnalisables : Offre des options de personnalisation pour les paramètres de numérisation et l'apparence des codes QR.
g) Intégration facile : API simple et configuration minimale requises pour ajouter la numérisation et la génération de QR Code à votre application .NET MAUI.
h) Gestion des erreurs : Fournit des messages d'erreur détaillés et des solutions de dépannage, garantissant un bon fonctionnement dans divers scénarios.
i) Pas de dépendances externes : IronQR fonctionne de manière indépendante, réduisant le besoin de bibliothèques tierces ou de configurations complexes, contrairement au scanner de codes-barres ZXing.
j) Prise en charge multi-format : Prend en charge plusieurs formats de codes QR, assurant ainsi la compatibilité avec un large éventail de codes QR utilisés dans le monde réel.
Pré-requis
Avant de procéder à la mise en œuvre, assurez-vous d'avoir les prérequis suivants :
Visual Studio 2022 ou une version ultérieure installé.
SDK .NET 6.0 ou version ultérieure (car .NET MAUI est construit sur .NET 6 et versions ultérieures).
IronQR NuGet Package pour le scan de codes QR et la détection de codes-barres.
Application .NET MAUI (Vous pouvez créer une nouvelle application MAUI dans Visual Studio si vous n'en avez pas déjà une).
Étape 1 : Créer un projet .NET MAUI
Pour commencer, créons un projet .NET MAUI simple :
Ouvrez Visual Studio et cliquez sur Créer un nouveau projet.
Sélectionnez le modèle .NET MAUI App.
Donnez un nom au projet (par exemple, MauiQRCodeScanner), sélectionnez un emplacement, puis cliquez sur Suivant.
\
Sélectionnez la version .NET requise et cliquez sur Create.
Étape 2 : Installez le package NuGet IronQR
IronQR est une bibliothèque tierce qui offre des fonctionnalités de génération et de balayage de codes QR. Pour installer IronQR, vous devez l'ajouter via NuGet :
Dans Visual Studio, faites un clic droit sur les Dépendances dans votre Explorateur de solutions.
Cliquez sur Gérer les packages NuGet.
Dans l'onglet Parcourir, recherchez IronQR et cliquez sur Installer sur le package pertinent (généralement IronQR ou IronQR.Maui si spécifiquement disponible pour MAUI).
Acceptez les licences et assurez-vous que la bibliothèque est installée.
Étape 3 : Configurer les autorisations pour la caméra et le stockage de fichiers
Pour que votre application puisse scanner les codes QR, vous devrez demander des autorisations de caméra sur les plateformes mobiles (iOS et Android). Voici comment vous pouvez ajouter les autorisations suivantes à l'intérieur. ``
Appareil Android : Dans le fichier AndroidManifest.xml, ajoutez l'autorisation de la caméra :
``
iOS : Dans le fichier Info.plist, ajoutez la description de l'utilisation de la caméra :
<key>NSCameraUsageDescription</key>
<string>Nous avons besoin d'accéder à votre caméra pour scanner des codes QR.</string>
Étape 4 : Implémentation du scanner de code QR
Maintenant, créons une interface utilisateur simple pour notre scanner QR dans l'application de scanner de code-barres MAUI. Nous utiliserons le bouton pour déclencher le processus de numérisation et une étiquette pour afficher le texte du code QR scanné.
Modifiez le fichier MainPage.xaml dans l'espace de noms XML. ``
Maintenant, dans le fichier MainPage.xaml.cs, vous allez gérer les autorisations de la caméra et la logique de numérisation du code QR. Voici comment l'implémenter :
```cs
using IronQrCode;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Essentials;
namespace MauiQRCodeScanner;
public partial class MainPage : ContentPage
{
public MainPage()
{
License.LicenseKey = "Your key";
InitializeComponent();
}
// OnScanButtonClicked method with object sender as input
private async void OnScanButtonClicked(object sender, EventArgs e)
{
// Check for camera permission for var barcode with clear and valid reason
var status = await Permissions.RequestAsync<Permissions.Camera>();
if (status != PermissionStatus.Granted)
{
await DisplayAlert("Permission Denied", "Cannot scan QR codes without camera permission", "OK");
return;
}
// Start scanning QR codes
try
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var imageSource = images.FullPath.ToString();
// barcodeImage.Source = imageSource;
var inputBmp = AnyBitmap.FromFile(imageSource);
// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(inputBmp);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the input and get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
if (results.Any())
{
resultLabel.Text = "Scanned Text: " + results.First().Value;
// Display the result
}
else
{
resultLabel.Text = "No QR code detected";
}
}
catch (Exception ex)
{
resultLabel.Text = "Error: " + ex.Message;
}
}
}
Entrer le code QR
Sortie
Sélectionnez le QR Code requis ou capturez-le depuis le flux de la caméra.
Le résultat est affiché dans l'interface utilisateur comme suit.
Explication du code
Autorisations : Nous demandons les autorisations de la caméra en utilisant Permissions.RequestAsync<Permissions.Camera>(). Si la permission est refusée, une alerte est affichée à l'utilisateur.
IronQR Scanner : La classe IronQrCode.Scanner() est utilisée pour scanner les codes QR. La méthode ScanAsync() déclenche la numérisation, et le résultat est stocké dans scanResult. Le texte du code QR scanné est affiché dans le résultatLabel.
Tester le scanner de code QR : Maintenant, vous êtes prêt à tester le scanner de code QR. Lorsque l'application s'exécute, cliquer sur le bouton "Scanner le code QR" lancera le processus de numérisation. Si un code QR valide se trouve devant la caméra, il sera décodé et affiché à l'écran.
Licence IronQR (Essai Disponible)
IronQR fonctionne avec une clé de licence dans le code de l'application mobile. Les développeurs peuvent facilement obtenir une licence d'essai depuis la page de licence. Placez la licence quelque part dans le code comme indiqué ci-dessous avant d'utiliser la bibliothèque IronQR.
License.LicenseKey = "Your License";
License.LicenseKey = "Your License";
License.LicenseKey = "Your License"
$vbLabelText $csharpLabel
Conclusion
Dans cet article, nous avons parcouru le processus de création d'un scanner de code QR dans une application .NET MAUI en utilisant IronQR. Nous avons commencé par configurer une application .NET MAUI, installé le package IronQR et implémenté l'interface utilisateur ainsi que la logique de numérisation. IronQR rend le scan des codes QR dans une application .NET MAUI incroyablement simple et efficace.
La bibliothèque IronQR est conçue pour être multiplateforme, garantissant que les applications développées avec .NET MAUI peuvent accéder aux fonctionnalités du code QR de manière cohérente sur tous les appareils cibles, qu'il s'agisse de smartphones, de tablettes ou de systèmes de bureau. IronQR prend également en charge des fonctionnalités telles que la gestion automatique des autorisations de la caméra, facilitant ainsi l'intégration du scan de codes QR sans avoir à gérer les autorisations manuellement.
En bref, IronQR pour .NET MAUI permet aux développeurs d'implémenter rapidement des fonctionnalités de numérisation et de génération de codes QR dans leurs applications mobiles, simplifiant ainsi le développement et améliorant l'expérience utilisateur sur toutes les plateformes.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Scanner de code QR pour montre intelligente (Tutoriel développeur .NET)
SUIVANT > Comment générer des codes QR en ASP .NET Core ?
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier