IronBarCode Could Not Recognize MSI Barcode

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

Problem

Beim Erstellen eines MSI-Barcodes mit der IronBarCode-Bibliothek gibt es Fälle, in denen die Methode BarcodeReader.Read den generierten MSI-Barcode nicht lesen kann, was zu einem leeren Scan und dem erwarteten Wert vom Barcode führt.

Lösung

Um sicherzustellen, dass BarcodeReader.Read den MSI-Barcode lesen kann, müssen wir den sekundären optionalen Parameter BarcodeReaderOptions für die Read-Methode bereitstellen. Innerhalb der BarcodeReaderOptions geben wir explizit den Barcode-Typ an, den wir zu lesen versuchen, indem wir den Wert ExpectedBarcodeTypes zuweisen. Auf diese Weise würde die Read-Methode den von IronBarCode generierten MSI-Barcode sowie alle externen MSI-Barcodes erkennen.

Unten ist ein kurzes Beispiel, wie man BarcodeReaderOptions auf BarcodeReader.Read anwendet.

Codebeispiel

// 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

Im Beispiel instanziieren wir zuerst eine neue Variable BarcodeReaderOptions und weisen dann ExpectedBarcodeTypes mit dem Enum BarcodeEncoding.MSI zu, um IronBarcode anzuweisen, stattdessen den MSI-Barcode zu erwarten. Danach geben wir den Wert des Barcodes in einer For-Schleife aus, da das barcodeResults ein Array von BarcodeResults zurückgibt und durch jedes Ergebnis für den Textwert durchläuft.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,935,276 | Version: 2025.11 gerade veröffentlicht