Passer au contenu du pied de page
UTILISATION D'IRONQR

Comment utiliser .NET MAUI pour un scanner de code QR

Avec l'essor des applications mobiles exploitant les QR Codes pour une récupération rapide d'informations, le besoin d'un scanner de QR Code efficace et facile à intégrer ainsi qu'un scanner de codes-barres .NET MAUI pour scanner des codes-barres est en hausse..NETMAUI (Interface utilisateur d'application multiplateforme), le cadre multiplateforme de Microsoft, fournit un environnement unifié pour la création d'applications sur iOS, Android, macOS et Windows. Lors de la numérisation des QR Codes 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, avec précision et de manière fiable. Cet article vous guidera dans l'intégration d'IronQR avec .NET MAUI pour construire un scanner de QR/ Code-barres qui peut fonctionner de manière transparente sur plusieurs plateformes.

Comment implémenter le scannage de Code-barres QR avec IronQR

  1. Créer un projet .NET MAUI.
  2. Installer le paquet NuGet IronQR.
  3. Configurer les autorisations pour l'appareil photo et le stockage de fichiers.
  4. Implémenter le scanner de QR Code.

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 QR Codes dans les applications .NET, y compris les applications mobiles .NET MAUI pour la fonctionnalité de scannage de QR et de Code-barres. Elle fournit des solutions rapides et fiables pour intégrer la fonctionnalité de scannage de QR Code et de Code-barres sur des plateformes telles que iOS, Android, macOS et Windows, ce qui est essentiel pour la création d'applications mobiles multiplateformes.

Fonctionnalités d'IronQR pour les applications mobiles .NET MAUI

  • Compatibilité multiplateforme : Fonctionne parfaitement sur les plateformes iOS, Android, macOS et Windows au sein des applications MAUI.
  • Lecture de codes QR : Décode efficacement différents types de codes QR (URL, texte, informations de contact, etc.). Il supporte également la lecture de plusieurs Codes-barres avec des algorithmes de détection de Codes-barres efficaces.
  • Génération de codes QR : Cette fonction permet de générer facilement des codes QR à partir de données telles que des URL, des textes, etc.
  • Gestion des autorisations d'accès à la caméra : Gère automatiquement les demandes d'autorisation d'accès à la caméra, simplifiant ainsi le processus de numérisation.
  • Haute performance : Numérisation et génération de codes QR rapides et fiables avec une utilisation minimale des ressources.
  • Paramètres personnalisables : Offre des options de personnalisation pour les paramètres de numérisation et l'apparence du code QR.
  • Intégration facile : API simple et configuration minimale requises pour ajouter la lecture et la génération de codes QR à votre application .NET MAUI.
  • Gestion des erreurs : Fournit des messages d'erreur détaillés et des outils de dépannage, garantissant un fonctionnement optimal dans divers scénarios.
  • Aucune dépendance externe : IronQR fonctionne de manière indépendante, réduisant ainsi le besoin de bibliothèques tierces ou de configurations complexes, contrairement au lecteur de codes-barres ZXing.
  • Prise en charge multiformat : 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 à l'implémentation, assurez-vous d'avoir les pré-requis suivants :

  1. Visual Studio 2022 ou ultérieur installé.
  2. SDK .NET 6.0 ou ultérieur (car .NET MAUI est construit sur .NET 6 et versions ultérieures).
  3. Paquet NuGet IronQR pour le scannage de QR Code et la détection de Code-barres.
  4. 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 :

  1. Ouvrez Visual Studio et cliquez sur Créer un nouveau projet.
  2. Sélectionnez le modèle Application .NET MAUI.

Nouveau Projet

  1. Nommez le projet (par exemple, MauiQRCodeScanner), sélectionnez un emplacement et cliquez sur Suivant.

Configuration du Projet

Sélectionnez la version .NET requise et cliquez sur Créer.

Cadre Cible

Étape 2 : Installer le paquet NuGet IronQR

IronQR est une bibliothèque tierce qui fournit des fonctionnalités de génération et de scannage de QR Code. Pour installer IronQR, vous devez l'ajouter via NuGet :

  1. Dans Visual Studio, faites un clic droit sur les Dépendances dans votre Explorateur de Solutions.
  2. Cliquez sur Gérer les Paquets NuGet.
  3. Dans l'onglet Naviguer, recherchez IronQR et cliquez sur Installer sur le paquet pertinent (généralement IronQR ou IronQR.Maui si spécifiquement disponible pour MAUI).
  4. Acceptez toutes les licences et assurez-vous que la bibliothèque soit installée.

IronQR

Étape 3 : Configurer les Permissions pour la caméra et le stockage de fichiers

Pour que votre application puisse scanner les QR Codes, vous devez demander les permissions de caméra sur les plateformes mobiles (iOS et Android). Voici comment vous pouvez ajouter les permissions suivantes.

Android

Dans le fichier AndroidManifest.xml, ajoutez la permission de caméra :

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
XML

iOS

Dans le fichier Info.plist, ajoutez la description d'utilisation de la caméra :

<key>NSCameraUsageDescription</key>
<string>We need access to your camera to scan QR codes</string>
<key>NSCameraUsageDescription</key>
<string>We need access to your camera to scan QR codes</string>
XML

Étape 4 : Implémenter le scanner de QR Code

Maintenant, créons une interface utilisateur simple pour notre scanner de QR dans l'application de scanner de Code-barres MAUI. Nous utiliserons le bouton pour déclencher le processus de scannage et une étiquette pour afficher le texte du QR Code scanné.

Modifiez le fichier MainPage.xaml dans le namespace XML.

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MauiQRCodeScanner.MainPage">

    <StackLayout Padding="20" VerticalOptions="Center">
        <Button x:Name="scanButton" Text="Scan QR Code" Clicked="OnScanButtonClicked" />
        <Label x:Name="resultLabel" Text="Scan Result will appear here" HorizontalOptions="Center" VerticalOptions="CenterAndExpand"/>
    </StackLayout>
</ContentPage>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MauiQRCodeScanner.MainPage">

    <StackLayout Padding="20" VerticalOptions="Center">
        <Button x:Name="scanButton" Text="Scan QR Code" Clicked="OnScanButtonClicked" />
        <Label x:Name="resultLabel" Text="Scan Result will appear here" HorizontalOptions="Center" VerticalOptions="CenterAndExpand"/>
    </StackLayout>
</ContentPage>
XML

Maintenant, dans le MainPage.xaml.cs, vous gérerez les permissions de la caméra et la logique de scannage de QR Code. Voici comment l'implémenter :

using IronQrCode;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Essentials;

namespace MauiQRCodeScanner
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            License.LicenseKey = "Your key";  // Add your IronQR license key here
            InitializeComponent();
        }

        // OnScanButtonClicked method with object sender as input
        private async void OnScanButtonClicked(object sender, EventArgs e)
        {
            // Check for camera permission
            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();

                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;
        }
        }
    }
}
using IronQrCode;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Essentials;

