Zum Fußzeileninhalt springen
MIT ANDEREN KOMPONENTEN VERGLEICHEN

Wie man Barcodes in ZXing für C#-Entwickler scannt

Barcodes bieten eine klare und maschinenlesbare Möglichkeit, Daten darzustellen. Anfänglich bestanden Barcodes aus parallelen Linien mit unterschiedlichen Breiten und Abständen, die als Darstellung von Daten dienten. Diese traditionellen linearen oder eindimensionalen (1D) Barcodes konnten von spezialisierten optischen Geräten, sogenannten Barcode-Lesern, gescannt werden. Jedoch führte die Entwicklung von Barcodes zur Erfindung zweidimensionaler (2D) Barcodes, auch bekannt als Matrix-Codes. Im Gegensatz zu traditionellen Barcodes nutzen 2D-Barcodes Muster wie Rechtecke, Punkte und Sechsecke anstelle von Strichen. Um diese 2D-Barcodes zu lesen, sind spezielle optische Scanner-Konfigurationen verfügbar, oder alternative Methoden beinhalten die Verwendung einer Digitalkamera, die an einen Computer mit Dekodierungssoftware angeschlossen ist. Darüber hinaus können mobile Geräte wie Smartphones ihre integrierten Kameras und dedizierte Anwendungen nutzen, um als 2D-Barcode-Scanner zu fungieren.

ZXing Barcode Scanner

Zebra Crossing, oft bekannt als ZXing, ist ein Open-Source, multi-format 1D/2D Barcode Bildverarbeitungstoolkit, das in Java entwickelt wurde und Ports für andere Sprachen hat. Die Kern-Image-Dekodierungsbibliothek, der speziell for Java entwickelte Client-Code und der Android-Client Barcode Scanner sind nur einige der Module, die ZXing ausmachen. Viele weitere unabhängige Open-Source-Projekte basieren darauf.

1. Funktionen

  • Es kann URLs, Kontaktinformationen, Kalendereinträge und mehr verfolgen.
  • Es wurde mit Java SE-Anwendungen im Hinterkopf erstellt.
  • Durch Zielvorgabe ist die Integration von Barcode-Scannern möglich.
  • Es ist eine einfache Google Glass-Anwendung.

2. Verwendung von ZXing mit .NET

Öffnen Sie Visual Studio, wählen Sie "Neues Projekt" aus dem Dateimenü und dann "Konsolenanwendung". In diesem Artikel wählen wir die C#-Konsolen-App.

So scannen Sie Barcodes in ZXing für C#-Entwickler Abbildung 1

Geben Sie den Projektnamen und den Dateipfad in das entsprechende Textfeld ein. Klicken Sie auf Erstellen, um das ben\u00f6tigte .NET Framework auszuw\u00e4hlen.

Wenn Sie eine Konsolenanwendung ausgewählt haben, erstellt das Projekt jetzt seine Struktur und öffnet die program.cs-Datei, sodass Sie den Code des Programms eingeben und erstellen oder ausführen können.

So scannen Sie Barcodes in ZXing für C#-Entwickler Abbildung 2

2.1 Installation des ZXing-Barcodes

Geben Sie den folgenden Befehl in die NuGet-Paketmanager-Konsole ein, um die ZXing-Bibliothek zu installieren:

Install-Package ZXing.Net.Bindings.Windows.Compatibility

Alternativ können Sie das Paket mit dem NuGet-Paketmanager-Tool erhalten. Wie in der Abbildung unten gezeigt. Versuchen Sie, das erste Ergebnis zu installieren, das Sie auswählen.

So scannen Sie Barcodes in ZXing für C#-Entwickler Abbildung 3

2.2 Barcode mit ZXing lesen und schreiben

Wir können einen Barcode mit folgendem Beispielcode erstellen. ZXing ermöglicht es uns, mehr als 10 Arten von Barcode-Formaten zu erstellen.

using ZXing.Windows.Compatibility;

var options = new QrCodeEncodingOptions
{
    Width = 250,
    Height = 250,
};

var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
writer.Options = options;

// Encode the string into a QR code bitmap image
System.Drawing.Bitmap _bitmap = writer.Write("Hello world");

// Save the bitmap as a PNG file
_bitmap.Save("Demo1.png");
using ZXing.Windows.Compatibility;

var options = new QrCodeEncodingOptions
{
    Width = 250,
    Height = 250,
};

var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
writer.Options = options;

// Encode the string into a QR code bitmap image
System.Drawing.Bitmap _bitmap = writer.Write("Hello world");

// Save the bitmap as a PNG file
_bitmap.Save("Demo1.png");
$vbLabelText   $csharpLabel

Der obige Code legt die Höhe und Breite für QrCodeEncodingOptions fest. Dann wird eine Instanz von BarcodeWriter erstellt. Für den BarcodeWriter haben wir das Barcode-Format auf QR-Code eingestellt. Wir weisen die zuvor erstellten QR-Code-Optionen dem Writer zu. Die Methode Write in der Klasse BarcodeWriter kodiert die gegebene Zeichenkette in einen Barcode und gibt diesen als Bitmap-Bild zurück. Das Bild wird mithilfe der Save-Methode der Bitmap gespeichert. Nachfolgend das Ergebnis des Codes.

