IronBarCode MSI Barkodunu Tanıyamadı
Sorun
IronBarcode kutuphanesini kullanarak bir MSI barkodu oluştururken, BarcodeReader.Read yöntemi, oluşturulan MSI barkodunu okuyamadığı durumlar oluşur, bu da boş bir tarama ve barkoddan beklenen değere neden olur.
Çözüm
MSI barkodunun BarcodeReader.Read tarafından okunmasını sağlamak için, Read yöntemi için ikincil opsiyonel BarcodeReaderOptions parametresini sağlamalıyız. BarcodeReaderOptions içinde, okumaya çalıştığımız barkod türünü ExpectedBarcodeTypes değerini atayarak açıkça belirtiriz. Bu şekilde, Read yöntemi IronBarcode'dan üretilen MSI barkodunu ve herhangi bir dış MSI barkodunu tanıyacaktır.
Aşağıda BarcodeReaderOptions'i BarcodeReader.Read'ye nasıl uygulayacağınızı gösteren hızlı bir örnek bulunmaktadır.
Kod Örneği
// 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
Örnekte, önce yeni bir BarcodeReaderOptions değişkeni başlatırız ve ardından IronBarcode'a MSI barkodunu beklemesini talimat vererek ExpectedBarcodeTypes ile BarcodeEncoding.MSI enumunu atarız. Sonrasında, bir for döngüsünde barkodun değeri 12345 olacak şekilde yazdırırız, çünkü barcodeResults bir BarcodeResults dizisi döndürür ve her sonucun metin değeri için döngüden geçeriz.

