Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

Créer et lire des images de codes-barres Xamarin avec une bibliothèque de numérisation C# moderne

Les solutions de codes-barres Xamarin restent essentielles pour les développeurs mobiles qui gèrent des applications Android et iOS dans les secteurs du commerce de détail, de la logistique et de la gestion des stocks. Même si Microsoft a mis fin au support officiel de Xamarin en mai 2024, des millions d'applications Xamarin sont toujours en production et ces applications ont toujours besoin de créer, de scanner et de décoder des codes-barres de manière fiable. IronBarcode est un kit de développement logiciel (SDK) .NET pour codes-barres qui gère la génération et la lecture des codes-barres avec seulement quelques lignes de code C#. Il fonctionne comme un lecteur et générateur de codes-barres sur les plateformes Android, iOS et Windows, et il passe directement à .NET MAUI lorsque le moment sera venu pour votre projet de migration.

Démarrez un essai gratuit d' IronBarcode et ajoutez dès aujourd'hui la lecture de codes-barres Xamarin à votre projet.

Comment fonctionne la lecture des codes-barres dans les applications Xamarin ?

La lecture des codes-barres dans une application Xamarin fonctionne en capturant les informations du code-barres à partir d'un flux de caméra ou d'un fichier enregistré sur l'appareil, puis en transmettant ces données à une bibliothèque de lecture qui décode les informations encodées. Historiquement, de nombreux développeurs Xamarin utilisaient la bibliothèque open-source ZXing (Zebra Crossing), créant une nouvelle instance de ZXingScannerPage, la poussant sur la pile de navigation et gérant l'événement OnScanResult pour traiter les codes-barres. Bien que cette approche ait fonctionné pour les cas d'utilisation de base de la lecture de codes QR dans Xamarin.Forms, ZXing n'a pas bénéficié de correctifs significatifs depuis des années, et les développeurs ont fréquemment signalé des erreurs lors de la lecture de codes-barres en faible luminosité ou lors du décodage de formats complexes comme Data Matrix.

IronBarcode est un SDK de lecteur de codes-barres moderne qui adopte une approche différente. Plutôt que de fournir une page de scanner dédiée avec une interface caméra en direct, IronBarcode fonctionne avec n'importe quelle source que votre application Xamarin peut fournir : captures d'écran, fichiers téléchargés par l'utilisateur, captures d'écran ou documents PDF. Cela en fait une bibliothèque de numérisation flexible pour les projets de codes-barres Xamarin où les développeurs ont besoin d'un contrôle total sur l'interface utilisateur et le processus de numérisation. La classe BarcodeReader prend en charge plus de 30 formats de codes-barres et de codes QR, et le SDK inclut des filtres de prétraitement intégrés qui améliorent les performances de lecture des codes-barres dans des conditions de faible luminosité ou avec des codes-barres endommagés.

Pour commencer, installez le package NuGet IronBarcode dans votre solution Xamarin :

Install-Package BarCode

Le package BarCode est disponible sur NuGet et prend en charge .NET Standard 2.0, ce qui le rend compatible avec Xamarin.Forms, les projets natifs Xamarin et le framework MAUI de Microsoft. Aucun package NuGet supplémentaire spécifique à la plateforme ni aucune étape de configuration supplémentaire ne sont requis pour les fonctionnalités de base du SDK ; installez le package et testez-le immédiatement dans votre projet.

Comment créer des codes-barres et des codes QR dans une application Xamarin ?

La génération de codes-barres destinés à l'affichage sur l'écran de l'appareil, à l'étiquetage ou à l'échange de données est simple grâce à la classe BarcodeWriter d'IronBarcode. L'exemple ci-dessous est un exemple courant pour les applications de codes-barres Xamarin qui doivent produire des codes-barres 1D et 2D.

using IronBarCode;
// Barcode generation: create a Code 128 barcode for product scanning
// Comment: BarcodeWriter handles all supported encoding formats
var barcode = BarcodeWriter.CreateBarcode(
    "PROD-2025-XMR",              // Value to encode in the barcode
    BarcodeWriterEncoding.Code128, // Barcode format for the scanner
    400, 150                       // Width and height in pixels
);
// Customize the barcode: add visible text below the barcode image
// Comment: this text helps users verify the encoded value
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPng("product_barcode.png");
// Generate a QR code that users can scan with any mobile device camera
// Comment: QR codes are ideal for URLs, contact data, and Wi-Fi config
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com",
    BarcodeWriterEncoding.QRCode,
    300, 300
);
// Configure margins and export the QR code as image lines of pixels
qrCode.SetMargins(10);
qrCode.SaveAsPng("qr_code.png");
using IronBarCode;
// Barcode generation: create a Code 128 barcode for product scanning
// Comment: BarcodeWriter handles all supported encoding formats
var barcode = BarcodeWriter.CreateBarcode(
    "PROD-2025-XMR",              // Value to encode in the barcode
    BarcodeWriterEncoding.Code128, // Barcode format for the scanner
    400, 150                       // Width and height in pixels
);
// Customize the barcode: add visible text below the barcode image
// Comment: this text helps users verify the encoded value
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPng("product_barcode.png");
// Generate a QR code that users can scan with any mobile device camera
// Comment: QR codes are ideal for URLs, contact data, and Wi-Fi config
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com",
    BarcodeWriterEncoding.QRCode,
    300, 300
);
// Configure margins and export the QR code as image lines of pixels
qrCode.SetMargins(10);
qrCode.SaveAsPng("qr_code.png");
$vbLabelText   $csharpLabel

