Passer au contenu du pied de page
COMPARER à D'AUTRES COMPOSANTS

Barkoder SDK vs IronBarcode : Comparaison de la bibliothèque de codes-barres C#

Le SDK Barkoder apparaît dans presque tous les classements des " meilleurs SDK de codes-barres 2026 ", listé aux côtés de ZXing, Dynamsoft, Scandit et Code-barres IronBarcode dans les matrices comparatives. Les développeurs qui évaluent des solutions de codes-barres pour les projets .NET la découvrent très tôt dans leurs recherches : ils lisent des informations sur MatrixSight, le mode DeBlur, la détection de plusieurs codes-barres et la prise en charge DPM, et la trouvent vraiment convaincante. Ensuite, ils recherchent sur NuGet. Aucun résultat. Le SDK Barkoder ne possède ni package .NET , ni API C#, ni méthode officielle d'intégration dans un projet .NET . Cette comparaison explique ce qu'est réellement Barkoder, ce qui fait sa force dans son domaine d'origine et comment Code-barres IronBarcode répond aux mêmes exigences pour les développeurs .NET .

Comprendre le SDK Barkoder

Barkoder est un SDK commercial de lecture de codes-barres construit autour d'un noyau de traitement C/C++, encapsulé dans des SDK natifs pour iOS et Android. Elle s'adresse aux développeurs d'applications mobiles qui ont besoin d'une numérisation par caméra en temps réel — le type de numérisation qu'un employé d'entrepôt effectue sur son téléphone, ou qu'un technicien de terrain effectue sur sa tablette. Le modèle de distribution reflète pleinement cet objectif.

Le SDK est distribué pour iOS via CocoaPods avec les API Swift et Objective-C, pour Android via Maven avec les API Kotlin et Java, et pour les appareils mobiles hybrides via des plugins officiels pour React Native, Flutter, Cordova et Capacitor. Il n'existe pas de package NuGet . Il n'existe pas de liaisons C#. Il n'existe aucun chemin d'accès pris en charge pour un projet .NET .

L'entreprise propose des projets de liaison Xamarin et MAUI maintenus par la communauté, mais il ne s'agit pas de produits officiels, ils ne sont pas pris en charge en production par Barkoder et ne sont pas mis à jour en même temps que le SDK principal. Le recours à une liaison communautaire pour un flux de travail critique de codes-barres dans une application .NET de production représente un risque technique important. Pour tout déploiement .NET sérieux, elles ne constituent pas une option réaliste.

Principales caractéristiques architecturales du SDK Barkoder :

  • Architecture mobile-first : conçue exclusivement pour les pipelines de caméra iOS et Android ; Tout le traitement s'effectue sur l'appareil via un noyau C/C++.
  • Aucun kit de développement .NET : aucun package NuGet n'existe ; La recherche de " barkoder " sur NuGet ne donne aucun résultat.
  • Aucune génération de code-barres : Barkoder est un SDK en lecture seule ; il n'a pas la capacité de produire ou d'encoder des codes-barres
  • Traitement PDF non pris en charge : le SDK ne permet pas de lire les codes-barres des documents PDF, les images des systèmes de fichiers ni les flux de travail documentaires côté serveur.
  • Aucun déploiement côté serveur : le SDK ne peut pas s'exécuter dans ASP.NET Core, Azure Functions, les conteneurs Docker ni dans aucun environnement d'exécution .NET côté serveur.
  • Liaison .NET réservée à la communauté : le projet de liaison MAUI est expérimental, n'expose qu'un sous-ensemble du SDK et n'est pas pris en charge en production.

À quoi ressemble l'architecture de Barkoder

Le noyau C/C++ du SDK gère le traitement des images. Les wrappers iOS et Android exposent ce noyau par le biais d'API natives de la plateforme. Aucun des éléments suivants ne fonctionne dans un contexte .NET - il n'y a pas d'instruction using Barkoder; dans un projet C# :

// iOS — Swift only, no C# equivalent
let barkoderView = BarkoderView(frame: frame)
barkoderView.config = BarkoderConfig(licenseKey: "LICENSE_KEY") { config in
    config.decoder.decoderType = .code128
    config.decoder.deblurEnabled = true
}
barkoderView.startScanning { result in
    print(result.textualData ?? "No result")
}
// Android — Kotlin only, no C# equivalent
val barkoderView = BarkoderView(context)
barkoderView.config = BarkoderConfig("LICENSE_KEY")
barkoderView.config.decoder.decoderType = DecoderType.Code128
barkoderView.config.decoder.deblurEnabled = true
barkoderView.startScanning { result ->
    println(result.textualData)
}

