Quelle bibliothèque de codes-barres C# devez-vous utiliser pour le développement .NET ?
IronBarcode offre le meilleur équilibre entre fonctionnalités, facilité d'utilisation et compatibilité multiplateforme pour les développeurs C#, prenant en charge plus de 50 formats de codes-barres avec des capacités de génération et de lecture, tandis que des alternatives comme ZXing .NET (gratuit/open source) ou Dynamsoft (numérisation haute performance) conviennent à des cas d'utilisation spécifiques.
Les codes-barres restent essentiels pour le transfert de données dans tous les secteurs, du commerce de détail à la santé. Ils offrent un stockage efficace et lisible par machine qui simplifie les opérations et réduit les erreurs. Que vous utilisiez des codes QR, des codes UPC-A ou des formats Data Matrix, vos applications ont besoin d'une fonctionnalité de code-barres fiable.
Une bibliothèque de codes-barres C# moderne révèle cette fonctionnalité pour vos applications .NET . Les meilleures bibliothèques permettent de générer des codes-barres, de les lire à partir de fichiers image ou de PDF, et de gérer plusieurs codes-barres simultanément. Des outils avancés permettent la correction automatique des images , la numérisation par lots et l'intégration directe dans des documents multipages .
Ce guide compare cinq bibliothèques de codes-barres largement utilisées for .NET: IronBarcode , ZXing .NET, Aspose.BarCode, BarcodeLib et Dynamsoft Barcode Reader. Vous pourrez consulter les formats pris en charge , la facilité d'utilisation, les critères de précision et les coûts afin de déterminer quelle option convient le mieux à vos projets .NET .
Pourquoi IronBarcode est-il le meilleur choix global ?

