IronBarCode n'a pas pu reconnaître le code-barres MSI
Problème
Lors de la création d'un code-barres MSI à l'aide de la bibliothèque IronBarcode , il arrive que la méthode BarcodeReader.Read ne puisse pas lire le code-barres MSI généré, ce qui entraîne 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 secondaire optionnel BarcodeReaderOptions pour la méthode Read. Dans le BarcodeReaderOptions, nous spécifions explicitement le type de code-barres que nous essayons de lire en attribuant la valeur ExpectedBarcodeTypes. De cette manière, la méthode Read reconnaîtrait le code-barres MSI généré par IronBarcode ainsi que tous les codes-barres MSI externes.
Voici un exemple rapide de la façon d'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 assignons ExpectedBarcodeTypes avec l'énumération BarcodeEncoding.MSI, indiquant à IronBarcode de s'attendre au code-barres MSI à la place. Ensuite, nous imprimons la valeur du code-barres, qui serait 12345, dans une boucle for car barcodeResults renvoie un tableau de BarcodeResults et parcourons chaque résultat pour la valeur du texte.

