IronBarcode konnte MSI-Barcode nicht erkennen

Curtis Chau
Curtis Chau
Updated: 20. August 2025

Problem

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

Lösung

Um sicherzustellen, dass die BarcodeReader.Read den MSI-Barcode lesen kann, müssen wir die sekundäre optionale BarcodeReaderOptions-Parameter für die Read-Methode bereitstellen. Innerhalb der BarcodeReaderOptions geben wir explizit den Barcode-Typ an, den wir versuchen zu lesen, 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 schnelles 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 
}

Im Beispiel instanziieren wir zuerst eine neue BarcodeReaderOptions-Variable und weisen dann ExpectedBarcodeTypes mit dem BarcodeEncoding.MSI-Enum zu, wodurch IronBarcode angewiesen wird, stattdessen den MSI-Barcode zu erwarten. Anschließend drucken wir den Wert des Barcodes aus, der 12345 wäre, in einer For-Schleife, da die barcodeResults ein Array von BarcodeResults zurückgibt und jede Ergebniswert für den Textwert durchläuft.

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 Handbücher.

Weiterlesen

Bereit anzufangen?

Nuget Downloads 2,540,041Version:2026.11gerade veröffentlicht