So scannen Sie Barcodes in ZXing für C#-Entwickler Abbildung 4

Das nächste Codebeispiel zeigt die Dekodierung eines Barcodes mit ZXing.

using ZXing.Windows.Compatibility;

// Load the barcode image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");

// Create a BarcodeReader object
var reader = new BarcodeReader();

// Decode the bitmap into a result
var result = reader.Decode(barcodeBitmap);

if (result != null)
{
    // Output the decoded text to the console
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
using ZXing.Windows.Compatibility;

// Load the barcode image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");

// Create a BarcodeReader object
var reader = new BarcodeReader();

// Decode the bitmap into a result
var result = reader.Decode(barcodeBitmap);

if (result != null)
{
    // Output the decoded text to the console
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
$vbLabelText   $csharpLabel

Im obigen Code laden wir zuerst das Bild in eine Bitmap und erstellen dann ein BarcodeReader Objekt. Die Funktion Decode ermöglicht es uns, die Bitmap als Parameter zu übergeben, wodurch Ergebnisse in verschiedenen Formaten zurückgegeben werden können. Wir verwenden die Eigenschaft Text, um den im Barcode kodierten Text zu erhalten.

So scannen Sie Barcodes in ZXing für C#-Entwickler Abbildung 5

IronBarcode

Mit Hilfe dieser Barcode-Bibliothek ist das Lesen und Erstellen von Barcodes einfach. Ein dynamischer Barcode ist einfach mit der IronBarcode-Bibliothek zu erstellen. Mit nur wenigen Zeilen Code kann diese einfache Bibliothek einen Barcode generieren, der uns hilft, Barcode-Bilder zu kodieren. IronBarcode ermöglicht es uns, Barcodes in Sprachen wie C# und VB.NET zu generieren.

1. Funktionen

  • IronBarcode kann die meisten Barcode-Bildformate und QR-Standards lesen und schreiben, einschließlich UPC A/E, Databar, EAN 8/13, MSI, Code 39/93/128, CodaB, RSS 14/Expanded und ITF.
  • Während des Scannens scannt IronBarcode Echtzeit-Video-Frames und kann Rotationen, Rauschen, Verzerrungen und Schiefstellungen korrigieren. Um die Lesegenauigkeit und Geschwindigkeit zu verbessern, verarbeitet IronBarcode Barcode-Bilder automatisch vor, während sie erstellt werden. Dynamische Barcodes werden häufig verwendet, da sie sich ändernde Inhalte ermöglichen.
  • IronBarcode's Fähigkeit, viele Kerne und Threads zu nutzen, ist vorteilhaft für Batch-Processing-Server.
  • In ein- und mehrseitigen Dokumenten kann IronBarcode automatisch einen oder mehrere Barcodes finden.

2. Verwendung von IronBarcode

Um die IronBarcode-Bibliothek in der Lösung zu nutzen, müssen Sie das erforderliche Paket herunterladen. Verwenden Sie hierzu den folgenden Befehl in der NuGet-Paketmanager-Konsole:

Install-Package BarCode

Alternativ können Sie den NuGet-Paketmanager verwenden, der alle Suchergebnisse anzeigt, um das "Barcode"-Paket zu suchen und herunterzuladen. Anschließend können Sie das wesentliche Paket auswählen, das Sie in das Programm herunterladen möchten.

So scannen Sie Barcodes in ZXing für C#-Entwickler Abbildung 6

3. Barcodes lesen und schreiben mit IronBarcode

Mit nur wenigen Zeilen Code können wir mithilfe der IronBarcode-Bibliothek schnell Barcodes erstellen. Zusätzlich ermöglicht es uns, den erstellten Barcode als separate Bilddatei zu speichern. Hier ist etwas Beispiel-C#-Code zum Erstellen eines Barcode-Etiketts mit einem Konsolenprogramm.

using IronBarCode;

// Create a QR code with a medium error correction level
QRCodeWriter.CreateQrCode("Your text here", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("demo.png");
using IronBarCode;

// Create a QR code with a medium error correction level
QRCodeWriter.CreateQrCode("Your text here", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("demo.png");
$vbLabelText   $csharpLabel

Dieser Code erzeugt eine 500 x 500 Pixel große Grafik mit mittlerer Fehlerkorrektur und speichert sie anschließend mit der Methode SaveAsPng an einem Dateispeicherort.

Das nächste Codebeispiel liest den im vorherigen Beispiel erstellten QR-Code.

using IronBarCode;

// Load the QR code image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");

// Read the barcode image
var reader = IronBarCode.BarcodeReader.Read(barcodeBitmap);

// Output the decoded value to the console
Console.WriteLine(reader.Values[0]);
Console.ReadKey();
using IronBarCode;

// Load the QR code image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");

// Read the barcode image
var reader = IronBarCode.BarcodeReader.Read(barcodeBitmap);

// Output the decoded value to the console
Console.WriteLine(reader.Values[0]);
Console.ReadKey();
$vbLabelText   $csharpLabel

Zuerst laden wir das Bild in eine Bitmap und lesen es dann mit der Methode Read der Klasse BarcodeReader aus. Wir verwenden die Values Eigenschaft des BarcodeResults Objekts, das von der Read Methode zurückgegeben wird, um den Inhalt zu erhalten, der aus dem QR-Code gelesen wurde.

Um mehr über ZXing zu erfahren und wie es sich im Vergleich zu IronBarcode verhält, lesen Sie diesen nächsten Blogbeitrag.

Unser Lesen von Barcodes-Tutorial bietet ebenfalls weitere Informationen darüber, wie Sie IronBarcode verwenden können, um Barcodes und QR-Codes zu lesen. Für weitere Code-Tutorials zu IronBarcode.

Abschluss

Der ZXing-Barcode-Scanner kann qualitativ hochwertige Barcodes erstellen, ist jedoch veraltet und unterstützt nur wenige Barcode-Formate. Er hat auch eingeschränkte Dokumentation und Produktunterstützung.

Andererseits ist IronBarcode sehr effizient und flexibel und funktioniert auf vielen Betriebssystemen. IronBarcode kann die Farben, Größen, Abstände und Beschriftungen von Barcodes ändern. Es unterstützt auch Crystal Reports.

Entwickler können IronBarcode kostenlos verwenden. Benutzer können eine Lizenz erwerben, um auf zusätzliche Funktionen zuzugreifen und ein volles Jahr Unterstützung und Produktaktualisierungen zu erhalten.

Hinweis:ZXing ist ein eingetragenes Warenzeichen seines jeweiligen Eigentümers. Diese Seite ist nicht mit, von oder gesponsert von ZXing verbunden. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Wie kann ich HTML in PDF in C# konvertieren?

Sie können die RenderHtmlAsPdf-Methode von IronPDF verwenden, um HTML-Strings in PDFs zu konvertieren. Sie können auch HTML-Dateien mit RenderHtmlFileAsPdf in PDFs konvertieren.

Was sind die Unterschiede zwischen IronBarcode und ZXing?

IronBarcode bietet größere Flexibilität und unterstützt ein breiteres Spektrum an Barcode-Formaten im Vergleich zu ZXing. Während ZXing effektiv zur Erstellung von Barcodes ist, ist es in Bezug auf Formatunterstützung und Dokumentation eingeschränkt. IronBarcode zeichnet sich durch Effizienz aus und ist mit verschiedenen Betriebssystemen kompatibel.

Wie scanne ich einen Barcode mit einem mobilen Gerät?

Mit dem ZXing Android-Client Barcode Scanner können Sie die Kamera Ihres Geräts zum Scannen von Barcodes nutzen. Für robustere Funktionen kann IronBarcode in mobile Anwendungen integriert werden, um die Barcode-Scan-Fähigkeiten zu erweitern.

Unterstützt IronBarcode 2D-Barcodes?

Ja, IronBarcode unterstützt sowohl 1D- als auch 2D-Barcodes, einschließlich QR-Codes, und ermöglicht vielseitiges Barcode-Lesen und -Erstellen.

Kann IronBarcode dynamische Barcode-Erstellung handhaben?

IronBarcode unterstützt die dynamische Barcode-Erstellung, sodass Sie Barcodes in Bezug auf Farbe, Größe, Abstand und Beschriftung an spezielle Anforderungen anpassen können.

Was wird benötigt, um IronBarcode in ein .NET-Projekt zu integrieren?

Um IronBarcode in ein .NET-Projekt zu integrieren, installieren Sie das Paket über die NuGet Paketmanager-Konsole mit Install-Package IronBarcode oder finden Sie es im NuGet Paketmanager.

Gibt es Kosten für die Verwendung von IronBarcode?

IronBarcode bietet eine kostenlose Testversion an, aber der Kauf einer Lizenz bietet zusätzliche Funktionen, Produktaktualisierungen und ein Jahr Support.

Kann IronBarcode verwendet werden, um Barcodes aus Video-Frames zu lesen?

Ja, IronBarcode kann Echtzeit-Videoframes verarbeiten und Korrekturen für Drehung, Rauschen, Verzerrung und Schiefstellung vornehmen, um die Genauigkeit und Geschwindigkeit beim Barcode-Scannen zu verbessern.

Welche Funktionen bietet ZXing für das Barcode-Scannen?

ZXing bietet ein Open-Source-Toolkit für das Barcode-Scannen, insbesondere für 1D- und 2D-Barcodes. Es umfasst eine Kernbild-Decoding-Bibliothek und einen Android-Client Barcode Scanner.

Welche Programmiersprachen werden von IronBarcode unterstützt?

IronBarcode unterstützt C# und VB.NET, was es ideal für Entwickler macht, die innerhalb des .NET-Frameworks arbeiten.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an