Comment Valider les Sommes de Contrôle des Codes-Barres et Utiliser la Lecture Sensible au Format en C
Les sommes de contrôle des codes-barres permettent de détecter les erreurs de substitution. Par exemple, une simple inversion de chiffres dans une étiquette EAN-13 peut envoyer un colis au mauvais entrepôt. La lecture prenant en compte le format offre une couche de validation supplémentaire en limitant le décodeur aux symbologies attendues. Cette approche réduit les faux positifs dus au bruit de fond et raccourcit le temps d'analyse en ignorant les détecteurs de format inutiles.
IronBarcode effectue automatiquement une vérification de somme de contrôle lors du décodage. L'algorithme de contrôle de chaque symbologie s'exécute par défaut, et les codes-barres qui échouent sont écartés avant que les résultats ne soient renvoyés. La propriété BarcodeReaderOptions.ExpectBarcodeTypes limite les lectures à des formats spécifiques, tandis que RemoveFalsePositive ajoute une analyse secondaire pour les lectures ambiguës.
Ce guide explique comment valider les sommes de contrôle des codes-barres, contraindre les lectures aux formats attendus et combiner les deux techniques dans une porte de qualité à plusieurs niveaux en utilisant BarcodeReaderOptions.
Guide rapide : Valider les Codes-Barres avec Contraintes de Sommes de Contrôle et de Format
Configurez BarcodeReaderOptions avec ExpectBarcodeTypes et RemoveFalsePositive pour contraindre les lectures aux symbologies attendues avec vérification automatique de la somme de contrôle.
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/quickstart.cs
using IronBarCode;
// Format-constrained read with false-positive removal.
// Limit the decoder to EAN-13 and Code128; checksums are
// validated automatically and failures are silently discarded.
var options = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.EAN13 | BarcodeEncoding.Code128,
RemoveFalsePositive = true,
Speed = ReadingSpeed.Balanced
};
BarcodeResults results = BarcodeReader.Read("label.png", options);
Imports IronBarCode
' Format-constrained read with false-positive removal.
' Limit the decoder to EAN-13 and Code128; checksums are
' validated automatically and failures are silently discarded.
Dim options As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.EAN13 Or BarcodeEncoding.Code128,
.RemoveFalsePositive = True,
.Speed = ReadingSpeed.Balanced
}
Dim results As BarcodeResults = BarcodeReader.Read("label.png", options)
Flux de travail minimal (5 étapes)
- Téléchargez la bibliothèque IronBarcode depuis NuGet
- Créez une instance
BarcodeReaderOptions - Définissez
ExpectBarcodeTypesaux symbologies présentes dans le pipeline - Activez
RemoveFalsePositivepour une vérification secondaire - Appelez
BarcodeReader.Readpour décoder ; les sommes de contrôle sont validées automatiquement lors du décodage.
Comment Valider les Sommes de Contrôle des Codes-Barres ?
IronBarcode valide les sommes de contrôle lors du décodage conformément aux spécifications de chaque symbologie. Par exemple, lors de la lecture d'un code-barres EAN-13, le chiffre de contrôle Mod10 est calculé à partir des 12 premiers chiffres et comparé au 13e. Si les chiffres ne correspondent pas, le code-barres est rejeté silencieusement et n'apparaît pas dans la collection BarcodeResults. Cette approche s'applique à tous les formats comportant un chiffre de contrôle obligatoire, notamment UPC-A, UPC-E, EAN-8, Code128, ITF et autres.
Ce modèle implicite diffère des bibliothèques qui exposent un basculement explicite. Le tableau ci-dessous compare les deux approches :
| Aspect | IronBarcode | Aspose.BarCode |
|---|---|---|
| Déclencheur de validation | Automatique ; s'exécute à chaque décodage | Explicite : Somme de contrôleValidation.On / Off / Default |
| Action du développeur requise | Aucun ; les codes-barres invalides sont exclus des résultats. | Configurez BarcodeSettings.Somme de contrôleValidation avant la lecture |
| Désactivation de la somme de contrôle | Non exposé ; les sommes de contrôle sont toujours appliquées aux formats obligatoires | Oui ; Somme de contrôleValidation.Off ignore la vérification |
| Formats avec somme de contrôle optionnelle (Code39) | Utilise Confidence + RemoveFalsePositive pour filtrer les lectures de faible qualité. | Activez explicitement cette fonction avec EnableSomme de contrôle.Oui |
| Comportement en cas d'échec | Le code-barres est silencieusement omis des résultats | Le code-barres peut comporter une valeur de contrôle distincte pour une inspection manuelle. |
Pour les symbologies avec des sommes de contrôle optionnelles, telles que Code39, la bibliothèque utilise un score de confiance et RemoveFalsePositive au lieu d'un basculement de somme de contrôle.
Entrée
Une étiquette de rayonnage d'entrepôt Code128 (chemin de réussite) et une image vierge sans code-barres (chemin d'échec).
warehouse-rack.png (chemin de réussite)
blank-no-barcode.png (chemin d'échec — aucun code-barres présent)
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/checksum-confidence.cs
using IronBarCode;
// Constrain reads to 1D formats and enable secondary verification.
// ConfidenceThreshold rejects decodes where the ML detector falls below 85%,
// acting as a quality gate for optional-checksum symbologies like Code39.
var options = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
RemoveFalsePositive = true,
ConfidenceThreshold = 0.85,
Speed = ReadingSpeed.Detailed
};
BarcodeResults results = BarcodeReader.Read("warehouse-rack.png", options);
foreach (BarcodeResult result in results)
{
// Each result has passed checksum validation (mandatory formats)
// and the 85% confidence threshold, so no additional filtering is needed.
Console.WriteLine($"[{result.BarcodeType}] {result.Value} page={result.PageNumber}");
}
if (results.Count == 0)
{
Console.Error.WriteLine("No valid barcodes found. Possible causes:");
Console.Error.WriteLine(" - Check digit mismatch (barcode silently rejected)");
Console.Error.WriteLine(" - Confidence below 85% threshold");
Console.Error.WriteLine(" - Format not in ExpectBarcodeTypes");
}
Imports IronBarCode
' Constrain reads to 1D formats and enable secondary verification.
' ConfidenceThreshold rejects decodes where the ML detector falls below 85%,
' acting as a quality gate for optional-checksum symbologies like Code39.
Dim options As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
.RemoveFalsePositive = True,
.ConfidenceThreshold = 0.85,
.Speed = ReadingSpeed.Detailed
}
Dim results As BarcodeResults = BarcodeReader.Read("warehouse-rack.png", options)
For Each result As BarcodeResult In results
' Each result has passed checksum validation (mandatory formats)
' and the 85% confidence threshold, so no additional filtering is needed.
Console.WriteLine($"[{result.BarcodeType}] {result.Value} page={result.PageNumber}")
Next
If results.Count = 0 Then
Console.Error.WriteLine("No valid barcodes found. Possible causes:")
Console.Error.WriteLine(" - Check digit mismatch (barcode silently rejected)")
Console.Error.WriteLine(" - Confidence below 85% threshold")
Console.Error.WriteLine(" - Format not in ExpectBarcodeTypes")
End If
Sortie
Chemin vers le succès
Le code-barres du rack d'entrepôt est revenu sous la forme RACK-A1-LOT-7382 sur la page 0. Il a franchi le seuil de confiance de 85 % et a réussi la validation de la somme de contrôle, il apparaît donc dans BarcodeResults.
Chemin de défaillance
Augmenter la valeur de ConfidenceThreshold au-dessus de sa valeur par défaut de 0,7 renforce encore ce seuil pour les symbologies de somme de contrôle optionnelles telles que Code39.
Une fois la validation de la somme de contrôle effectuée, l'étape suivante consiste à limiter le lecteur aux formats de codes-barres attendus par votre pipeline.
Comment Utiliser la Lecture de Codes-Barres Sensible au Format ?
L'énumération BarcodeEncoding est un type de drapeaux, permettant de combiner plusieurs formats à l'aide de l'opérateur OU bit à bit. Le paramètre ExpectBarcodeTypes limite le lecteur à ces formats et ignore la détection des autres.
| Valeur | Catégorie | Description du projet | Somme de contrôle |
|---|---|---|---|
BarcodeEncoding.All | Méta | Tous les formats pris en charge (comportement par défaut) | Par format |
BarcodeEncoding.AllOneDimensional | Méta | Tous les formats linéaires (1D) y compris empilés | Par format |
BarcodeEncoding.AllTwoDimensional | Méta | Tous les formats matriciels/grilles (2D) | Par format |
BarcodeEncoding.Code128 | 1D | Alphanumérique haute densité (logistique, expédition) | Obligatoire (pondéré Mod103) |
BarcodeEncoding.EAN13 | 1D | Identification du produit de détail, 13 chiffres | Obligatoire (Mod10) |
BarcodeEncoding.QRCode | 2D | Matrice haute capacité (URL, données structurées) | ECC Reed-Solomon |
BarcodeEncoding.Code39 | 1D | Alphanumérique (défense, automobile) | Optionnelle (Mod43) |
BarcodeEncoding.UPCA | 1D | Commerce de détail nord-américain, 12 chiffres | Obligatoire (Mod10) |
BarcodeEncoding.DataMatrix | 2D | Matrice compacte (électronique, pharmaceutique) | ECC Reed-Solomon |
BarcodeEncoding.PDF417 | 2D | Empilés (cartes d'identité, transport) | ECC Reed-Solomon |
Au-delà de la vitesse, la limitation du format défini agit comme un mécanisme de validation : les codes-barres de toute symbologie non répertoriée sont exclus des résultats, même s'ils sont physiquement présents dans l'image.
Entrée
Une étiquette d'expédition Code128 (chemin de réussite) et un code QR qui ne correspond pas à la contrainte Code128 uniquement (chemin d'échec).
shipping-label.png (chemin de réussite — Code128 correspond à la contrainte)
qr-format-mismatch.png (chemin d'échec — QR rejeté par le filtre Code128 uniquement)
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/format-constrained.cs
using IronBarCode;
// Constrained read: only Code128 barcodes are returned.
// Faster because the reader skips all other format detectors.
var constrainedOptions = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.Code128,
Speed = ReadingSpeed.Faster,
ExpectMultipleBarcodes = false
};
// Broad read: all supported formats are scanned.
// Useful for verification or when the image format is unknown.
var broadOptions = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.All,
Speed = ReadingSpeed.Detailed,
ExpectMultipleBarcodes = true
};
string imagePath = "shipping-label.png";
BarcodeResults constrained = BarcodeReader.Read(imagePath, constrainedOptions);
Console.WriteLine($"Constrained: {constrained.Count} Code128 barcode(s) found");
BarcodeResults broad = BarcodeReader.Read(imagePath, broadOptions);
Console.WriteLine($"Broad: {broad.Count} barcode(s) found across all formats");
foreach (BarcodeResult result in broad)
{
Console.WriteLine($" [{result.BarcodeType}] {result.Value}");
}
Imports IronBarCode
' Constrained read: only Code128 barcodes are returned.
' Faster because the reader skips all other format detectors.
Dim constrainedOptions As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.Code128,
.Speed = ReadingSpeed.Faster,
.ExpectMultipleBarcodes = False
}
' Broad read: all supported formats are scanned.
' Useful for verification or when the image format is unknown.
Dim broadOptions As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.All,
.Speed = ReadingSpeed.Detailed,
.ExpectMultipleBarcodes = True
}
Dim imagePath As String = "shipping-label.png"
Dim constrained As BarcodeResults = BarcodeReader.Read(imagePath, constrainedOptions)
Console.WriteLine($"Constrained: {constrained.Count} Code128 barcode(s) found")
Dim broad As BarcodeResults = BarcodeReader.Read(imagePath, broadOptions)
Console.WriteLine($"Broad: {broad.Count} barcode(s) found across all formats")
For Each result As BarcodeResult In broad
Console.WriteLine($" [{result.BarcodeType}] {result.Value}")
Next
Sortie
Chemin vers le succès
L'étiquette d'expédition a une valeur de SHIP-2024-00438. La lecture restreinte le détecte immédiatement puisque le filtre attend le code 128, et la lecture large confirme le même résultat pour tous les formats.
Chemin de défaillance
Les résultats vides d'une lecture contrainte constituent un signal de validation, et non une erreur ; Consignez l'écart pour examen.
Pour les pipelines qui mélangent les types de codes-barres (par exemple, un bordereau d'expédition avec à la fois un code produit EAN-13 et un numéro de suivi Code128), combinez les formats attendus :
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/multi-format-combine.cs
using IronBarCode;
// Combine multiple format flags with | to scan for more than one symbology
// in a single pass. Each BarcodeResult.BarcodeType identifies which format
// was decoded, enabling downstream routing logic per symbology.
var options = new BarcodeReaderOptions
{
ExpectBarcodeTypes = BarcodeEncoding.EAN13 | BarcodeEncoding.Code128,
ExpectMultipleBarcodes = true
};
Imports IronBarCode
' Combine multiple format flags with Or to scan for more than one symbology
' in a single pass. Each BarcodeResult.BarcodeType identifies which format
' was decoded, enabling downstream routing logic per symbology.
Dim options As New BarcodeReaderOptions With {
.ExpectBarcodeTypes = BarcodeEncoding.EAN13 Or BarcodeEncoding.Code128,
.ExpectMultipleBarcodes = True
}
Chaque BarcodeResult.BarcodeType renvoyé identifie le format qui a été décodé, permettant le routage en aval.
Quelles Symbologies Supportent la Validation de Somme de Contrôle ?
Tous les formats de codes-barres n'utilisent pas les sommes de contrôle de la même manière. Le tableau suivant associe les symbologies courantes à leurs caractéristiques de détection d'erreurs, ce qui indique avec quelle intensité définir ConfidenceThreshold et RemoveFalsePositive pour chaque format :
| Symbologie | Type de Somme de Contrôle | Obligatoire ? | Recommandation |
|---|---|---|---|
| EAN-13 / EAN-8 | Mod10 | Oui | Paramètres par défaut suffisants ; somme de contrôle toujours appliquée |
| UPC-A / UPC-E | Mod10 | Oui | Paramètres par défaut suffisants ; le chiffre de contrôle est corrigé automatiquement à l'écriture |
| Code128 | Mod103 pondéré | Oui | Les paramètres par défaut sont suffisants ; obligatoires selon les spécifications |
| Code39 | Mod43 | Optionnelle | Élevez ConfidenceThreshold à 0.8+ et activez RemoveFalsePositive |
| Codabar | Mod16 | Optionnelle | Identique à Code39 ; utiliser le niveau de confiance comme critère de qualité. |
| ITF | Mod10 | Optionnelle | Activez RemoveFalsePositive pour les formats entrelacés |
| Code QR / Matrice de données | ECC Reed-Solomon | Toujours | Correction des erreurs structurelles ; aucune configuration supplémentaire requise |
| PDF417 | ECC Reed-Solomon | Toujours | Identique aux QR/DataMatrix ; la correction d'erreurs est intégrée. |
Pour les symbologies 2D telles que QR, DataMatrix et PDF417, la correction d'erreurs est intégrée à la structure d'encodage. Ces formats peuvent se remettre de dommages partiels sans dépendre d'un simple chiffre de contrôle. Le ConfidenceThreshold s'applique toujours pendant la phase de détection ML, tandis que l'étape de décodage bénéficie de la redondance intégrée de la symbologie.
Maintenant que nous comprenons ces deux techniques, combinons-les en un seul modèle de validation prêt pour la production.
Comment Combiner les Sommes de Contrôle avec les Contraintes de Format ?
Le modèle prêt pour la production regroupe ExpectBarcodeTypes, RemoveFalsePositive, ConfidenceThreshold et Speed dans un seul objet BarcodeReaderOptions. Ensemble, ils forment une barrière à plusieurs niveaux : les contraintes de format restreignent l'espace de recherche, la validation de la somme de contrôle garantit l'intégrité des données, le seuillage de confiance filtre les décodages marginaux et la suppression des faux positifs ajoute une seconde étape de vérification.
Entrée
Trois codes-barres de scan de point de vente du répertoire pos-scans/ utilisés comme chemin de réussite : deux EAN-13 et un UPC-A. Une étiquette de rayonnage d'entrepôt Code128 est utilisée comme chemin de défaillance — la contrainte EAN-13/UPC-A la rejette et enregistre une ligne REJECT.
pos-scan-1.png (succès)
pos-scan-2.png (succès)
pos-scan-3.png (succès)
warehouse-rack.png (échec — Code 128 rejeté)
:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/combined-validation.cs
using IronBarCode;
// Layered validation for retail POS: EAN-13, UPC-A, and UPC-E only.
// Each property adds a distinct filter to the read pipeline.
var options = new BarcodeReaderOptions
{
// Layer 1: format constraint, accept only retail symbologies
ExpectBarcodeTypes = BarcodeEncoding.EAN13 | BarcodeEncoding.UPCA | BarcodeEncoding.UPCE,
// Layer 2: confidence threshold, reject decodes below 80%
ConfidenceThreshold = 0.8,
// Layer 3: false-positive removal, runs a secondary verification pass
RemoveFalsePositive = true,
Speed = ReadingSpeed.Balanced,
ExpectMultipleBarcodes = false,
// Require 3 agreeing scan lines to reduce phantom reads from noisy images
MinScanLines = 3
};
string[] scanFiles = Directory.GetFiles("pos-scans/", "*.png");
foreach (string file in scanFiles)
{
BarcodeResults results = BarcodeReader.Read(file, options);
if (results.Count == 0)
{
// No barcode passed all validation layers
Console.Error.WriteLine($"REJECT {Path.GetFileName(file)}: "
+ "no valid EAN-13/UPC barcode (checksum, confidence, or format mismatch)");
continue;
}
BarcodeResult primary = results.First();
// Post-read assertion: verify the decoded format matches expectations.
// ExpectBarcodeTypes already constrains the reader; this check documents
// intent and surfaces unexpected results during future changes.
if (primary.BarcodeType != BarcodeEncoding.EAN13
&& primary.BarcodeType != BarcodeEncoding.UPCA
&& primary.BarcodeType != BarcodeEncoding.UPCE)
{
Console.Error.WriteLine($"UNEXPECTED FORMAT {Path.GetFileName(file)}: "
+ $"got {primary.BarcodeType}, expected EAN-13/UPC");
continue;
}
Console.WriteLine($"OK {Path.GetFileName(file)}: [{primary.BarcodeType}] {primary.Value}");
}
Imports IronBarCode
Imports System.IO
' Layered validation for retail POS: EAN-13, UPC-A, and UPC-E only.
' Each property adds a distinct filter to the read pipeline.
Dim options As New BarcodeReaderOptions With {
' Layer 1: format constraint, accept only retail symbologies
.ExpectBarcodeTypes = BarcodeEncoding.EAN13 Or BarcodeEncoding.UPCA Or BarcodeEncoding.UPCE,
' Layer 2: confidence threshold, reject decodes below 80%
.ConfidenceThreshold = 0.8,
' Layer 3: false-positive removal, runs a secondary verification pass
.RemoveFalsePositive = True,
.Speed = ReadingSpeed.Balanced,
.ExpectMultipleBarcodes = False,
' Require 3 agreeing scan lines to reduce phantom reads from noisy images
.MinScanLines = 3
}
Dim scanFiles As String() = Directory.GetFiles("pos-scans/", "*.png")
For Each file As String In scanFiles
Dim results As BarcodeResults = BarcodeReader.Read(file, options)
If results.Count = 0 Then
' No barcode passed all validation layers
Console.Error.WriteLine($"REJECT {Path.GetFileName(file)}: " &
"no valid EAN-13/UPC barcode (checksum, confidence, or format mismatch)")
Continue For
End If
Dim primary As BarcodeResult = results.First()
' Post-read assertion: verify the decoded format matches expectations.
' ExpectBarcodeTypes already constrains the reader; this check documents
' intent and surfaces unexpected results during future changes.
If primary.BarcodeType <> BarcodeEncoding.EAN13 AndAlso
primary.BarcodeType <> BarcodeEncoding.UPCA AndAlso
primary.BarcodeType <> BarcodeEncoding.UPCE Then
Console.Error.WriteLine($"UNEXPECTED FORMAT {Path.GetFileName(file)}: " &
$"got {primary.BarcodeType}, expected EAN-13/UPC")
Continue For
End If
Console.WriteLine($"OK {Path.GetFileName(file)}: [{primary.BarcodeType}] {primary.Value}")
Next
Sortie
Chemin vers le succès
Les trois images de numérisation des points de vente ont été validées. Le lecteur a renvoyé les valeurs 5901234123471, 4006381333931 et 012345678905. Chacun correspondait au code EAN13 | UPCA | Le filtre UPCE` avait une somme de contrôle Mod10 valide et la confiance était supérieure à 0,8.
Chemin de défaillance
Définir MinScanLines sur 3 augmente le nombre minimum de lignes de balayage concordantes requises pour qu'un code-barres 1D soit valide ; La valeur par défaut est 2. Augmenter cette valeur réduit le risque de lectures fantômes dues à des lignes de balayage bruyantes, mais peut entraîner la non-détection de codes-barres fins ou partiellement endommagés. Dans les environnements de points de vente au détail avec des étiquettes imprimées nettes, une valeur de 3 est un choix prudent qui renforce la validation sans affecter le débit.
L'assertion post-lecture BarcodeType constitue une défense en profondeur : ExpectBarcodeTypes filtre déjà, mais la vérification explicite documente l'intention et détecte les dérives de configuration sans impact sur les performances. Pour optimiser la vitesse, ReadingSpeed.Faster convient aux étiquettes imprimées à la machine ; Detailed et ExtremeDetail récupèrent les codes-barres endommagés ou mal éclairés au prix de temps de numérisation plus longs.
Quelles Sont Mes Prochaines Étapes ?
Cet article a traité du modèle de validation de somme de contrôle implicite d'IronBarcode, de l'énumération des drapeaux BarcodeEncoding pour les lectures à format contraint et d'un modèle de validation combiné utilisant ExpectBarcodeTypes, ConfidenceThreshold, RemoveFalsePositive et MinScanLines comme portes de qualité superposées.
Pour des lectures supplémentaires, explorez ces ressources :
- Tutoriels IronBarcode — Lecture de Codes-Barres pour des parcours de lecture de bout en bout.
- Prévention des faux positifs pour le mécanisme
RemoveFalsePositiveen détail. - Exemples de Seuil de Confiance pour l'ajustement de détection basé sur ML.
- Formats de données de sortie pour la référence de propriété
BarcodeResult. - Comment Corriger les Images pour les filtres qui améliorent l'exactitude du décodage.
- Référence API de BarcodeReaderOptions pour la documentation complète de configuration.
- Référence API de BarcodeEncoding pour la liste complète des symbologies prises en charge.
Obtenez une licence d'essai gratuite pour tester chaque fonctionnalité dans un environnement en direct, ou consultez les options de licence lorsque le pipeline est prêt pour la production.
Questions Fréquemment Posées
Qu'est-ce que la validation de la somme de contrôle des codes-barres ?
La validation de la somme de contrôle des codes-barres est un processus qui garantit l'exactitude des données de code-barres en vérifiant la somme de contrôle calculée par rapport à la valeur encodée dans le code-barres. Cela aide à détecter les erreurs dans le processus de lecture.
Comment IronBarcode gère-t-il la validation des sommes de contrôle ?
IronBarcode gère implicitement la validation des sommes de contrôle en calculant la somme de contrôle pour les données de code-barres et en la vérifiant par rapport à la somme de contrôle encodée, assurant ainsi l'intégrité des données pendant le processus de lecture.
Qu'est-ce que les filtres BarcodeEncoding ?
Les filtres BarcodeEncoding dans IronBarcode vous permettent de spécifier quels formats de codes-barres lire ou ignorer lors de la lecture, permettant un traitement des codes-barres plus précis et efficace en se concentrant sur des types spécifiques de codes-barres.
IronBarcode peut-il effectuer une validation combinée ?
Oui, IronBarcode peut effectuer une validation combinée en vérifiant à la fois la somme de contrôle et le format des codes-barres pendant le processus de lecture, garantissant que seuls les codes-barres valides et correctement formatés sont traités.
Est-il possible de limiter les lectures de codes-barres par format en C# avec IronBarcode ?
Oui, IronBarcode vous permet de limiter les lectures de codes-barres en spécifiant les formats que vous souhaitez inclure ou exclure, garantissant que votre application ne traite que les types de codes-barres pertinents.
Pourquoi la lecture consciente du format est-elle importante dans le traitement des codes-barres ?
La lecture consciente du format est importante car elle permet à votre application de traiter uniquement des types spécifiques de codes-barres, améliorant ainsi la vitesse et la précision en ignorant les formats de codes-barres non pertinents ou non pris en charge.
Comment puis-je implémenter la lecture consciente du format dans IronBarcode ?
Pour implémenter la lecture consciente du format dans IronBarcode, utilisez des filtres BarcodeEncoding pour spécifier les formats de codes-barres que vous souhaitez lire. Cela peut être fait à travers l'API de la bibliothèque, qui permet un contrôle précis des exigences de lecture de codes-barres.
Quels sont les avantages d'utiliser IronBarcode pour la validation des codes-barres ?
IronBarcode offre plusieurs avantages pour la validation des codes-barres, y compris une vérification robuste des sommes de contrôle, une lecture consciente du format, et la capacité de gérer une large gamme de normes de codes-barres, garantissant une haute précision et flexibilité dans le traitement des codes-barres.