IronBarcode d' Iron Software offre une fonctionnalité complète de codes-barres pour les développeurs .NET . La bibliothèque prend en charge plus de 50 types de codes-barres, y compris les codes-barres linéaires (UPC, EAN, Code128) et les formats 2D comme les codes QR, Data Matrix et PDF417. Contrairement aux bibliothèques spécialisées, IronBarcode excelle à la fois dans la génération et la reconnaissance de codes-barres .
Cette implémentation gère exceptionnellement bien les défis de numérisation rencontrés dans le monde réel. Les scénarios de production avec des codes-barres endommagés ou mal imprimés atteignent des taux de réussite supérieurs à 98 % grâce aux filtres de prétraitement d'image . La bibliothèque applique automatiquement des ajustements de netteté et de contraste pour améliorer la lisibilité et gère les problèmes d'orientation grâce à sa fonction AutoRotate. Vos applications d'entrepôt à haute vitesse traitant plus de 1000 codes-barres par minute peuvent utiliser des options de vitesse de lecture pour équilibrer précision et performance.
// Configure for high-speed scanning with image correction
using IronBarCode;
var barcodeReaderOptions = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster,
ExpectMultipleBarcodes = true,
AutoRotate = true,
ImageFilters = new[] {
ImageFilterType.SharpenFilter,
ImageFilterType.ContrastFilter
}
};
// Read from damaged barcode image
var results = BarcodeReader.Read("warehouse-scan.jpg", barcodeReaderOptions);
foreach (var barcode in results)
{
Console.WriteLine($"Type: {barcode.BarcodeType}, Value: {barcode.Value}");
}
// Configure for high-speed scanning with image correction
using IronBarCode;
var barcodeReaderOptions = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster,
ExpectMultipleBarcodes = true,
AutoRotate = true,
ImageFilters = new[] {
ImageFilterType.SharpenFilter,
ImageFilterType.ContrastFilter
}
};
// Read from damaged barcode image
var results = BarcodeReader.Read("warehouse-scan.jpg", barcodeReaderOptions);
foreach (var barcode in results)
{
Console.WriteLine($"Type: {barcode.BarcodeType}, Value: {barcode.Value}");
}
Imports IronBarCode
' Configure for high-speed scanning with image correction
Dim barcodeReaderOptions As New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Faster,
.ExpectMultipleBarcodes = True,
.AutoRotate = True,
.ImageFilters = New ImageFilterType() {
ImageFilterType.SharpenFilter,
ImageFilterType.ContrastFilter
}
}
' Read from damaged barcode image
Dim results = BarcodeReader.Read("warehouse-scan.jpg", barcodeReaderOptions)
For Each barcode In results
Console.WriteLine($"Type: {barcode.BarcodeType}, Value: {barcode.Value}")
Next
Les capacités de tolérance aux pannes de la bibliothèque garantissent une lecture fiable même dans des conditions difficiles. Lors du traitement de fichiers TIFF ou GIF multipages , IronBarcode gère automatiquement toutes les images sans séparation manuelle. Les déploiements en Enterprise bénéficient de mesures de sécurité complètes , notamment la certification DigiCert et la protection contre la falsification.
La bibliothèque fonctionne directement avec les documents PDF , vous permettant d'écrire des codes-barres ou de les détecter dans des fichiers existants. Le moteur de lecture d'IronBarcode gère automatiquementles scans imparfaits en appliquant des corrections telles que la rotation, le redressement et l'amélioration. Cette approche permet une numérisation rapide et précise en conditions réelles. Vous pouvez générer des images de codes-barres dans plusieurs formats ou les insérer dans des documents HTML et des PDF multipages .
En matière de capacités de génération, IronBarcode offre une personnalisation poussée. Vous pouvez personnaliser le style des codes-barres avec des couleurs personnalisées, définir des marges et ajouter des logos aux codes QR . La bibliothèque prend en charge l'encodage Unicode pour les caractères internationaux. Votre application peut enregistrer les codes-barres dans différents formats ou les exporter sous forme de flux pour les API Web et les services cloud. Lors de la création de codes-barres à partir de sources de données , la bibliothèque gère de manière transparente les textes, les URL, les identifiants et les données binaires.
// Generate customized QR code with logo
var qrCode = QRCodeWriter.CreateQrCodeWithLogo("___PROTECTED_URL_176___", "logo.png", 300);
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy)
.SetMargins(10)
.SaveAsImage("branded-qr.png");
// Create styled barcode with annotations
var styledBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeWriterEncoding.Code128);
styledBarcode.ResizeTo(400, 150)
.SetMargins(20)
.ChangeBarCodeColor(Color.DarkBlue)
.AddAnnotationTextAboveBarcode("Product SKU")
.SaveAsImage("styled-product-barcode.png");
// Generate customized QR code with logo
var qrCode = QRCodeWriter.CreateQrCodeWithLogo("___PROTECTED_URL_176___", "logo.png", 300);
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy)
.SetMargins(10)
.SaveAsImage("branded-qr.png");
// Create styled barcode with annotations
var styledBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeWriterEncoding.Code128);
styledBarcode.ResizeTo(400, 150)
.SetMargins(20)
.ChangeBarCodeColor(Color.DarkBlue)
.AddAnnotationTextAboveBarcode("Product SKU")
.SaveAsImage("styled-product-barcode.png");
' Generate customized QR code with logo
Dim qrCode = QRCodeWriter.CreateQrCodeWithLogo("___PROTECTED_URL_176___", "logo.png", 300)
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy) _
.SetMargins(10) _
.SaveAsImage("branded-qr.png")
' Create styled barcode with annotations
Dim styledBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeWriterEncoding.Code128)
styledBarcode.ResizeTo(400, 150) _
.SetMargins(20) _
.ChangeBarCodeColor(Color.DarkBlue) _
.AddAnnotationTextAboveBarcode("Product SKU") _
.SaveAsImage("styled-product-barcode.png")
IronBarcode assure une compatibilité multiplateforme avec .NET Framework, .NET Core, .NET Standard et .NET MAUI . Vos projets Visual Studio fonctionnent sur les plateformes web, de bureau, cloud ou mobiles. La bibliothèque prend en charge le déploiement sur Linux , macOS , les conteneurs Docker , Azure et AWS Lambda . L'installation via le gestionnaire de packages NuGet est simple, et la documentation officielle de l'API comprend des exemples de code clairs pour la génération, l'écriture et la numérisation de codes QR.
Lors de l'utilisation d'objets System.Drawing , IronBarcode assure une compatibilité multiplateforme via IronDrawing. Les formats de données de sortie incluent des métadonnées complètes sur les codes-barres détectés, notamment les coordonnées, les dimensions et les scores de confiance. Les scénarios à hautes performances tirent parti des opérations asynchrones et multithread pour traiter simultanément des milliers de codes-barres.
Pourquoi la compatibilité multiplateforme est-elle importante pour votre startup ?
-
Installation rapide via les packages NuGet avec des options spécifiques à la plateforme .
-
Prend en charge les codes-barres 1D et 2D , y compris Micro QR et rMQR .
-
Lit avec précision les codes-barres à partir d'images endommagées en utilisant un seuil de confiance ML .
-
Fonctionne avec les fichiers PDF, JPEG, PNG et TIFF grâce à des paramètres de lecture flexibles.
-
Permet l'intégration de codes-barres PDF avec un positionnement précis.
-
Prend en charge les opérations asynchrones et multithreadées , y compris la lecture asynchrone des codes-barres .
-
Comprend un support commercial et des mises à jour fréquentes avec des versions majeures .
- Gratuit pour le développement avec des modèles de licence flexibles et des options de mise à niveau .
Quels sont les coûts de licence pour les entreprises en phase de démarrage ?
-
L'utilisation en production nécessite une licence payante à partir de 749 $ avec des extensions de licence disponibles.
- Les fonctionnalités avancées bénéficient de paramètres de configuration optimaux dans les guides de dépannage .
Pourquoi choisir ZXing .NET pour les projets open source ?
Page GitHub du projet ZXing .NET présentant la version 0.16.10 avec le logo du projet et la description de la bibliothèque .NET de lecture et de génération de codes-barres.
ZXing .NET fournit un portage .NET de la bibliothèque open-source Zebra Crossing (ZXing). Cette solution gratuite prend en charge les formats de codes-barres courants tels que les codes QR, UPC-A et Code128. Pour les projets de plus petite envergure nécessitant la création ou la lecture de codes-barres basiques, ZXing .NET offre une option légère. Le guide de démarrage rapide des codes-barres montre comment les bibliothèques modernes simplifient ces tâches.
La prise en charge des formats par la bibliothèque reste limitée par rapport aux alternatives commerciales. Il gère les formats 1D standard et les codes 2D populaires, mais il manque des formats plus récents comme GS1 DataBar ou des codes industriels spécialisés. Les tests de performance montrent que ZXing .NET traite 100 à 200 codes-barres par minute, ce qui peut être insuffisant pour les applications à volume élevé nécessitant des vitesses de lecture améliorées . Privilégiez les bibliothèques dotées d'options de vitesse configurables qui offrent un bon équilibre entre précision et débit.
// Basic ZXing.Net barcode reading
using ZXing;
var reader = new BarcodeReader();
var result = reader.Decode(new Bitmap("barcode.png"));
if (result != null)
{
Console.WriteLine($"Decoded: {result.Text}");
}
// ZXing.Net QR code generation
var writer = new BarcodeWriter
{
Format = BarcodeFormat.QR_CODE,
Options = new QrCodeEncodingOptions
{
Width = 300,
Height = 300,
Margin = 2
}
};
var bitmap = writer.Write("___PROTECTED_URL_177___");
bitmap.Save("qr-code.png");
// Basic ZXing.Net barcode reading
using ZXing;
var reader = new BarcodeReader();
var result = reader.Decode(new Bitmap("barcode.png"));
if (result != null)
{
Console.WriteLine($"Decoded: {result.Text}");
}
// ZXing.Net QR code generation
var writer = new BarcodeWriter
{
Format = BarcodeFormat.QR_CODE,
Options = new QrCodeEncodingOptions
{
Width = 300,
Height = 300,
Margin = 2
}
};
var bitmap = writer.Write("___PROTECTED_URL_177___");
bitmap.Save("qr-code.png");
Imports ZXing
Imports ZXing.QrCode
Dim reader As New BarcodeReader()
Dim result = reader.Decode(New Bitmap("barcode.png"))
If result IsNot Nothing Then
Console.WriteLine($"Decoded: {result.Text}")
End If
Dim writer As New BarcodeWriter With {
.Format = BarcodeFormat.QR_CODE,
.Options = New QrCodeEncodingOptions With {
.Width = 300,
.Height = 300,
.Margin = 2
}
}
Dim bitmap = writer.Write("___PROTECTED_URL_177___")
bitmap.Save("qr-code.png")
Cependant, il manque de fonctionnalités modernes. L'API d'écriture de codes-barres reste basique et la bibliothèque ne fournit pas de gestion automatique des erreurs d'encodage ni de correction d'image . Vous pourriez rencontrer des problèmes de précision en cas de numérisation imparfaite, de codes pivotés ou de mauvaises conditions d'éclairage. Les tests effectués avec des codes-barres endommagés montrent des taux de réussite de 60 à 70 % sans prétraitement manuel. Pour de meilleurs résultats, privilégiez les bibliothèques dotées de filtres d'image intégrés et de fonctionnalités de rotation automatique . L'absence de configuration de correction d'erreurs limite l'efficacité dans les scénarios difficiles.
Quand l'open source est-il pertinent pour les MVP ?
-
Logiciel libre et gratuit sous licence Apache 2.0.
-
Prend en charge les formats populaires, notamment les codes QR et les formats 1D .
-
Installation NuGet simplifiée pour les petits projets .NET .
- Léger avec des dépendances minimales par rapport aux installations avancées .
À quelle dette technique devez-vous vous attendre ?
-
Prise en charge limitée de plusieurs codes-barres par rapport aux lecteurs modernes .
-
Mises à jour plus lentes; un développement moins actif que les mises à jour de produits commerciaux.
-
Problèmes de précision sansfonctions de correction d'image .
-
Aucun support commercial ni lecture de codes-barres PDF .
- Prise en charge mobile limitée par rapport aux alternatives iOS et Android .
Quand utiliser Aspose.BarCode?

