IronBarcode n'a pas pu reconnaître le code-barres MSI
Problème
Lors de la création d'un BarCode MSI à l'aide de la bibliothèque IronBarcode, il arrive que la méthode BarcodeReader.Read ne parvienne pas à lire le BarCode MSI généré, ce qui entraîne un scan vide et l'absence de la valeur attendue du BarCode.
Solution
Pour garantir que BarcodeReader.Read puisse lire le BARCODE MSI, nous devons fournir le paramètre secondaire facultatif BarcodeReaderOptions pour la méthode Read. Dans BarcodeReaderOptions, nous spécifions explicitement le type de BarCode que nous essayons de lire en attribuant la valeur ExpectedBarcodeTypes. De cette manière, la méthode Read reconnaîtrait le BarCode MSI généré par IronBarcode ainsi que tout BarCode MSI externe.
Vous trouverez ci-dessous un bref exemple illustrant 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"
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 As New BarcodeReaderOptions With {.ExpectBarcodeTypes = BarcodeEncoding.MSI}
' Read barcode with additional barcodeReaderOptions from above
Dim barcodeResults = BarcodeReader.Read("msi.png", barcodeReaderOptions)
' Using a for loop and print out the result
For Each result As BarcodeResult In barcodeResults
Console.WriteLine(result.Text)
' Output: 12345
Next result
Dans l'exemple, nous instancions d'abord une nouvelle variable BarcodeReaderOptions, puis nous attribuons ExpectedBarcodeTypes à l'énumération BarcodeEncoding.MSI, en indiquant à IronBarcode d'attendre le BARCODE MSI à la place. Ensuite, nous affichons la valeur du BarCode, qui serait 12345, dans une boucle " for " car barcodeResults renvoie un tableau de BarcodeResults et nous parcourons chaque résultat pour obtenir la valeur textuelle.

