IronBarcode Não Conseguiu Reconhecer o Código de Barras MSI

This article was translated from English: Does it need improvement?
Translated
View the article in English

Problema

Ao criar um código de barras MSI usando a biblioteca IronBarcode , há casos em que o método BarcodeReader.Read não consegue ler o código de barras MSI gerado, resultando em uma leitura vazia e no valor esperado do código de barras.

Solução

Para garantir que o BarcodeReader.Read possa ler o código de barras MSI, devemos fornecer o parâmetro opcional secundário BarcodeReaderOptions para o método Read. Dentro de BarcodeReaderOptions, especificamos explicitamente o tipo de código de barras que estamos tentando ler, atribuindo o valor ExpectedBarcodeTypes. Dessa forma, o método Read reconheceria o código de barras MSI gerado pelo IronBarcode , bem como quaisquer códigos de barras MSI externos.

Abaixo, segue um exemplo rápido de como aplicar BarcodeReaderOptions a BarcodeReader.Read.

Exemplo de código

// 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
$vbLabelText   $csharpLabel

No exemplo, primeiro instanciamos uma nova variável BarcodeReaderOptions e, em seguida, atribuímos a ExpectedBarcodeTypes o enum BarcodeEncoding.MSI, instruindo o IronBarcode a esperar o código de barras MSI. Em seguida, imprimimos o valor do código de barras, que seria 12345, em um loop for, já que barcodeResults retorna uma matriz de BarcodeResults e percorremos cada resultado para obter o valor do texto.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 2,240,258 | Versão: 2026.5 just released
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package BarCode
executar um exemplo Veja seu fio se transformar em um código de barras.