Aspose.BarCode for .NET cible les cas d'utilisation Enterprise avec des capacités de génération et de reconnaissance. Il prend en charge la plupart des types de codes-barres et s'intègre à la Suite Aspose pour l'insertion de codes-barres dans les documents Word, Excel ou PDF. Pour des fonctionnalités similaires, l'intégration PDF d'IronBarcode propose des API plus simples. La bibliothèque permet d'intégrer des codes-barres aux PDF avec un positionnement précis.
La bibliothèque offre une prise en charge complète des formats, y compris les codes-barres postaux et les codes 2D spécialisés. La qualité de la production excelle grâce à un contrôle précis de la taille des modules, des zones silencieuses et des niveaux de correction d'erreurs . Cependant, l'API suit les conventions uniques d'Aspose, ce qui peut paraître inhabituel. À titre de comparaison, l'approche stylistique d'IronBarcode utilise des noms de méthodes plus intuitifs. L' exemple de code QR personnalisé illustre une conception d'API plus propre.
// Aspose.BarCode generation with custom settings
using Aspose.BarCode.Generation;
var generator = new BarcodeGenerator(EncodeTypes.DataMatrix, "ASPOSE-123");
generator.Parameters.Barcode.XDimension.Millimeters = 0.5f;
generator.Parameters.Barcode.DataMatrix.DataMatrixEcc = DataMatrixEccType.Ecc200;
generator.Save("datamatrix.png", BarCodeImageFormat.Png);
// Reading barcodes with specific settings
var reader = new BarCodeReader("barcode.png", DecodeType.AllSupportedTypes);
reader.QualitySettings = QualitySettings.HighPerformance;
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine($"Type: {result.CodeTypeName}, Value: {result.CodeText}");
}
// Aspose.BarCode generation with custom settings
using Aspose.BarCode.Generation;
var generator = new BarcodeGenerator(EncodeTypes.DataMatrix, "ASPOSE-123");
generator.Parameters.Barcode.XDimension.Millimeters = 0.5f;
generator.Parameters.Barcode.DataMatrix.DataMatrixEcc = DataMatrixEccType.Ecc200;
generator.Save("datamatrix.png", BarCodeImageFormat.Png);
// Reading barcodes with specific settings
var reader = new BarCodeReader("barcode.png", DecodeType.AllSupportedTypes);
reader.QualitySettings = QualitySettings.HighPerformance;
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine($"Type: {result.CodeTypeName}, Value: {result.CodeText}");
}
Imports Aspose.BarCode.Generation
Imports Aspose.BarCode.BarCodeRecognition
' Aspose.BarCode generation with custom settings
Dim generator As New BarcodeGenerator(EncodeTypes.DataMatrix, "ASPOSE-123")
generator.Parameters.Barcode.XDimension.Millimeters = 0.5F
generator.Parameters.Barcode.DataMatrix.DataMatrixEcc = DataMatrixEccType.Ecc200
generator.Save("datamatrix.png", BarCodeImageFormat.Png)
' Reading barcodes with specific settings
Dim reader As New BarCodeReader("barcode.png", DecodeType.AllSupportedTypes)
reader.QualitySettings = QualitySettings.HighPerformance
For Each result As BarCodeResult In reader.ReadBarCodes()
Console.WriteLine($"Type: {result.CodeTypeName}, Value: {result.CodeText}")
Next
Les grandes organisations apprécient l'API de codes-barres d'Aspose et sa prise en charge des normes. Cependant, son apprentissage est plus complexe et son coût plus élevé. Les tests de performance montrent une capacité de 500 à 800 codes-barres par minute avec une précision de 85 à 90 % sur les codes endommagés. Les bibliothèques dotées de paramètres de lecture avancés obtiennent des résultats similaires avec une configuration plus simple. Lors du traitement de flux , les deux bibliothèques offrent un traitement efficace basé sur la mémoire. Pour la reconnaissance des codes-barres MSI , une configuration correcte reste essentielle.
Quel est l'impact des prix pratiqués par les Enterprise sur les startups ?
-
Prend en charge les formats 1D/2D, y compris les codes postaux, comme le format pris en charge par IronBarcode .
-
S'intègre aux produits Aspose pour les fichiers Word/Excel.
-
Licences Enterprise avec accès au code source, comme les différents niveaux de licence IronBarcode .
- Solide prise en charge des normes GS1 et de la symbologie composite.
Pourquoi la courbe d'apprentissage peut-elle ralentir le développement ?
-
Prix élevés (1 199 $ et plus par développeur) sans l'API simplifiée des générateurs modernes .
-
Licence complexe nécessitant une configuration minutieuse des clés de licence .
-
Courbe d'apprentissage plus abrupte que celle des tutoriels spécialisés sur les codes-barres .
-
La conception de l'API diffère des modèles .NET typiques dans les exemples modernes .
- Nécessite des licences distinctes, contrairement à la licence unifiée d'IronSuite .
Est-ce que BarcodeLib convient aux tâches de génération simples ?