Avant de passer définitivement à autre chose que Barkoder, il convient de reconnaître ses points forts. Ce qui lui vaut une place dans les comparatifs, ce sont ses véritables capacités. MatrixSight et le mode DeBlur offrent une technologie exclusive de récupération des dommages qui permet de lire les codes-barres physiquement endommagés, mal imprimés ou capturés dans des conditions d'éclairage défavorables. La détection multiple de codes-barres décode simultanément plusieurs codes-barres dans une seule image de la caméra, permettant ainsi aux magasiniers de scanner des étagères entières en une seule fois. La numérisation DPM (Direct Part Marking) prend en charge DataMatrix et d'autres formats dans des configurations gravées au laser et par microbillage que la plupart des bibliothèques à usage général ne gèrent pas correctement. La prise en charge des formats haute densité inclut PDF417, Aztèque et d'autres formats 2D avec une grande précision sur les appareils photo mobiles.

Comprendre IronBarcode

IronBarcode est une bibliothèque .NET native qui couvre l'intégralité du flux de travail des codes-barres (lecture et génération) dans tous les environnements .NET . Il s'agit de l'équivalent fonctionnel des capacités de Barkoder pour la plateforme .NET , avec des fonctionnalités supplémentaires qui n'ont de sens que dans les contextes serveur et poste de travail.

IronBarcode s'installe via NuGet et s'exécute entièrement en local. Aucun appel réseau n'est effectué pendant les opérations de lecture de codes-barres. Il fonctionne dans des environnements isolés du réseau, sur Azure Functions, dans des conteneurs Docker, dans AWS Lambdaet sur tous les environnements d'exécution .NET , de .NET Framework 4.6.2 à .NET 9. Le modèle d'API statique signifie qu'il n'y a pas d'instance de scanner à gérer, pas de cycle de vie à suivre et aucun problème de sécurité des threads lié aux appels simultanés.

Caractéristiques principales d' IronBarcode:

  • Couverture .NET complète : prend en charge .NET Framework 4.6.2+, .NET 6, 7, 8 et 9 ; Fonctionne sous Windows, Linux, macOS, Docker, Azure et AWS
  • Lecture et génération : Permet la lecture de codes-barres à partir de fichiers, de flux et de PDF, ainsi que la génération de codes-barres dans plus de 50 formats.
  • Conception d'API statique: BarcodeReader.Read() et BarcodeWriter.CreateBarcode() sont des appels statiques sans instance à gérer
  • Correction d'erreurs basée sur l'apprentissage automatique : un pipeline de prétraitement d'images basé sur l'apprentissage automatique gère les codes-barres endommagés, dégradés et de faible qualité.
  • Prise en charge native des fichiers PDF : lit les codes-barres directement dans les documents PDF sans extraction d'image intermédiaire.
  • Intégration complète à l'écosystème .NET : compatible avec l'injection de dépendances, async/await, les middlewares et les modèles d'hébergement ASP.NET Core

Comparaison des fonctionnalités

Le tableau suivant met en évidence les différences fondamentales entre Kit de développement logiciel Barkoder et IronBarcode:

Fonction Kit de développement logiciel Barkoder Code-barres IronBarcode
Support .NET / C# Aucun Complet — tous les environnements d'exécution .NET
Paquet NuGet Aucun Oui - IronBarcode
Lecture de codes-barres Oui — appareil photo mobile Oui — fichiers, flux, PDF
Génération de codes-barres Aucun Formats complets — plus de 50 formats
Traitement PDF Aucun Natif
Déploiement côté serveur Aucun Complète — ASP.NET Core, Azure, Lambda, Docker
Tarification Licence du kit de développement logiciel mobile À partir de 749 $ (paiement unique et perpétuel)

Comparaison détaillée des fonctionnalités