namespace MauiQRCodeScanner
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            License.LicenseKey = "Your key";  // Add your IronQR license key here
            InitializeComponent();
        }

        // OnScanButtonClicked method with object sender as input
        private async void OnScanButtonClicked(object sender, EventArgs e)
        {
            // Check for camera permission
            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();

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

Explication du code

  • Autorisations : Nous demandons l'autorisation d'accès à la caméra via Permissions.RequestAsync<Permissions.Camera> () . Si la permission est refusée, un avertissement est affiché à l'utilisateur.
  • Scanner IronQR : utilise les objets et les méthodes de la bibliothèque IronQR pour scanner les codes QR. La méthode QrReader.Read() tente de décoder les QR Codes, et le résultat est affiché sur l'étiquette.

Entrée QR Code

Entrée QR Code

Sortie

Sortie QR Code

Sélectionnez le QR Code requis ou capturez-le depuis le flux de la caméra.

Sélectionner QR Code

Le résultat est affiché dans l'interface utilisateur comme ci-dessous.

Sortie de l'IU QR Code

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 à un endroit dans le code comme ci-dessous avant d'utiliser la bibliothèque IronQR.

License.LicenseKey = "Your License";
License.LicenseKey = "Your License";
$vbLabelText   $csharpLabel

Conclusion

Dans cet article, nous avons parcouru le processus de construction d'un scanner de QR Code dans une application .NET MAUI en utilisant IronQR. Nous avons commencé par configurer une application .NET MAUI, installé le paquet IronQR, et implémenté l'interface utilisateur et la logique de scannage. IronQR rend le scannage de QR Code dans une application .NET MAUI incroyablement simple et efficace.

La bibliothèque IronQR est conçue pour être multiplateforme, assurant que les applications construites avec .NET MAUI peuvent accéder à la fonctionnalité de QR Code 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 supporte également des fonctionnalités comme la gestion automatique des permissions de caméra, ce qui facilite l'intégration du scannage de QR Code sans le tracas de gérer manuellement les permissions.

En bref, IronQR pour .NET MAUI permet aux développeurs d'implémenter rapidement les fonctionnalités de scannage et de génération de QR Code dans leurs applications mobiles, rationalisant le développement et améliorant l'expérience utilisateur sur toutes les plateformes.

Questions Fréquemment Posées

Comment puis-je intégrer un scanner de code QR dans une application .NET MAUI ?

Pour intégrer un scanner de code QR dans une application .NET MAUI, utilisez la bibliothèque IronQR en l'installant via NuGet, et utilisez QrReader.Read() pour décoder les codes QR.

Quelles sont les étapes pour créer un projet .NET MAUI pour numériser des QR ?

Commencez par ouvrir Visual Studio, créez un nouveau projet en utilisant le modèle d'Application .NET MAUI, et choisissez la version .NET nécessaire. Ensuite, installez la bibliothèque IronQR pour implémenter la numérisation de QR.

Quelles autorisations sont essentielles pour la numérisation de QR dans les applications .NET MAUI ?

La numérisation de QR nécessite des autorisations pour la caméra. Sur Android, ajoutez les autorisations nécessaires dans AndroidManifest.xml, et sur iOS, mettez à jour le Info.plist avec une description de l'utilisation de la caméra.

Comment gérer les autorisations de caméra dans une application .NET MAUI ?

Utilisez Permissions.RequestAsync<Permissions.Camera>() pour demander les autorisations de caméra. Gérez le refus en affichant une alerte pour informer l'utilisateur.

Quels sont les avantages d'utiliser la bibliothèque IronQR pour la numérisation de QR ?

IronQR offre une prise en charge multiplateforme, une haute performance, des paramètres personnalisables, une gestion automatique des autorisations de caméra et une prise en charge multi-format, ce qui le rend idéal pour les applications .NET MAUI.

Comment puis-je dépanner les problèmes de numérisation de code QR dans mon application .NET MAUI ?

Assurez-vous que la bibliothèque IronQR est correctement installée, que les autorisations pour la caméra sont accordées et que la caméra de l'appareil fonctionne. Vérifiez les erreurs éventuelles dans le code en utilisant des blocs try-catch.

Que faut-il pour commencer à développer avec .NET MAUI et la numérisation de QR ?

Vous avez besoin de Visual Studio 2022 ou d'une version ultérieure, du SDK .NET 6.0 ou plus récent, et du package NuGet IronQR pour faciliter la numérisation de codes QR et la détection de codes-barres.

Comment obtenir une licence d'essai pour une bibliothèque de codes QR ?

Visitez la page de licence IronQR pour obtenir une clé de licence d'essai. Insérez la clé de licence dans votre code avant d'utiliser les fonctionnalités d'IronQR.

Quels formats la bibliothèque IronQR prend-elle en charge pour la numérisation de QR ?

IronQR prend en charge plusieurs formats de codes QR et de codes-barres, assurant son utilisation sur différentes applications et plateformes.

Comment puis-je générer des codes QR dans une application .NET ?

Utilisez les méthodes de la bibliothèque IronQR pour générer des codes QR efficacement, vous permettant de personnaliser les paramètres selon les besoins de votre application.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite