UTILISATION D'IRONBARCODE

Utilisation d'un SDK de lecteur de code-barres pour .NET

Jordi Bardia
Jordi Bardia
avril 3, 2025
Partager:

La numérisation de codes-barres est une fonctionnalité essentielle pour de nombreuses applications, allant de la gestion des stocks au commerce de détail et à la logistique. En intégrant la lecture de codes-barres dans vos applications .NET, vous pouvez rationaliser la capture de données, automatiser les flux de travail et améliorer l'efficacité.

IronBarcode est une bibliothèque .NET puissante qui simplifie le travail avec les codes-barres. Avec cet outil, vous pouvez lire les codes-barres à partir d'images, de flux, et de fichiers PDF, ainsi que générer des codes QR. Cet article vous montrera comment intégrer la numérisation de codes-barres dans votre application .NET, en mettant l'accent sur la création d'une intégration API ou d'une application Web pour exposer la fonctionnalité de numérisation de codes-barres.

Meilleurs cas d'utilisation pour l'intégration d'IronBarcode

IronBarcode est idéal pour :

  • Systèmes de gestion des stocks – Automatisez le balayage des codes-barres pour suivre les produits et les niveaux de stock.
  • Applications logistiques – Traitez les images de codes-barres numérisées pour l'expédition, la réception et le suivi des colis.
  • Systèmes de point de vente au détail – Valider les scans de codes-barres pour les transactions de vente et les recherches de prix.
  • Traitement de documents – Extraire les données de code-barres des factures PDF, des reçus ou des cartes d'identité.

Comment créer un SDK de lecteur de code-barres en .NET

Pour créer un lecteur de code-barres pouvant être exposé en tant que service dans votre application, vous intégrerez IronBarcode dans une API REST ou une application Web. Voici un exemple de comment faire ceci en utilisant ASP.NET Core.

  1. Installez la bibliothèque .NET pour lire les codes-barres en C#

  2. Créer une classe de numérisation de codes-barres réutilisable.

  3. Développer des méthodes pour lire les codes-barres à partir de différentes sources.

  4. Intégrez la lecture d'images de codes-barres dans votre application.

  5. Tester et optimiser les performances.

Avant de commencer

Si vous ne l'avez pas encore fait, téléchargez IronBarcode pour votre projet. Assurez-vous d'avoir la clé de licence appropriée pour votre utilisation prévue. Notez que l'exposition des fonctionnalités d'IronBarcode via une API publique ou la revente en tant que service indépendant nécessite une licence supplémentaire (SDK, OEM ou SaaS). Assurez-vous de comprendre les considérations de licence avant de continuer.

Création d'une classe de scanner de code-barres

Une fois que vous avez configuré IronBarcode et l'avez installé dans votre projet, vous pouvez créer une classe de scanner de codes-barres réutilisable qui intègre la fonctionnalité de IronBarcode et l'expose en tant que point de terminaison d'API.

