IronBarcode n'a pas pu reconnaître le code-barres MSI
Problème
Lors de la création d'un code-barres MSI en utilisant la bibliothèque IronBarcode, il existe des cas où la méthode BarcodeReader.Read est incapable de lire le code-barres MSI généré, résultant en une analyse vide et la valeur attendue du code-barres.
Solution
Pour garantir que le BarcodeReader.Read puisse lire le code-barres MSI, nous devons fournir le paramètre optionnel secondaire BarcodeReaderOptions pour la méthode Read. Dans le BarcodeReaderOptions, nous spécifions explicitement le type de code-barres que nous essayons de lire en assignant la valeur ExpectedBarcodeTypes. De cette façon, la méthode Read reconnaîtrait le code-barres MSI généré par IronBarcode ainsi que tout code-barres MSI externe.
Ci-dessous un rapide exemple de comment appliquer BarcodeReaderOptions à BarcodeReader.Read.
Exemple de Code
// Creating MSI Barcode with the value "12345"
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI);
// Save barcode as image
myBarcode.SaveAsImage("msi.png");
// Reading MSI
var barcodeReaderOptions = new BarcodeReaderOptions
{
// Assigning BarcodeEncoding.MSI to ExpectBarcodeType to ensure that IronBarcode expects MSI type barcodes specifically
ExpectBarcodeTypes = BarcodeEncoding.MSI,
};
// Read barcode with additional barcodeReaderOptions from above
var barcodeResults = BarcodeReader.Read("msi.png", barcodeReaderOptions);
// Using a for loop and print out the result
foreach (BarcodeResult result in barcodeResults)
{
Console.WriteLine(result.Text);
// Output: 12345
}' Creating MSI Barcode with the value "12345"
Dim myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI)
' Save barcode as image
myBarcode.SaveAsImage("msi.png")
' Reading MSI
Dim barcodeReaderOptions = New BarcodeReaderOptions With {
' Assigning BarcodeEncoding.MSI to ExpectBarcodeType to ensure that IronBarcode expects MSI type barcodes specifically
.ExpectBarcodeTypes = BarcodeEncoding.MSI
}
' Read barcode with additional barcodeReaderOptions from above
Dim barcodeResults = BarcodeReader.Read("msi.png", barcodeReaderOptions)
' Using a For Each loop and print out the result
For Each result As BarcodeResult In barcodeResults
Console.WriteLine(result.Text)
' Output: 12345
NextDans cet exemple, nous instancions d'abord une nouvelle variable BarcodeReaderOptions et ensuite assignons ExpectedBarcodeTypes avec l'énumération BarcodeEncoding.MSI, indiquant à IronBarcode d'attendre à la place un code-barres MSI. Ensuite, nous imprimons la valeur du code-barres, qui serait 12345, dans une boucle for alors que le barcodeResults renvoie un tableau de BarcodeResults et parcourons chaque résultat pour obtenir la valeur texte.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.