Image de Code-barres Sortie

Créer et lire des images de codes-barres Xamarin avec une bibliothèque de numérisation C# moderne : Image 1 - Code-barres généré

Le code ci-dessus illustre la génération de codes-barres par IronBarcode en quelques lignes seulement. Chaque commentaire dans l'exemple de code précise le but de chaque étape. Il prend en paramètres les données à encoder, le format du code-barres (provenant de l'énumération BarcodeWriterEncoding) et les dimensions de sortie. Le SDK d'IronBarcode prend en charge un large éventail de types d'encodage, notamment EAN-13, Code 39, code QR, Data Matrix, PDF417 et Aztec. Une fois que vous avez créé une instance de GeneratedBarcode, vous pouvez la personnaliser de manière approfondie : utilisez ResizeTo() pour ajuster les dimensions, SetMargins() pour configurer le remplissage et AddAnnotationTextAboveBarcode() pour ajouter des étiquettes visibles. Vous pouvez exporter les codes-barres générés aux formats PNG, JPEG, GIF, TIFF ou PDF, le tout sans écrire de code spécifique à la plateforme pour Android ou iOS.

Pour accéder à des fonctionnalités avancées telles que l'ajout de logos aux codes QR ou la personnalisation des couleurs des codes-barres, consultez le tutoriel sur la génération de codes-barres et la page d'exemple de création de code-barres .

Comment lire et décoder les codes-barres provenant d'un appareil photo et de fichiers ?

La lecture des codes-barres à partir d'images capturées par l'appareil photo ou sélectionnées dans la photothèque de l'utilisateur est le point fort IronBarcode en tant que solution de codes-barres Xamarin. Le processus de numérisation gère tout, des codes-barres numériques impeccables aux captures d'écran complexes du monde réel, grâce à une méthode unique et cohérente.

using IronBarCode;
// Comment: read and decode barcodes from a camera-captured file
var results = BarcodeReader.Read("scanned_photo.png");
// Iterate through each barcode scanning result
foreach (var result in results)
{
    // Comment: access the decoded barcode value and format type
    string value = result.Value;
    string type = result.BarcodeType.ToString();
    // Display the scanned barcode data to the user on screen
    Console.WriteLine($"Type: {type}, Value: {value}");
}
using IronBarCode;
// Comment: read and decode barcodes from a camera-captured file
var results = BarcodeReader.Read("scanned_photo.png");
// Iterate through each barcode scanning result
foreach (var result in results)
{
    // Comment: access the decoded barcode value and format type
    string value = result.Value;
    string type = result.BarcodeType.ToString();
    // Display the scanned barcode data to the user on screen
    Console.WriteLine($"Type: {type}, Value: {value}");
}
$vbLabelText   $csharpLabel

Lecture des données du code-barres

Créer et lire des images de codes-barres Xamarin avec une bibliothèque de lecture C# moderne : Image 2 - Valeur imprimée lue à partir d'un code-barres téléchargé

Ce fragment de code transmet un fichier au lecteur et parcourt les résultats. Chaque instance de BarcodeResult donne accès au type de code-barres, au texte décodé, aux données binaires, aux coordonnées de position et à un score de confiance, offrant ainsi aux développeurs tout ce dont ils ont besoin pour les environnements d'applications de production. Pour obtenir la liste complète des types de codes-barres pris en charge, consultez la page de prise en charge des formats de codes-barres .

Pour les cas d'utilisation concrets où les performances de lecture des codes-barres sont importantes (scan en entrepôt dans des conditions de faible luminosité, lecture de codes-barres endommagés sur un convoyeur en mouvement ou décodage de plusieurs codes-barres sur une seule page), la classe BarcodeReaderOptions vous permet de configurer chaque aspect du processus de lecture :