using IronBarCode;
using System.IO;
namespace BarcodeIntegration
{
    public class BarcodeScanner
    {
        static BarcodeScanner()
        {
            // Set the license key
            IronBarCode.License.LicenseKey = "Your-License-Key";
        }
        // Read a barcode from an image file
        public string ReadBarcodeFromImage(string imagePath)
        {
            try
            {
                var barcode = BarcodeReader.Read(imagePath);
                return barcode?.ToString() ?? "No Barcode Found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
        // Read a barcode from a stream (e.g., file upload or memory stream)
        public string ReadBarcodeFromStream(Stream inputStream)
        {
            try
            {
                var barcode = BarcodeReader.Read(inputStream);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
        // Read a barcode from a PDF file
        public string ReadBarcodeFromPdf(string filePath)
        {
            try
            {
                var barcode = BarcodeReader.ReadPdf(filePath);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
    }
}
using IronBarCode;
using System.IO;
namespace BarcodeIntegration
{
    public class BarcodeScanner
    {
        static BarcodeScanner()
        {
            // Set the license key
            IronBarCode.License.LicenseKey = "Your-License-Key";
        }
        // Read a barcode from an image file
        public string ReadBarcodeFromImage(string imagePath)
        {
            try
            {
                var barcode = BarcodeReader.Read(imagePath);
                return barcode?.ToString() ?? "No Barcode Found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
        // Read a barcode from a stream (e.g., file upload or memory stream)
        public string ReadBarcodeFromStream(Stream inputStream)
        {
            try
            {
                var barcode = BarcodeReader.Read(inputStream);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
        // Read a barcode from a PDF file
        public string ReadBarcodeFromPdf(string filePath)
        {
            try
            {
                var barcode = BarcodeReader.ReadPdf(filePath);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
    }
}
Imports IronBarCode
Imports System.IO
Namespace BarcodeIntegration
	Public Class BarcodeScanner
		Shared Sub New()
			' Set the license key
			IronBarCode.License.LicenseKey = "Your-License-Key"
		End Sub
		' Read a barcode from an image file
		Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String
			Try
				Dim barcode = BarcodeReader.Read(imagePath)
				Return If(barcode?.ToString(), "No Barcode Found")
			Catch ex As Exception
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function
		' Read a barcode from a stream (e.g., file upload or memory stream)
		Public Function ReadBarcodeFromStream(ByVal inputStream As Stream) As String
			Try
				Dim barcode = BarcodeReader.Read(inputStream)
				Return If(barcode?.ToString(), "No barcode found")
			Catch ex As Exception
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function
		' Read a barcode from a PDF file
		Public Function ReadBarcodeFromPdf(ByVal filePath As String) As String
			Try
				Dim barcode = BarcodeReader.ReadPdf(filePath)
				Return If(barcode?.ToString(), "No barcode found")
			Catch ex As Exception
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Cette classe BarcodeScanner abstrait la fonctionnalité d'IronBarcode, la rendant facile à intégrer dans toute application .NET. Examinons une répartition des différentes méthodes incluses ici :

Méthodes pour lire les codes-barres

Chacune des méthodes suivantes tente de lire un code-barres à partir de différents types d'entrée :

  • ReadBarcodeFromImage(string imagePath) : Lit un code-barres à partir d'un fichier image.
  • ReadBarcodeFromStream(Stream inputStream) : Lit un code-barres à partir d'un flux d'entrée (par exemple, un téléchargement de fichier ou un flux mémoire).
  • ReadBarcodeFromPdf(string filePath) : Lit un code-barres à partir d'un fichier PDF.

    Chaque méthode tente de lire les données du code-barres et renvoie la chaîne du code-barres ou un message d'erreur si aucun code-barres n'est trouvé ou en cas d'exception.

Exposer la lecture de codes-barres via une API REST

Pour permettre aux applications externes d'utiliser votre fonctionnalité de lecture de codes-barres, vous pouvez l'exposer en tant qu'API REST en utilisant ASP.NET Core. Voici un exemple de la façon dont vous pourriez faire cela :

using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcoderReader;
[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;
    public BarcodeController()
    {
        _barcodeScanner = new BarcodeScanner();
    }
    [HttpPost("read-from-image")]
    public IActionResult ReadFromImage(IFormFile file)
    {
        using var stream = file.OpenReadStream();
        var result = _barcodeScanner.ReadBarcodeFromStream(stream);
        return Ok(new { Barcode = result });
    }
}
using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcoderReader;
[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;
    public BarcodeController()
    {
        _barcodeScanner = new BarcodeScanner();
    }
    [HttpPost("read-from-image")]
    public IActionResult ReadFromImage(IFormFile file)
    {
        using var stream = file.OpenReadStream();
        var result = _barcodeScanner.ReadBarcodeFromStream(stream);
        return Ok(new { Barcode = result });
    }
}
Imports Microsoft.AspNetCore.Mvc
Imports System.IO
Imports Microsoft.AspNetCore.Http
Imports BarcoderReader
<ApiController>
<Route("api/barcode")>
Public Class BarcodeController
	Inherits ControllerBase

	Private ReadOnly _barcodeScanner As BarcodeScanner
	Public Sub New()
		_barcodeScanner = New BarcodeScanner()
	End Sub
	<HttpPost("read-from-image")>
	Public Function ReadFromImage(ByVal file As IFormFile) As IActionResult
		Dim stream = file.OpenReadStream()
		Dim result = _barcodeScanner.ReadBarcodeFromStream(stream)
		Return Ok(New With {Key .Barcode = result})
	End Function
End Class
$vbLabelText   $csharpLabel

Swagger UI

Utilisation d’un SDK de lecteur de code-barres pour .NET : Figure 1

Ajouter depuis PixabayTéléverser

ou faites glisser et déposez une image ici

Ajouter un texte alternatif à l'image

Sortie

Utilisation d'un SDK de lecteur de codes-barres pour .NET : Figure 2

Ajouter depuis PixabayTéléverser

ou faites glisser et déposez une image ici

Ajouter un texte alternatif à l'image

Cette API expose un point de terminaison POST où des images de code-barres peuvent être téléchargées, et l'API retournera les données du code-barres. Cela permet à d'autres systèmes ou applications frontales d'interagir avec votre scanner de codes-barres en tant que service.

Fonctionnalités avancées

Pour améliorer davantage le SDK, envisagez d'ajouter :

  1. Prise en charge de plusieurs types de codes-barres : IronBarcode prend en charge la lecture de plusieurs codes-barres. Vous pouvez ajouter des options pour configurer votre SDK afin d'accepter plusieurs codes-barres à la fois. Par exemple :
public string ReadBarcodeFromImage(string imagePath)
{
    try
    {
        BarcodeReaderOptions options = new BarcodeReaderOptions()
        {
            ExpectMultipleBarcodes = true,
            ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
        };
        foreach (var barcode in BarcodeReader.Read(imagePath, options))
        {
            return barcode.ToString();
        }
        return "No barcode found";
    }
    catch (Exception ex)
    {
        return $"Error reading barcode: {ex.Message}";
    }
}
public string ReadBarcodeFromImage(string imagePath)
{
    try
    {
        BarcodeReaderOptions options = new BarcodeReaderOptions()
        {
            ExpectMultipleBarcodes = true,
            ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
        };
        foreach (var barcode in BarcodeReader.Read(imagePath, options))
        {
            return barcode.ToString();
        }
        return "No barcode found";
    }
    catch (Exception ex)
    {
        return $"Error reading barcode: {ex.Message}";
    }
}
Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String
	Try
		Dim options As New BarcodeReaderOptions() With {
			.ExpectMultipleBarcodes = True,
			.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
		}
		For Each barcode In BarcodeReader.Read(imagePath, options)
			Return barcode.ToString()
		Next barcode
		Return "No barcode found"
	Catch ex As Exception
		Return $"Error reading barcode: {ex.Message}"
	End Try
End Function
$vbLabelText   $csharpLabel
  1. Gestion des erreurs : Étendez la gestion des erreurs et la journalisation pour offrir de meilleurs diagnostics à vos utilisateurs de SDK.

  2. Traitement par lots : Si vous souhaitez traiter plusieurs codes-barres à partir d'une collection d'images, vous pouvez créer des méthodes qui acceptent un tableau d'images ou de flux.

  3. Personnalisation : Offrez des options de configuration pour les paramètres de détection des codes-barres, tels que la précision, la vitesse et les types de codes-barres pris en charge.

Considérations relatives aux licences

Comme mentionné précédemment, le SDK IronBarcode est destiné à être intégré dans vos applications internes, et l'exposer via une API nécessite une licence supplémentaire. Vous devez obtenir la licence nécessaire (SDK, OEM ou SaaS) avant d'exposer IronBarcode dans le cadre d'un service, tel qu'une API publique.

Ne revendez pas IronBarcode en tant que SDK autonome ou ne l'exposez pas via une API publique sans vous assurer que votre licence couvre cet usage.

Essayez IronBarcode gratuitement aujourd'hui

Découvrez la puissance innovante d'IronBarcode. Essayez notre version d'essai gratuite et découvrez la génération, la lecture et l'édition de codes-barres sans faille pour vos applications .NET. Avec des fonctionnalités avancées, des performances exceptionnelles et une interface conviviale, IronBarcode est la solution ultime pour tous vos besoins en codes-barres. Commencez votre essai gratuit dès aujourd'hui et améliorez vos projets.

Jordi Bardia
Ingénieur logiciel
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.
SUIVANT >
Comment lire plusieurs codes-barres avec IronBarcode : Récapitulatif de la démo en direct