Contrairement aux solutions complètes, BarcodeLib génère uniquement des codes-barres, sans fonctionnalités de lecture. BarcodeLib excelle dans la création de codes-barres simples pour les formats courants comme Code39, Code128 ou UPC. Pour les capacités de génération et de lecture , envisagez des solutions complètes. Les fonctionnalités de génération de codes-barres des bibliothèques modernes offrent une plus grande flexibilité.
BarcodeLib gère les tâches de génération de base avec une API simple. Votre application peut générer des codes-barres sous forme d'images dont la taille, les couleurs et les annotations textuelles sont personnalisables. La bibliothèque génère des codes-barres conformes aux normes de l'industrie pour le commerce de détail et la logistique. Cependant, la personnalisation reste limitée : vous ne pouvez pas ajouter de logos ni appliquer de styles avancés comme des dégradés ou des marges personnalisées . Les bibliothèques modernes offrent une personnalisation complète incluant les couleurs, le redimensionnement et les annotations.
// Simple barcode generation with BarcodeLib
using BarcodeLib;
var barcode = new Barcode();
barcode.IncludeLabel = true;
barcode.AlternateLabel = "Product Code";
barcode.RotateFlipType = RotateFlipType.RotateNoneFlipNone;
var img = barcode.Encode(TYPE.CODE128, "12345678", Color.Black, Color.White, 300, 150);
img.Save("simple-barcode.png", ImageFormat.Png);
// Limited customization options
barcode.LabelPosition = LabelPositions.BOTTOMCENTER;
barcode.EncodedType = TYPE.UPCA;
var upcImage = barcode.Encode("123456789012");
// Simple barcode generation with BarcodeLib
using BarcodeLib;
var barcode = new Barcode();
barcode.IncludeLabel = true;
barcode.AlternateLabel = "Product Code";
barcode.RotateFlipType = RotateFlipType.RotateNoneFlipNone;
var img = barcode.Encode(TYPE.CODE128, "12345678", Color.Black, Color.White, 300, 150);
img.Save("simple-barcode.png", ImageFormat.Png);
// Limited customization options
barcode.LabelPosition = LabelPositions.BOTTOMCENTER;
barcode.EncodedType = TYPE.UPCA;
var upcImage = barcode.Encode("123456789012");
Imports BarcodeLib
Imports System.Drawing
Imports System.Drawing.Imaging
Dim barcode As New Barcode()
barcode.IncludeLabel = True
barcode.AlternateLabel = "Product Code"
barcode.RotateFlipType = RotateFlipType.RotateNoneFlipNone
Dim img As Image = barcode.Encode(TYPE.CODE128, "12345678", Color.Black, Color.White, 300, 150)
img.Save("simple-barcode.png", ImageFormat.Png)
' Limited customization options
barcode.LabelPosition = LabelPositions.BOTTOMCENTER
barcode.EncodedType = TYPE.UPCA
Dim upcImage As Image = barcode.Encode("123456789012")
BarcodeLib reste solide pour des solutions rapides et gratuites sans surcharge SDK plus importante. Cependant, il ne prend pas en charge les cas d'utilisation avancés tels que les PDF, les applications mobiles ou la numérisation. La bibliothèque ne prend pas en charge les formats plus récents ni l'encodage Unicode . Pour les images de codes-barres 1BPP ou les codes-barres en flux continu , vous aurez besoin de solutions fiables. Lors de l'utilisation de programmes d'installation MSI , soyez vigilant face aux éventuels problèmes de DLL manquantes .
Quand les startups doivent-elles opter pour des solutions minimales ?
-
Logiciel libre et gratuit avec une licence simple.
-
Génération simple de codes-barres basiques sans configuration complexe.
-
Léger et rapide par rapport aux SDK de codes-barres complets.
- Idéal pour le prototypage avant de passer à des solutions commerciales .
Quelles fonctionnalités devrez-vous remplacer ultérieurement ?
-
Génération uniquement – pas de numérisation contrairement aux lecteurs complets .
-
Formats limités contre plus de 50 formats pris en charge dans les bibliothèques Enterprise .
-
Aucun prétraitement ni amélioration de la qualité comme la correction automatique .
-
Ne convient pas aux applications Enterprise nécessitant une tolérance aux pannes .
- Uniquement compatible avec Windows, sans prise en charge de Linux , Docker ou du cloud.
Pourquoi choisir Dynamsoft pour une numérisation haute performance ?