using IronBarCode;
// Comment: configure the barcode reader for challenging conditions
var options = new BarcodeReaderOptions
{
    // Comment: balance between scanning speed and accuracy on the device
    Speed = ReadingSpeed.Balanced,
    // Expect multiple barcodes per page or camera capture
    ExpectMultipleBarcodes = true,
    // Limit scanning to specific barcode types for faster results
    ExpectBarcodeTypes = BarcodeEncoding.QRCode
        | BarcodeEncoding.Code128
        | BarcodeEncoding.DataMatrix,
    // Auto-rotate barcodes captured at any camera angle
    AutoRotate = true,
    // Apply image filters to improve scanning in poor conditions
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),       // Sharpen blurry camera captures
        new ContrastFilter(1.5f)   // Boost contrast for low light
    }
};
// Comment: read barcodes from a sample image using configured options
var results = BarcodeReader.Read("warehouse_scan.jpg", options);
// Iterate and display results for the user
foreach (var barcode in results)
{
    // Output each decoded barcode value from the scanner
    Console.WriteLine($"Found: {barcode.Value}");
}
using IronBarCode;
// Comment: configure the barcode reader for challenging conditions
var options = new BarcodeReaderOptions
{
    // Comment: balance between scanning speed and accuracy on the device
    Speed = ReadingSpeed.Balanced,
    // Expect multiple barcodes per page or camera capture
    ExpectMultipleBarcodes = true,
    // Limit scanning to specific barcode types for faster results
    ExpectBarcodeTypes = BarcodeEncoding.QRCode
        | BarcodeEncoding.Code128
        | BarcodeEncoding.DataMatrix,
    // Auto-rotate barcodes captured at any camera angle
    AutoRotate = true,
    // Apply image filters to improve scanning in poor conditions
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),       // Sharpen blurry camera captures
        new ContrastFilter(1.5f)   // Boost contrast for low light
    }
};
// Comment: read barcodes from a sample image using configured options
var results = BarcodeReader.Read("warehouse_scan.jpg", options);
// Iterate and display results for the user
foreach (var barcode in results)
{
    // Output each decoded barcode value from the scanner
    Console.WriteLine($"Found: {barcode.Value}");
}
$vbLabelText   $csharpLabel

La propriété Speed ​​contrôle le compromis entre vitesse et précision ; utilisez ReadingSpeed.Faster pour la numérisation à haut volume ou ReadingSpeed.Detailed pour une détection maximale des codes-barres difficiles. La configuration ExpectBarcodeTypes limite les formats que le SDK du scanner vérifie, évitant ainsi les faux positifs et améliorant les performances. La fonction AutoRotate corrige automatiquement les codes-barres capturés sous des angles inhabituels par l'appareil photo, tandis que les fonctions SharpenFilter et ContrastFilter améliorent la lecture des codes-barres en conditions de faible luminosité. Les développeurs peuvent également utiliser le recadrage de type zoom via la propriété CropArea pour configurer le scanner afin qu'il se concentre sur une région spécifique d'une page capturée.

Pour une description complète de la configuration du lecteur, consultez le guide de lecture des codes-barres à partir d'images et la référence de l'API BarcodeReaderOptions . Les développeurs qui doivent décoder les codes-barres des documents PDF doivent également consulter la méthode de lecture des codes-barres PDF .

Quels sont les meilleurs cas d'utilisation pour une solution de code-barres mobile ?

Les solutions de lecture de codes-barres et de codes QR de Xamarin prennent en charge des dizaines de cas d'utilisation dans tous les secteurs d'activité. Voici les scénarios les plus courants où IronBarcode propose à la fois un lecteur et un générateur de codes-barres offrant une réelle valeur ajoutée sur les appareils mobiles :

  • Gestion des stocks et des entrepôts : les utilisateurs d'appareils Android et iOS scannent les codes-barres sur les produits et les étagères pour suivre les stocks en temps réel, réduisant ainsi les taux d'erreur de saisie manuelle et augmentant la rapidité. Toute application d'entrepôt bénéficie d'une lecture de codes-barres rapide et fiable.
  • Point de vente au détail : la lecture du code QR en caisse permet une recherche rapide des produits, l'utilisation de coupons et le traitement des paiements mobiles, le tout visible pour l'utilisateur sur l'écran de l'application. La fonction de scanner prend en charge les formats 1D et 2D.
  • Logistique et expédition : Numérisation des codes-barres sur les colis pour la vérification de l'itinéraire et la confirmation de livraison à l'aide d'une flotte d'appareils Android et iOS. IronBarcode peut décoder les codes-barres même sur des étiquettes froissées ou partiellement masquées lors de la visualisation d'une page scannée.
  • Enregistrement à l'événement : Une application Xamarin qui décode les codes QR aux portes de la conférence permet une validation instantanée des participants — aucun billet papier par défaut ni recherche manuelle de compte n'est nécessaire. L'application lit chaque code en moins d'une seconde.
  • Santé : Les codes-barres figurant sur les bracelets des patients, les étiquettes des médicaments et les échantillons de laboratoire sont scannés par des appareils mobiles afin de prévenir les erreurs et de garantir un traitement précis par l'utilisateur. Chaque page de lecture de l'application peut être adaptée à des types de codes-barres spécifiques.

