IronBarCode konnte den MSI BarCode nicht erkennen

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

Problem

Beim Erstellen eines MSI-Barcodes mit Hilfe der IronBarcode -Bibliothek kommt es vor, dass die Methode BarcodeReader.Read den generierten MSI-Barcode nicht lesen kann, was zu einem leeren Scan und dem erwarteten Wert des Barcodes führt.

Lösung

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

Nachfolgend 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 
}
$vbLabelText   $csharpLabel

In diesem Beispiel instanziieren wir zunächst eine neue Variable vom Typ BarcodeReaderOptions und weisen dann ExpectedBarcodeTypes den Enumerationswert BarcodeEncoding.MSI zu, wodurch IronBarcode angewiesen wird, stattdessen den MSI-Barcode zu erwarten. Anschließend geben wir den Wert des Barcodes aus, der 12345 wäre, in einer for-Schleife, da barcodeResults ein Array von BarcodeResults zurückgibt und wir jedes Ergebnis nach dem Textwert durchsuchen.

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 2,121,847 | Version: 2026.3 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package BarCode
Führen Sie ein Beispiel aus und beobachten Sie, wie Ihre Zeichenkette zu einem BarCode wird.