Le kit de développement logiciel (SDK) Dynamsoft Barcode Reader est axé sur la vitesse et la précision pour les applications Enterprise et mobiles. La bibliothèque excelle dans la numérisation en temps réel dans les secteurs de la logistique, de la santé et du commerce de détail, notamment à partir de flux vidéo en direct. Pour les applications web, l'intégration de Blazor représente une alternative économique. Le tutoriel sur le lecteur de codes-barres .NET MAUI présente une méthode simplifiée de lecture de codes-barres sur mobile.
Les tests de performance positionnent Dynamsoft comme le leader de la numérisation à grande vitesse, traitant 1 500 à 2 000 codes-barres par minute avec une précision supérieure à 95 % sur les codes endommagés. Le kit de développement logiciel (SDK) inclut la correction de perspective et le débruitage spécifiquement pour les appareils photo mobiles. Il prend en charge le déploiement iOS et Android via Xamarin et .NET MAUI . Pour la lecture asynchrone des codes-barres , les deux bibliothèques offrent des solutions fiables. Lors de la gestion des faux positifs , les algorithmes de Dynamsoft minimisent les détections incorrectes.
// Dynamsoft high-speed batch processing
using Dynamsoft.DBR;
var reader = new BarcodeReader();
reader.ProductKeys = "YOUR-LICENSE-KEY";
var settings = reader.GetRuntimeSettings();
settings.ExpectedBarcodesCount = 0; // Read all barcodes
settings.BarcodeFormatIds = (int)EnumBarcodeFormat.BF_ALL;
settings.DeblurLevel = 9; // Maximum deblur for mobile cameras
settings.ScaleUpModes[0] = ScaleUpMode.SUM_LINEAR_INTERPOLATION;
reader.UpdateRuntimeSettings(settings);
// Process video frame
var results = reader.DecodeBuffer(frameBuffer, frameWidth, frameHeight, frameStride, EnumImagePixelFormat.IPF_RGB_888, "");
foreach (var result in results)
{
Console.WriteLine($"Barcode: {result.BarcodeText}, Confidence: {result.Confidence}");
}
// Dynamsoft high-speed batch processing
using Dynamsoft.DBR;
var reader = new BarcodeReader();
reader.ProductKeys = "YOUR-LICENSE-KEY";
var settings = reader.GetRuntimeSettings();
settings.ExpectedBarcodesCount = 0; // Read all barcodes
settings.BarcodeFormatIds = (int)EnumBarcodeFormat.BF_ALL;
settings.DeblurLevel = 9; // Maximum deblur for mobile cameras
settings.ScaleUpModes[0] = ScaleUpMode.SUM_LINEAR_INTERPOLATION;
reader.UpdateRuntimeSettings(settings);
// Process video frame
var results = reader.DecodeBuffer(frameBuffer, frameWidth, frameHeight, frameStride, EnumImagePixelFormat.IPF_RGB_888, "");
foreach (var result in results)
{
Console.WriteLine($"Barcode: {result.BarcodeText}, Confidence: {result.Confidence}");
}
Imports Dynamsoft.DBR
' Dynamsoft high-speed batch processing
Dim reader As New BarcodeReader()
reader.ProductKeys = "YOUR-LICENSE-KEY"
Dim settings = reader.GetRuntimeSettings()
settings.ExpectedBarcodesCount = 0 ' Read all barcodes
settings.BarcodeFormatIds = CType(EnumBarcodeFormat.BF_ALL, Integer)
settings.DeblurLevel = 9 ' Maximum deblur for mobile cameras
settings.ScaleUpModes(0) = ScaleUpMode.SUM_LINEAR_INTERPOLATION
reader.UpdateRuntimeSettings(settings)
' Process video frame
Dim results = reader.DecodeBuffer(frameBuffer, frameWidth, frameHeight, frameStride, EnumImagePixelFormat.IPF_RGB_888, "")
For Each result In results
Console.WriteLine($"Barcode: {result.BarcodeText}, Confidence: {result.Confidence}")
Next
Le kit de développement logiciel (SDK) inclut une documentation complète et un support Professional à un prix premium. Les organisations qui privilégient la performance et la fiabilité pourraient juger ce coût justifié. Les fonctionnalités mobiles incluent le contrôle de la lampe torche, le Zoom et la sélection de la zone d'intérêt . Pour la lecture des codes-barres PDF , évaluez si les fonctionnalités spécialisées justifient un prix plus élevé. La bibliothèque gère les exceptions d'exécution avec élégance. Lors du déploiement sur AWS Lambda , une allocation de mémoire appropriée garantit des performances optimales.
Quand les exigences de performance justifient-elles une tarification premium ?
-
Précision et rapidité inégalées dans le secteur pour la numérisation en temps réel lors de démonstrations de codes-barres .
-
Excellente compatibilité avec les appareils mobiles grâce aux optimisations iOS et Android .
-
Traitement avancé pour les conditions difficiles, y compris l'orientation automatique .
-
Bonne documentation et assistance Professional pour les demandes d'ingénierie .
- Algorithmes spécialisés pour la logistique/les soins de santé prenant en charge le Code 39 et les formats de l'industrie.
Quel est l'impact des tarifs Enterprise sur les équipes autofinancées ?
-
Coûts de licence élevés (plus de 1 249 $ par développeur) par rapport à des alternatives de licence flexibles .
-
Surdimensionné pour une génération simple, mieux prise en charge par les générateurs de codes-barres .
-
Capacités de génération limitées par rapport aux bibliothèques complètes .
- Déploiement embarqué complexe, contrairement aux déploiements Docker simples.
Quelle bibliothèque de codes-barres C# choisir ?
Les exigences et les cas d'utilisation de votre projet déterminent le choix de la meilleure bibliothèque de codes-barres :
Pour les systèmes de vente au détail/PDV : IronBarcode offre un équilibre optimal avec la prise en charge des formats de vente au détail (UPC, EAN, Code 128) Plus que des codes QR pour les paiements mobiles. Son système de correction d'erreurs garantit une lecture fiable des codes-barres usés. Le tutoriel du générateur de codes-barres permet une mise en œuvre rapide. Les systèmes de point de vente (POS) basés sur le Web bénéficient de l'exportation HTML pour une intégration fluide.
Pour les entrepôts et la logistique : Dynamsoft excelle dans la numérisation par lots à haute vitesse, tandis que la prise en charge des fichiers PDF et la lecture de plusieurs codes-barres d'IronBarcode permettent de gérer efficacement les documents d'expédition. Envisagez de définir des zones de culture pour améliorer la vitesse. La lecture en flux continu permet un traitement efficace des documents sans fichiers temporaires. Les déploiements ASP.NET nécessitent une configuration de licence web.config appropriée.
Pour le secteur de la santé : Aspose.BarCode offre une prise en charge complète des formats, y compris les codes-barres du secteur de la santé, bien que la prise en charge GS1-128 d'IronBarcode couvre l'étiquetage des dispositifs médicaux. Les deux gèrent la lecture du code 39 pour l'identification du patient. Le seuil de confiance garantit une saisie de données précise. Pour les images de codes-barres 1-BPP utilisées dans l'étiquetage médical, une configuration appropriée garantit la qualité d'impression.
Pour le secteur manufacturier : les formats Data Matrix et PDF417 d'IronBarcode avec encodage Unicode gèrent le marquage de la chaîne d'approvisionnement mondiale. La nouvelle prise en charge des formats inclut les applications industrielles. Lors de la création de codes-barres à partir de données , la bibliothèque gère diverses entrées, y compris des données binaires. La fonction d'enregistrement des codes-barres prend en charge tous les principaux formats d'image.
// Manufacturing example: Create DataMatrix with production data
using IronBarCode;
using System.Text;
// Encode production data with Unicode support
var productionData = new StringBuilder();
productionData.AppendLine("PN: ABC-12345");
productionData.AppendLine("SN: 2024-001");
productionData.AppendLine("製造日: 2024-01-15"); // Unicode Japanese
productionData.AppendLine("Lot: A1B2C3");
var dataMatrix = BarcodeWriter.CreateBarcode(
productionData.ToString(),
BarcodeWriterEncoding.DataMatrix
);
dataMatrix.ResizeTo(200, 200)
.SetMargins(5)
.SaveAsImage("production-label.png");
// Generate PDF report with multiple barcodes
var pdf = BarcodeWriter.CreateBarcodePdf(
new string[] { "PART-001", "PART-002", "PART-003" },
BarcodeWriterEncoding.Code128,
300, 150
);
pdf.SaveAs("parts-inventory.pdf");
// Manufacturing example: Create DataMatrix with production data
using IronBarCode;
using System.Text;
// Encode production data with Unicode support
var productionData = new StringBuilder();
productionData.AppendLine("PN: ABC-12345");
productionData.AppendLine("SN: 2024-001");
productionData.AppendLine("製造日: 2024-01-15"); // Unicode Japanese
productionData.AppendLine("Lot: A1B2C3");
var dataMatrix = BarcodeWriter.CreateBarcode(
productionData.ToString(),
BarcodeWriterEncoding.DataMatrix
);
dataMatrix.ResizeTo(200, 200)
.SetMargins(5)
.SaveAsImage("production-label.png");
// Generate PDF report with multiple barcodes
var pdf = BarcodeWriter.CreateBarcodePdf(
new string[] { "PART-001", "PART-002", "PART-003" },
BarcodeWriterEncoding.Code128,
300, 150
);
pdf.SaveAs("parts-inventory.pdf");
Imports IronBarCode
Imports System.Text
' Encode production data with Unicode support
Dim productionData As New StringBuilder()
productionData.AppendLine("PN: ABC-12345")
productionData.AppendLine("SN: 2024-001")
productionData.AppendLine("製造日: 2024-01-15") ' Unicode Japanese
productionData.AppendLine("Lot: A1B2C3")
Dim dataMatrix = BarcodeWriter.CreateBarcode(productionData.ToString(), BarcodeWriterEncoding.DataMatrix)
dataMatrix.ResizeTo(200, 200) _
.SetMargins(5) _
.SaveAsImage("production-label.png")
' Generate PDF report with multiple barcodes
Dim pdf = BarcodeWriter.CreateBarcodePdf(New String() {"PART-001", "PART-002", "PART-003"}, BarcodeWriterEncoding.Code128, 300, 150)
pdf.SaveAs("parts-inventory.pdf")
-
Des solutions simples et gratuites comme ZXing .NET et
BarcodeLibfonctionnent pour les points de départ, mais manquent de fonctionnalités avancées et de précision de production. -
Aspose.
BarCodes'intègre en douceur aux flux de travail Aspose existants pour les projets à l'échelle de l'entreprise, bien que la référence API montre IronBarcode offre des méthodes plus intuitives. -
Le lecteur de codes-barres Dynamsoft offre une précision inégalée pour la numérisation mobile en temps réel à un prix premium nécessitant une évaluation minutieuse des licences .
- Pour une fonctionnalité de code-barres équilibrée et tout-en-un, IronBarcode se distingue. Cette approche offre des avantages indéniables : facilité d'utilisation, génération et numérisation efficaces, prise en charge étendue des formats et licences flexibles, ce qui en fait le meilleur choix global pour les développeurs C# créant des applications .NET modernes.
Avec IronBarcode, votre application peut immédiatement utiliser les fonctionnalités des codes-barres avec un minimum de code. La bibliothèque gère la complexité pour vous, qu'il s'agisse de créer des applications de bureau ou des services web Enterprise . Une documentation complète et des tutoriels permettent une prise en main rapide, tandis que des fonctionnalités telles que le traitement asynchrone et la prise en charge des flux garantissent l'évolutivité. Pour la création d'installateurs MSI , IronBarcode fournit des indications claires sur les dépendances DLL . Les mesures de sécurité de la bibliothèque garantissent un déploiement sûr et réglementé du secteur.
👉 Prêt à commencer ? Téléchargez la version d'essai gratuite IronBarcode , gratuite pour le développement, et découvrez comme il est facile d'ajouter des fonctionnalités de code-barres à vos applications .NET . Consultez le guide de démarrage rapide et explorez les démos pour voir IronBarcode en action. Pour des déploiements sécurisés, consultez les informations relatives aux CVE de sécurité et renseignez-vous sur l'application des clés de licence dans les environnements de production. La présentation des fonctionnalités illustre l'ensemble des capacités disponibles pour vos projets.
BarCode, BarcodeLib, et Dynamsoft Barcode Reader sont des marques déposées de leurs propriétaires respectifs. Ce site n'est ni affilié à, ni approuvé par, ni sponsorisé par ZXing .NET, Aspose.BarCode, BarcodeLib, ou Dynamsoft Barcode Reader. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.Questions Fréquemment Posées
Qu'est-ce qu'une bibliothèque de codes-barres ?
Une bibliothèque de codes-barres est un composant logiciel qui permet aux développeurs de générer et de lire des codes-barres dans divers formats, tels que les codes QR, UPC-A et Data Matrix, au sein de leurs applications.
Pourquoi devrais-je utiliser une bibliothèque de codes-barres en C# ?
Utiliser une bibliothèque de codes-barres en C# permet aux développeurs d'intégrer une fonctionnalité de codes-barres dans leurs applications, facilitant le stockage et le transfert de données, ainsi qu'améliorant le suivi et réduisant les erreurs dans les opérations commerciales.
Quelles sont les bibliothèques de codes-barres populaires for .NET ?
Certaines bibliothèques de codes-barres largement utilisées for .NET incluent IronBarcode, ZXing.Net, Aspose.BarCode, BarcodeLib et Dynamsoft Barcode Reader.
Quels sont les avantages de l'utilisation d'IronBarcode ?
IronBarcode offre une intégration facile, une gamme complète de formats de codes-barres pris en charge et des performances élevées, ce qui en fait un choix fiable pour les développeurs souhaitant mettre en œuvre des fonctionnalités de codes-barres dans leurs applications.
Quelle est la signification des codes QR dans les bibliothèques de codes-barres ?
Les codes QR sont un type de code-barres populaire pris en charge par la plupart des bibliothèques de codes-barres. Ils sont polyvalents, largement utilisés pour le partage rapide d'informations et peuvent stocker une grande quantité de données par rapport aux codes-barres traditionnels.
Comment IronBarcode se compare-t-il à ZXing.Net ?
IronBarcode offre un ensemble de fonctionnalités plus riche, y compris un meilleur support pour différents formats de codes-barres et une intégration plus facile, tandis que ZXing.Net est une option gratuite et open-source qui peut nécessiter plus de configuration.
Les bibliothèques de codes-barres peuvent-elles être utilisées dans les applications de santé ?
Oui, les bibliothèques de codes-barres peuvent être utilisées dans les applications de santé pour rationaliser des processus tels que l'identification des patients, le suivi des médicaments et la gestion des stocks, améliorant ainsi l'efficacité et réduisant les erreurs.
Quels types de codes-barres IronBarcode peut-il générer ?
IronBarcode peut générer une large gamme de codes-barres, y compris les codes QR, UPC-A, Code 128 et Data Matrix, parmi beaucoup d'autres.
Existe-t-il une version gratuite d'IronBarcode disponible ?
IronBarcode propose une version gratuite avec des fonctionnalités limitées, permettant aux développeurs d'évaluer ses capacités avant d'opter pour une version payante avec toutes les fonctionnalités.
À quoi servent les codes-barres Data Matrix ?
Les codes-barres Data Matrix sont utilisés pour encoder de grandes quantités de données dans un espace réduit, ce qui les rend idéaux pour les applications nécessitant un stockage de données compact et efficace, comme sur les petites étiquettes de produits.