IronBarcode prend en charge tous ces cas d'utilisation de codes-barres Xamarin en tant que scanner de codes-barres complet sur différentes plateformes, notamment .NET Standard, .NET Core et .NET MAUI. Pour les développeurs qui maintiennent une solution de codes-barres Xamarin en production, IronBarcode offre un support continu, des mises à jour régulières et des options de licence claires. Lorsque la migration de Xamarin vers .NET MAUI est prévue, IronBarcode assure une transition transparente, sans réécriture de code. Consultez le tutoriel sur le lecteur de codes-barres .NET MAUI pour un exemple étape par étape.

Le guide de migration de Microsoft pour le déplacement des projets Xamarin fournit des étapes détaillées pour la transition vers le framework multiplateforme le plus récent. Vous trouverez également un lien utile vers des solutions communautaires dans ce message sur Stack Overflow qui traite des problèmes courants liés aux codes-barres Xamarin, et ce lien vers la communauté des développeurs Xamarin sur Reddit héberge des discussions supplémentaires sur les approches de lecture des codes-barres mobiles sur différentes plateformes.

Comment débuter dès aujourd'hui avec la lecture de codes-barres Xamarin ?

IronBarcode rend la génération et la lecture de codes-barres Xamarin rapides, fiables et conviviales pour les développeurs. Il prend en charge plus de 30 formats de codes-barres, des fonctionnalités avancées telles que la rotation automatique et le prétraitement personnalisable, ainsi qu'une interface C# fluide qui garantit des lignes de code claires et lisibles. Que la solution nécessite la création d'une simple application d'exemple de code QR, le traitement de codes-barres à partir de documents PDF ou la création d'un lecteur de codes-barres complet pour une application Android ou iOS, IronBarcode gère tout cela au sein d'une seule bibliothèque bien documentée. Chaque fonction de l'API est conçue pour être claire et facile à utiliser dans les environnements d'applications de production.

Testez IronBarcode dans votre projet Xamarin, inscrivez-vous pour un essai gratuit . Lorsque vous serez prêt pour la production, explorez les options de licence et consultez la page des tarifs pour plus de détails (à partir de 749 $). Pour le support après-vente, les développeurs peuvent personnaliser leur couverture via la page des modules complémentaires de licence .

Commencez avec IronBarcode maintenant.
green arrow pointer

Questions Fréquemment Posées

Comment IronBarcode prend-il en charge le développement d'applications Xamarin ?

IronBarcode permet aux développeurs d'applications Xamarin de créer, lire et décoder des codes-barres en quelques lignes de code C# seulement. Compatible avec les plateformes Android, iOS et Windows, il garantit une intégration optimale des codes-barres dans les applications mobiles.

IronBarcode peut-il être utilisé à la fois pour la lecture et la génération de codes-barres ?

Oui, IronBarcode fonctionne à la fois comme un lecteur et un générateur de codes-barres, permettant aux développeurs de créer et de lire facilement des codes-barres dans leurs applications Xamarin.

Quels types de codes-barres IronBarcode prend-il en charge ?

IronBarcode prend en charge différents types de codes-barres, notamment les codes Code 128, Data Matrix et QR, ce qui le rend polyvalent pour répondre à différents besoins d'application.

IronBarcode est-il compatible avec .NET MAUI?

Oui, IronBarcode est conçu pour une transition en douceur vers .NET MAUI, garantissant ainsi la continuité du support et des fonctionnalités lors de la migration depuis Xamarin.

Pourquoi IronBarcode est-il important pour les applications Xamarin existantes ?

Avec la fin du support officiel de Microsoft pour Xamarin, IronBarcode offre une solution fiable pour maintenir la fonctionnalité des codes-barres dans les applications Xamarin existantes, et ce dans divers secteurs tels que le commerce de détail et la logistique.

Comment IronBarcode contribue-t-il à la logistique et à la gestion des stocks ?

IronBarcode facilite la logistique et la gestion des stocks en générant et en décodant efficacement les codes-barres, rationalisant ainsi des processus tels que le suivi et le contrôle des stocks.

Quelles plateformes sont prises en charge par IronBarcode?

IronBarcode prend en charge les plateformes Android, iOS et Windows, ce qui en fait un outil polyvalent pour les applications de codes-barres multiplateformes.

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me