Fonction Kit de développement logiciel Barkoder Code-barres IronBarcode
En lisant
Récupération de codes-barres endommagés MatrixSight / DeBlur Correction d'erreurs ML, ReadingSpeed.ExtremeDetail
Détection de plusieurs codes-barres Oui — cadre de l'appareil photo ExpectMultipleBarcodes = true
Support DataMatrix / DPM Oui Oui - BarcodeEncoding.DataMatrix
Lecture de code QR Oui Oui
PDF417 Oui Oui
Aztèque Oui Oui
Code 128, Code 39, EAN Oui Oui — plus de 50 formats
Détection automatique du format Oui Oui
Génération
génération de codes-barres Aucun Intégrale — tous formats
génération de code QR Aucun QRCodeWriter.CreateQrCode()
Logo/marque sur QR Aucun AddBrandLogo()
Plateforme
.NET / C# Aucun Complet
iOS (natif) Oui (principal) Via .NET MAUI
Android (natif) Oui (principal) Via .NET MAUI
Windows / Linux / macOS Aucun Complet
Docker / conteneurs Aucun Complet
Fonctions Azure Aucun Complet
AWS Lambda Aucun Complet
Isolation physique / hors ligne Oui (sur l'appareil) Oui (entièrement local)
Conception d'API
Prise en charge d'async/await N/A Complet
Injection de dépendance Aucun Intégration complète de l'injection de dépendances .NET
Saisie de documents PDF Aucun BarcodeReader.Read("doc.pdf")
Licence
Modèle de licence Licence du kit de développement logiciel mobile Achat perpétuel et unique
Prix ​​(entrée) Contacter le service des ventes À partir de 749 $ (Lite)

Modèle de déploiement .NET

La différence la plus fondamentale entre Kit de développement logiciel Barkoder et Code-barres IronBarcode ne réside pas dans une fonctionnalité, mais dans la disponibilité. Le SDK Barkoder n'existe pas dans l'écosystème .NET .

Approche du SDK Barkoder

La liste des plateformes de Barkoder est explicite : iOS Natif(Swift / Objective-C), Android Natif(Kotlin / Java), React Native, Flutter, Cordova, Capacitor. .NET, C#, .NET MAUI, Xamarin, Windows, Linux et ASP.NET Core sont absents. L'architecture du SDK repose sur un flux de données en direct provenant d'une caméra mobile. Il ne propose ni mode d'entrée basé sur des fichiers, ni API de flux, ni traitement par lots, ni modèle d'exécution côté serveur.

L'absence d'un kit de développement .NET n'est pas un simple désagrément, c'est un obstacle majeur. Il n'y a pas de package NuGet à installer, pas d'API asynchrone, pas d'intégration d'injection de dépendances, pas de prise en charge d'Azure ou d'AWS Lambda, et aucune capacité de traitement PDF. Le module d'intégration MAUI communautaire n'expose qu'un sous-ensemble du SDK et n'est pas pris en charge en production.

Approche IronBarcode

IronBarcode s'installe depuis NuGet en une seule commande et s'initialise avec une clé de licence au démarrage :

// NuGet: dotnet add package IronBarcode
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

// Read a barcode from an image
var results = BarcodeReader.Read("scan.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}
// NuGet: dotnet add package IronBarcode
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

// Read a barcode from an image
var results = BarcodeReader.Read("scan.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-KEY"

' Read a barcode from an image
Dim results = BarcodeReader.Read("scan.png")
For Each result In results
    Console.WriteLine($"Format: {result.Format}")
    Console.WriteLine($"Value: {result.Value}")
Next
$vbLabelText   $csharpLabel

La bibliothèque fonctionne entièrement en local — aucun appel réseau, aucune transmission de données, aucune dépendance externe. Il s'intègre à l'injection de dépendances ASP.NET Core , prend en charge async/await et se déploie sur Docker, Fonctions Azureet AWS Lambdasans modification. Pour une intégration ASP.NET Core de niveau production, consultez la documentation IronBarcode .

Récupération de codes-barres endommagés

La récupération des codes-barres endommagés est la fonctionnalité qui amène le plus souvent les développeurs à s'intéresser à Barkoder en premier lieu. Les modes MatrixSight et DeBlur de Barkoder sont recommandés pour les scénarios logistiques et de fabrication où les étiquettes physiques sont usées, mouillées ou partiellement masquées.

Approche du SDK Barkoder

Le mode DeBlur de Barkoder applique un prétraitement de l'image (amélioration du contraste, netteté, correction de la rotation) avant la tentative de décodage. Ce système fonctionne exclusivement au sein du pipeline de la caméra mobile. Le mode est configuré au niveau du SDK avant le début de la numérisation, et le flux vidéo de la caméra est traité en continu. Il n'existe pas de chemin d'accès équivalent basé sur les fichiers.

// iOS Swift — not usable from C#
barkoderView.config = BarkoderConfig(licenseKey: "LICENSE_KEY") { config in
    config.decoder.deblurEnabled = true
    config.decoder.decoderType = .code128
}
barkoderView.startScanning { result in
    print(result.textualData ?? "No result")
}

Approche IronBarcode

IronBarcode aborde le même problème grâce à ReadingSpeed.ExtremeDetail, qui active un pipeline d'analyse d'image en plusieurs passages - en appliquant une récupération des dommages basée sur le ML, une amélioration du contraste, un renforcement de la netteté et une correction de la rotation - avant d'essayer de décoder. Cela fonctionne avec n'importe quel fichier, flux ou tableau d'octets en entrée :

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("worn-shipping-label.png", options);

if (results.Any())
{
    Console.WriteLine($"Recovered: {results.First().Value}");
}
else
{
    Console.WriteLine("Could not decode — image quality too low");
}
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("worn-shipping-label.png", options);

if (results.Any())
{
    Console.WriteLine($"Recovered: {results.First().Value}");
}
else
{
    Console.WriteLine("Could not decode — image quality too low");
}
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-KEY"

Dim options As New BarcodeReaderOptions With {
    .Speed = ReadingSpeed.ExtremeDetail,
    .ExpectMultipleBarcodes = False
}

Dim results = BarcodeReader.Read("worn-shipping-label.png", options)

If results.Any() Then
    Console.WriteLine($"Recovered: {results.First().Value}")
Else
    Console.WriteLine("Could not decode — image quality too low")
End If
$vbLabelText   $csharpLabel

ReadingSpeed.Balanced gère la plupart des codes-barres propres ou légèrement endommagés et est plus rapide. Réservez ExtremeDetail aux cas où Balanced échoue - il est complet mais beaucoup plus lent. Pour plus d'informations sur la lecture des codes-barres difficiles, consultez la documentation de lecture IronBarcode .

Détection de plusieurs codes-barres

La détection de plusieurs codes-barres assure une correspondance directe entre les deux plateformes : Barkoder gère plusieurs codes dans un cadre de caméra ; Code-barres IronBarcode gère plusieurs codes dans un document ou un fichier image.

Approche du SDK Barkoder

Le mode multi-codes-barres de Barkoder détecte et décode simultanément plusieurs codes-barres à partir d'une seule image de la caméra. Dans un entrepôt, un employé tient son téléphone au-dessus d'une étagère et reçoit simultanément toutes les valeurs des codes-barres. Ceci est configuré au niveau du SDK avant le début de l'analyse :

// Android Kotlin — not usable from C#
barkoderView.config.decoder.multicodingEnabled = true
barkoderView.startScanning { results ->
    results.forEach { result ->
        println("${result.barcodeType}: ${result.textualData}")
    }
}

Approche IronBarcode

Dans les applications serveur .NET , le scénario à codes-barres multiples implique généralement un document : une facture avec un code-barres de suivi d'expédition et un code-barres de produit, ou un manifeste d'expédition avec plusieurs articles par page. Code-barres IronBarcode gère cela avec ExpectMultipleBarcodes = true, et la même option fonctionne à l'identique sur les images et les PDF :

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
};

// Works on images and PDFs — single method call
var results = BarcodeReader.Read("shipping-manifest.pdf", options);

foreach (var barcode in results)
{
    Console.WriteLine($"Page {barcode.PageNumber} | {barcode.Format} | {barcode.Value}");
}
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
};

// Works on images and PDFs — single method call
var results = BarcodeReader.Read("shipping-manifest.pdf", options);

foreach (var barcode in results)
{
    Console.WriteLine($"Page {barcode.PageNumber} | {barcode.Format} | {barcode.Value}");
}
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-KEY"

Dim options As New BarcodeReaderOptions With {
    .Speed = ReadingSpeed.Balanced,
    .ExpectMultipleBarcodes = True
}

' Works on images and PDFs — single method call
Dim results = BarcodeReader.Read("shipping-manifest.pdf", options)

For Each barcode In results
    Console.WriteLine($"Page {barcode.PageNumber} | {barcode.Format} | {barcode.Value}")
Next
$vbLabelText   $csharpLabel

Aucune extraction de page, aucune requête multiple, aucune surcharge réseau par code-barres. Le fichier PDF est lu nativement en un seul appel. Pour en savoir plus sur la lecture de plusieurs codes-barres et de fichiers PDF, consultez la documentation IronBarcode .

Prise en charge des formats DataMatrix et haute densité

DataMatrix est essentiel aux cas d'utilisation industriels et DPM — les formats que Barkoder met en avant pour les secteurs de la fabrication, de la santé et de l'automobile.

Approche du SDK Barkoder

Barkoder prend en charge la lecture DataMatrix avec des configurations DPM pour les marques gravées au laser et par microbillage. Le SDK prend également en charge les formats PDF417, Aztèque et autres formats 2D haute densité avec une grande précision sur les appareils photo mobiles. Tout ceci fonctionne au sein du pipeline de la caméra sur iOS ou Android :

// iOS Swift — not usable from C#
barkoderView.config = BarkoderConfig(licenseKey: "LICENSE_KEY") { config in
    config.decoder.decoderType = .dataMatrix
}
barkoderView.startScanning { result in
    print(result.textualData ?? "No result")
}

Barkoder ne génère pas de codes-barres DataMatrix ni aucun autre format de code-barres. Il s'agit d'un SDK en lecture seule.

Approche IronBarcode

IronBarcode lit et génère nativement des données DataMatrix. Du côté de la lecture, ReadingSpeed.ExtremeDetail gère le faible contraste et les bords rugueux typiques des marques DPM gravées au laser. Du côté de la génération, BarcodeWriter.CreateBarcode() produit DataMatrix pour la création d'étiquettes de pièces :

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

// Generate a DataMatrix barcode for a part label
BarcodeWriter.CreateBarcode("PART-ID-20240315-A42", BarcodeEncoding.DataMatrix)
    .SaveAsPng("part-label.png");

// Generate a QR code with brand logo
QRCodeWriter.CreateQrCode("https://parts.example.com/A42", 500)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("branded-qr.png");

// Read auto-detects format — DataMatrix, QR, Code128, PDF417, etc.
var results = BarcodeReader.Read("etched-part.png");
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

// Generate a DataMatrix barcode for a part label
BarcodeWriter.CreateBarcode("PART-ID-20240315-A42", BarcodeEncoding.DataMatrix)
    .SaveAsPng("part-label.png");

// Generate a QR code with brand logo
QRCodeWriter.CreateQrCode("https://parts.example.com/A42", 500)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("branded-qr.png");

// Read auto-detects format — DataMatrix, QR, Code128, PDF417, etc.
var results = BarcodeReader.Read("etched-part.png");
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-KEY"

' Generate a DataMatrix barcode for a part label
BarcodeWriter.CreateBarcode("PART-ID-20240315-A42", BarcodeEncoding.DataMatrix) _
    .SaveAsPng("part-label.png")

' Generate a QR code with brand logo
QRCodeWriter.CreateQrCode("https://parts.example.com/A42", 500) _
    .AddBrandLogo("company-logo.png") _
    .SaveAsPng("branded-qr.png")

' Read auto-detects format — DataMatrix, QR, Code128, PDF417, etc.
Dim results = BarcodeReader.Read("etched-part.png")
$vbLabelText   $csharpLabel

Pour obtenir la liste complète des formats pris en charge et des options de génération, consultez le guide de génération de codes-barres IronBarcode .

Référence de mappage d'API

Comme il n'existe pas de code C# Barkoder sur lequel s'appuyer, ce tableau présente les équivalences conceptuelles entre ce que fait Barkoder sur mobile et la manière dont Code-barres IronBarcode parvient au même résultat en .NET:

Concept Barkoder Équivalent Code-barres IronBarcode
Initialisation du SDK avec la clé de licence IronBarCode.License.LicenseKey = "YOUR-KEY"
DeblurEnabled = true Speed = ReadingSpeed.ExtremeDetail
MultipleScanningEnabled = true ExpectMultipleBarcodes = true
DecoderType = .dataMatrix BarcodeEncoding.DataMatrix (auto-détecté à la lecture)
startScanning(callback) BarcodeReader.Read("image.png") - résultat synchrone
result.textualData result.Value
result.symbology result.Format
Récupération des dommages de MatrixSight ReadingSpeed.ExtremeDetail avec prétraitement ML
Analyse des images de la caméra Entrée fichier / flux / tableau d'octets
Traitement sur l'appareil Entièrement local — aucun appel réseau
Aucun support de génération BarcodeWriter.CreateBarcode() / QRCodeWriter.CreateQrCode()
Prise en charge des fichiers PDF non disponible BarcodeReader.Read("document.pdf") - natif
Aucun déploiement de serveur Fonctionne avec ASP.NET Core, Docker, Fonctions Azureet Lambda.

Quand les équipes envisagent de passer du SDK Barkoder à IronBarcode

Exigences du projet .NET

Le scénario le plus courant est simple : un développeur ou une équipe est en train de créer une application .NET ( ASP.NET Core, un service Windows, un outil console, une application de bureau) et découvre Barkoder lors de ses recherches. Ils lisent des articles sur MatrixSight, DeBlur et la détection de codes-barres multiples, trouvent ces fonctionnalités intéressantes, puis découvrent qu'aucune d'entre elles n'est accessible depuis C#. L'évaluation se termine à NuGet. Les équipes dans cette situation ne quittent pas Barkoder ; Ils identifient dès le départ l'outil adapté à leur plateforme. Code-barres IronBarcode est la réponse .NET aux exigences auxquelles Barkoder répond sur mobile.

Flux de travail de traitement des codes-barres côté serveur

Certaines équipes commencent par prototyper un flux de traitement des codes-barres à l'aide d'une application de numérisation mobile (Barkoder ou un autre SDK mobile), puis doivent reproduire ou étendre ce flux côté serveur. Parmi les exemples courants, citons le traitement d'images de codes-barres téléchargées via une API, la lecture de codes-barres dans des documents PDF d'un système de gestion documentaire ou le traitement par lots d'archives d'étiquettes numérisées. Aucun de ces flux de travail n'est possible avec Barkoder, qui ne dispose d'aucun modèle de déploiement côté serveur. Code-barres IronBarcode gère tous ces cas avec la même API statique sur ASP.NET Core, Azure Functions, Docker et AWS Lambda.

Exigences de génération de codes-barres

Les équipes qui développent des applications .NET pour la logistique, les stocks ou la conformité constatent fréquemment que la lecture des codes-barres ne représente que la moitié du flux de travail. La génération de codes-barres (impression d'étiquettes, intégration de codes QR dans les documents, production de manifestes d'expédition) est tout aussi importante. Barkoder est conçu pour être en lecture seule ; Il ne possède aucune capacité de génération. Lorsqu'un projet s'étend au-delà de la simple lecture, une bibliothèque couvrant les deux aspects du flux de travail élimine le besoin d'intégrer une seconde dépendance. Code-barres IronBarcode assure la lecture et la génération de plus de 50 formats grâce à une API cohérente.

Traitement des documents PDF

Dans les applications Enterprise .NET , les codes-barres apparaissent fréquemment intégrés dans les documents PDF — factures, manifestes d'expédition, dossiers médicaux, documents de conformité. Barkoder n'a aucune notion de ce flux de travail ; Elle est conçue pour la capture d'images par caméra sur un appareil mobile. Les équipes qui doivent lire les codes-barres des documents PDF entrants, extraire des données de codes-barres pour des applications métier ou vérifier la présence de codes-barres dans des archives documentaires ont besoin d'une bibliothèque prenant en charge nativement le format PDF. Code-barres IronBarcode lit les codes-barres directement à partir des fichiers PDF sans extraction d'image intermédiaire.

Prévisibilité des prix et du déploiement

La tarification du SDK mobile de Barkoder est structurée autour du modèle d'application mobile et de distribution. Pour les équipes évaluant des outils pour un environnement .NET , ce modèle de tarification est sans intérêt : le SDK ne fonctionne pas du tout sous .NET . Lorsque les équipes identifient Code-barres IronBarcode comme l'outil approprié pour leur plateforme, le modèle de tarification est simple : une licence perpétuelle unique sans frais par requête ni limite de volume, quel que soit le nombre de codes-barres traités.

Considérations courantes en matière de migration

De la saisie par caméra mobile à la saisie basée sur des fichiers

Les équipes qui ont mis en œuvre un prototype de numérisation mobile basé sur Barkoder et qui doivent reproduire cette fonctionnalité en .NET constateront que le modèle d'entrée passe des images de la caméra aux fichiers, flux ou tableaux d'octets. Code-barres IronBarcode accepte les mêmes données sous plusieurs formes - une chaîne de chemin de fichier, un Stream, un byte[], ou un System.Drawing.Image. La logique de traitement des codes-barres est par ailleurs identique :

// All of these call the same underlying pipeline
var results1 = BarcodeReader.Read("scan.png");
var results2 = BarcodeReader.Read(imageStream);
var results3 = BarcodeReader.Read(imageBytes);
// All of these call the same underlying pipeline
var results1 = BarcodeReader.Read("scan.png");
var results2 = BarcodeReader.Read(imageStream);
var results3 = BarcodeReader.Read(imageBytes);
' All of these call the same underlying pipeline
Dim results1 = BarcodeReader.Read("scan.png")
Dim results2 = BarcodeReader.Read(imageStream)
Dim results3 = BarcodeReader.Read(imageBytes)
$vbLabelText   $csharpLabel

Compromis entre vitesse et précision

Le mode DeBlur de Barkoder est toujours actif lorsqu'il est configuré et fonctionne dans la boucle de l'appareil photo mobile. Code-barres IronBarcode expose le compromis précision-vitesse explicitement à travers ReadingSpeed. Pour la plupart des fichiers, ReadingSpeed.Balanced est approprié. Pour les entrées endommagées ou dégradées que Balanced ne parvient pas à décoder, ReadingSpeed.ExtremeDetail applique le pipeline ML multi-passes complet. La structuration du traitement par lots pour utiliser Balanced par défaut et revenir à ExtremeDetail uniquement en cas d'échec est l'approche recommandée pour les flux de travail sensibles aux performances.

Intégration asynchrone dans ASP.NET Core

La méthode BarcodeReader.Read() d'IronBarcode est synchrone. Dans les points de terminaison ASP.NET Core qui gèrent des requêtes concurrentes, enveloppez l'appel dans Task.Run() pour éviter de bloquer le thread de la requête :

var results = await Task.Run(() => BarcodeReader.Read(imageBytes, options));
var results = await Task.Run(() => BarcodeReader.Read(imageBytes, options));
Dim results = Await Task.Run(Function() BarcodeReader.Read(imageBytes, options))
$vbLabelText   $csharpLabel

Spécification de format pour les performances

IronBarcode détecte automatiquement les formats de codes-barres par défaut. Dans les scénarios à haut débit où le format attendu est connu, la spécification du format réduit le temps de traitement en éliminant les tests de format qui ne correspondront pas. Utilisez BarcodeReaderOptions.ExpectedBarcodeFormats pour limiter la recherche lorsque le format est connu à l'avance.

Fonctionnalités supplémentaires IronBarcode

Au-delà des équivalents directs des fonctionnalités mobiles de Barkoder, Code-barres IronBarcode offre des capacités spécifiquement adaptées aux contextes serveur et bureau .NET :

  • Intégration du logo du code QR: QRCodeWriter.CreateQrCode().AddBrandLogo() ajoute une image de marque au centre d'un code QR généré - une exigence courante pour les flux de travail de marketing et d'emballage
  • Lecture des codes-barres PDF : L'entrée PDF native signifie qu'il n'y a pas d'extraction d'image intermédiaire ; Les fichiers PDF multipages sont numérisés en une seule opération.
  • Impression de codes-barres sur les PDF : Code-barres IronBarcode peut générer des codes-barres et les imprimer sur des documents PDF existants, permettant ainsi l'automatisation des flux de travail d'étiquetage et de gestion des documents.
  • Lecture d'images en vrac: BarcodeReader.ReadBulk() traite plusieurs images simultanément pour des opérations par lots à haut débit
  • Génération de codes QR stylisés : couleurs, marges et niveaux de correction d'erreur personnalisables pour les codes QR
  • Formats GS1 et HIBC : Prise en charge des normes de codes-barres pour le secteur de la santé et la chaîne d'approvisionnement, au-delà des formats 1D et 2D standard.

Compatibilité .NET et préparation à l'avenir

IronBarcode prend en charge .NET Framework 4.6.2 et toutes les versions modernes de .NET jusqu'à .NET 9, avec un développement actif assurant la compatibilité avec .NET 10 prévu pour 2026. La bibliothèque fonctionne sous Windows, Linux et macOS, et est testée sur les cibles de déploiement Docker, Fonctions Azureet AWS Lambda. À mesure que l'écosystème .NET continue d'évoluer vers des modèles multiplateformes et natifs du cloud, le modèle d'exécution entièrement local d'IronBarcode — sans dépendance au cloud, sans gestion des clés API et sans latence réseau — s'aligne sur la direction de l'architecture des applications .NET modernes.

Conclusion

Barkoder SDK et Code-barres IronBarcode opèrent dans des domaines fondamentalement différents. Barkoder est un SDK de numérisation par caméra mobile conçu pour iOS et Android, avec un noyau de traitement C/C++ et une distribution via CocoaPods, Maven et des frameworks mobiles hybrides. Code-barres IronBarcode est une bibliothèque .NET native conçue pour les déploiements serveur, bureau et cloud, distribuée via NuGet et intégrée à l'écosystème .NET grâce à des modèles standard. Les deux bibliothèques ne sont pas en concurrence sur la même plateforme — elles répondent aux mêmes exigences de traitement des codes-barres dans des environnements d'exécution totalement différents.

Barkoder est le choix idéal pour la création d'applications mobiles iOS ou Android nécessitant une numérisation par caméra en temps réel. Ses fonctionnalités MatrixSight et DeBlur sont véritablement performantes pour les scénarios de numérisation sur le terrain où la qualité d'image ne peut être contrôlée. Sa détection multi-codes-barres et sa prise en charge DPM sont parfaitement adaptées aux flux de travail mobiles de fabrication et de logistique. Si votre équipe développe avec React Natifou Flutter des solutions pour les travailleurs mobiles qui scannent des objets physiques avec la caméra de leur appareil, Barkoder mérite d'être pris en compte.

IronBarcode est le choix idéal pour la création d'applications .NET — API ASP.NET Core , services Windows, pipelines de traitement de documents, outils de bureau ou fonctions cloud — nécessitant la lecture, la génération ou les deux de codes-barres. Il couvre l'intégralité du flux de travail des codes-barres à partir d'un seul package NuGet , s'exécute entièrement en local sans dépendances réseau et s'intègre aux modèles .NET standard, notamment l'injection de dépendances, async/await et l'hébergement cloud. Pour les développeurs .NET qui ont été amenés à Barkoder par des comparatifs, Code-barres IronBarcode offre les mêmes fonctionnalités de base — lecture tolérante aux dommages, détection de plusieurs codes-barres, prise en charge des formats DataMatrix et haute densité — implémentées nativement pour la plateforme .NET .

La conclusion pratique est simple : si vous programmez en C#, Barkoder n'a jamais été une option. Le temps consacré à l'évaluation de sa liste de fonctionnalités est utile — il permet de clarifier les capacités dont vous avez besoin — et Code-barres IronBarcode les couvre toutes dans l'environnement où votre application s'exécute réellement.

Questions Fréquemment Posées

Qu'est-ce que Barkoder SDK ?

BarCode SDK est une bibliothèque de codes-barres .NET permettant de générer et de lire des codes-barres dans des applications C#. C'est l'une des nombreuses alternatives que les développeurs évaluent lorsqu'ils choisissent une solution de code-barres pour les projets .NET.

Quelles sont les principales différences entre Barkoder SDK et IronBarcode ?

IronBarcode utilise une API statique, sans état, ne nécessitant aucune gestion d'instance, alors que le SDK de Barkoder requiert généralement la création et la configuration d'une instance avant utilisation. IronBarcode offre également une prise en charge native du format PDF, une détection automatique du format et une licence à clé unique pour tous les environnements.

Est-il plus facile d'obtenir une licence pour IronBarcode que pour Barkoder SDK ?

IronBarcode utilise une clé de licence unique couvrant à la fois les déploiements de développement et de production. Cela simplifie les pipelines CI/CD et les configurations Docker par rapport aux systèmes de licence qui séparent les clés SDK des clés d'exécution.

IronBarcode prend-il en charge tous les formats de codes-barres que le SDK de BarCode prend en charge ?

IronBarcode prend en charge plus de 30 symbologies de codes-barres, notamment QR Code, Code 128, Code 39, DataMatrix, PDF417, Aztec, EAN-13, UPC-A, GS1, et bien d'autres encore. L'auto-détection du format signifie qu'aucune énumération explicite du format n'est nécessaire.

IronBarcode prend-il en charge la lecture de codes-barres PDF en mode natif ?

Oui. IronBarcode lit les codes-barres directement à partir de fichiers PDF en utilisant BarcodeReader.Read("document.pdf") sans nécessiter de bibliothèque de rendu PDF séparée. Les résultats par page comprennent le numéro de page, le format du code-barres, la valeur et le score de confiance.

Comment IronBarcode gère-t-il le traitement par lots par rapport à Barkoder SDK ?

Les méthodes statiques d'IronBarcode sont sans état et naturellement à l'abri des threads, ce qui permet d'utiliser directement Parallel.ForEach sans gestion d'instance par thread. Il n'y a pas de plafond de débit, quel que soit le niveau de prix.

Quelles versions de .NET sont prises en charge par IronBarcode ?

IronBarcode prend en charge .NET Framework 4.6.2+, .NET Core 3.1 et .NET 5, 6, 7, 8 et 9 dans un seul package NuGet. Les plates-formes visées sont Windows x64/x86, Linux x64 et macOS x64/ARM.

Comment installer IronBarcode for .NET dans un projet .NET ?

Installez IronBarcode via NuGet : exécutez "Install-Package IronBarCode" dans la console du gestionnaire de paquets, ou "dotnet add package IronBarCode" dans le CLI. Aucun installateur SDK ou fichier d'exécution supplémentaire n'est nécessaire.

Puis-je évaluer IronBarcode avant de l'acheter, contrairement à Barkoder ?

Oui. Le mode d'essai d'IronBarcode renvoie des valeurs de code-barres décodées complètes - seules les images de sortie générées reçoivent un filigrane. Vous pouvez comparer la précision de lecture sur vos propres documents avant de vous engager dans un achat.

Quelle est la différence de prix entre Barkoder SDK et IronBarcode ?

IronBarcode est proposé à partir de 749 dollars pour une licence perpétuelle pour un seul développeur couvrant le développement et la production. Les détails des prix et les options de volume sont disponibles sur la page de licence d'IronBarcode. Il n'est pas nécessaire de disposer d'une licence d'exécution distincte.

Est-il simple de migrer du SDK de Barkoder vers IronBarcode ?

La migration du SDK de Barkoder vers IronBarcode implique principalement le remplacement des appels d'API basés sur des instances par les méthodes statiques d'IronBarcode, la suppression des modèles de licence et la mise à jour des noms des propriétés des résultats. La plupart des migrations impliquent une réduction du code plutôt qu'un ajout.

IronBarcode génère-t-il des codes QR avec des logos ?

Oui. QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png") incorpore une image de marque dans un code QR de manière native avec une correction d'erreur configurable. Les codes QR colorés sont également pris en charge via ChangeBarCodeColor().

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

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi