Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

C# Barcode Scanner Schritt-für-Schritt-Tutorial

Dieses Tutorial zeigt, wie man einen Barcode-Scanner mit Hilfe einer Drittanbieterbibliothek erstellt. Mehrere Bibliotheken sind für diesen Zweck verfügbar, aber einige sind kostenpflichtig, einige bieten weniger Funktionalität und einige sind schwer zu implementieren. Es ist eine herausfordernde Aufgabe, eine umfassende und nützliche Bibliothek zu finden, die kostenlos, effizient und einfach zu implementieren ist.

Aus diesem Grund werden wir IronBarcode verwenden, da es am besten für die Entwicklung eines .NET Barcode-Scanners geeignet ist. Es hat auch den zusätzlichen Vorteil, dass es für die Entwicklung kostenlos ist, hocheffizient und einfach zu implementieren. IronBarcode ermöglicht es Entwicklern, Barcodes und QR-Codes innerhalb von .NET-Anwendungen und Websites zu lesen und zu schreiben. Das Lesen oder Schreiben von Barcodes erfordert mit dieser Bibliothek nur eine einzige Codezeile.

Die .NET Barcode-Bibliothek liest und schreibt die meisten Barcode- und QR-Code-Standards. Die unterstützten Barcode-Typen umfassen Code 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / Expanded, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS und QR. Die Barcode-Ergebnisdaten beinhalten Typ, Text, Binärdaten, Seite und Bilddateien.

Die Barcode-Schreib-API überprüft und verifiziert Format, Länge, Anzahl und Prüfnummer, um automatisch Codierungsfehler zu vermeiden. Der Barcodeschreiber ermöglicht Styling, Größenänderungen, Ränder, Umrandungen, Neufärbungen und das Hinzufügen von Textanmerkungen. Der Barcodeschreiber kann in Bilddateien wie BMP, PNG, GIF, TIFF und JPG schreiben. Er kann auch in PDF- oder HTML-Dateien schreiben.

Lassen Sie uns unseren Barcode-Scanner erstellen, um ihn besser zu verstehen.

Erstellen eines Visual Studio-Projekts

Erstellen Sie zunächst ein Projekt in Visual Studio, um eine Demonstrations-App zu entwickeln. Sie können auch ein bestehendes öffnen.

Folgen Sie den untenstehenden Schritten, um ein neues Konsolenanwendungsprojekt zu erstellen, um sich auf Kernfunktionen zu konzentrieren. Der gleiche Code kann in Web-API, MVC, Web Forms oder Windows Forms-Anwendungen implementiert werden.

  1. Öffnen Sie Visual Studio
  2. Klicken Sie auf Neues Projekt erstellen
  3. Wählen Sie Vorlage, klicken Sie auf die Schaltfläche Nächste
  4. Benennen Sie das Projekt, klicken Sie auf die Schaltfläche Nächste
  5. Wählen Sie Ziel-Framework, klicken Sie auf die Schaltfläche Nächste
  6. Klicken Sie auf die Schaltfläche Erstellen, klicken Sie auf die Schaltfläche Nächste

Ein neues Projekt wird wie unten gezeigt erstellt:

!C# Barcode Scanner Schritt-für-Schritt-Tutorial, Abbildung 1: Konsolenanwendung Konsolenanwendung

Der nächste Schritt besteht darin, das IronBarcode NuGet-Paket zu installieren, um seine Funktionen zu nutzen.

IronBarcode NuGet-Paket installieren

Sie können die Bibliothek über die Paket-Manager-Konsole, NuGet-Paket-Manager-Lösungen oder direkt von der NuGet Barcode-Paketseite installieren.

Befolgen Sie die folgenden Schritte:

  1. Klicken Sie auf Werkzeuge > NuGet-Paket-Manager > Paket-Manager-Konsole.

!C# Barcode Scanner Schritt-für-Schritt-Tutorial, Abbildung 2: Paket-Manager-Konsole UI Paket-Manager-Konsole UI

  1. Schreiben Sie den folgenden Befehl
Install-Package BarCode

Das Paket wird installiert.

Lassen Sie uns nun den Code für das Scannen eines Barcode-Bildes schreiben.

Einen Barcode aus einer Bilddatei scannen

Fügen Sie den folgenden Namespace hinzu

using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText   $csharpLabel

Schreiben Sie dann den folgenden Code in die Hauptfunktion, um Barcode-Daten aus einem Bild zu lesen.

// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");

// Print the barcode data to the console
Console.WriteLine(myBarcode);
// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");

// Print the barcode data to the console
Console.WriteLine(myBarcode);
' Read the barcode from an image file
Dim myBarcode = BarcodeReader.Read("D:\Barcode Images\mybarcode.jpeg")

' Print the barcode data to the console
Console.WriteLine(myBarcode)
$vbLabelText   $csharpLabel

The BarcodeReader class provides a Read function that takes a file path as an argument. Diese Funktion liest das Bild und gibt die Barcode-Daten zurück. Diese Methode liest Barcodes aus einer BMP, PNG, GIF, TIFF oder JPG mit detaillierten Einstellungen für die Entwicklerkontrolle, um Leistung gegen Genauigkeit für den gegebenen Anwendungsfall auszubalancieren.

Der Pfad enthält das folgende Barcode-Bild, das die Anwendung scannen wird.

Barcode-Bild

!C# Barcode Scanner Schritt-für-Schritt-Tutorial, Abbildung 3: Das Barcode-Bild, das in dieser Konsolenanwendung verwendet wird Das Barcode-Bild, das in dieser Konsolenanwendung verwendet wird

Lassen Sie uns dieses Barcode-Bild lesen, um zu sehen, ob dieses Programm das korrekte Ergebnis liefert.

Ausgabe

!C# Barcode Scanner Schritt-für-Schritt-Tutorial, Abbildung 4: Der Konsolenausgang beim Ausführen der Anwendung Der Konsolenausgang beim Ausführen der Anwendung

Es kann gesehen werden, dass das Programm eine genaue Ausgabe erzeugt hat.

Einen Barcode aus einem PDF scannen

Es gibt viele Umstände, in denen ein Barcode aus einer PDF-Rechnung gescannt werden muss. In diesem Beispiel scannen wir den Barcode aus der folgenden Rechnung.

PDF-Dokument

!C# Barcode Scanner Schritt-für-Schritt-Tutorial, Abbildung 5: Eine Rechnung im PDF-Format Eine Rechnung im PDF-Format

Betrachten Sie den folgenden Code-Schnipsel, um den Barcode aus einem PDF-Dokument zu scannen:

// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");

// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");

// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
' Read barcodes from a PDF file
Dim myBarcode = BarcodeReader.ReadPdf("D:\Barcode Images\invoice.pdf")

' Iterate through each barcode found and print its value
For Each barcodeData In myBarcode
	Console.WriteLine(barcodeData.Value)
Next barcodeData
$vbLabelText   $csharpLabel

Die BarcodeReader-Klasse stellt die ReadPdf-Funktion bereit, die einen Dateipfad als Argument nimmt. Diese Funktion sucht nach einem Barcode-Bild in einer PDF-Datei, scannt den gesamten Barcode und gibt dessen Daten in Form eines Arrays zurück. Diese Funktion liest Barcodes aus jedem im Dokument eingebetteten Bild.

Eine foreach-Schleife wird verwendet, um die Daten des Barcodes in der Konsole auszugeben.

Ausgabe

Die Rechnungsnummer wird auf der Konsole ausgegeben.

!C# Barcode Scanner Schritt-für-Schritt-Tutorial, Abbildung 6: Der Konsolenausgang zeigt die Rechnungsnummer Der Konsolenausgang zeigt die Rechnungsnummer

Barcodes aus mehreren Dateien scannen

Dieses Beispiel zeigt, wie man mehrere Barcodes gleichzeitig aus Bilddateien scannt.

Barcode-Bilder

!C# Barcode Scanner Schritt-für-Schritt-Tutorial, Abbildung 7: Barcode-Bilder, die im folgenden Beispiel verwendet werden Barcode-Bilder, die im folgenden Beispiel verwendet werden

Betrachten Sie die folgenden Code-Schnipsel, die mehrere Barcodes lesen und deren Ergebnis mithilfe von Multithreading scannen.

// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
    @"D:\Barcode Images\barcode1.jpg",
    @"D:\Barcode Images\barcode2.jpg",
    @"D:\Barcode Images\barcode3.jpg"
};

// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);

// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
    Console.WriteLine(barcodeValue);
}
// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
    @"D:\Barcode Images\barcode1.jpg",
    @"D:\Barcode Images\barcode2.jpg",
    @"D:\Barcode Images\barcode3.jpg"
};

// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);

// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
    Console.WriteLine(barcodeValue);
}
' Create a list of file paths containing barcode images
Dim barcodeList As New List(Of String) From {"D:\Barcode Images\barcode1.jpg", "D:\Barcode Images\barcode2.jpg", "D:\Barcode Images\barcode3.jpg"}

' Read barcodes asynchronously from multiple files
Dim batchResults = BarcodeReader.ReadAsync(barcodeList)

' Work with the results
For Each result In batchResults
	Dim barcodeValue As String = result.Text
	Console.WriteLine(barcodeValue)
Next result
$vbLabelText   $csharpLabel

Zuerst wird eine Liste erstellt, um den Dateipfad aller Barcode-Bilder zu halten. Dann wird die ReadAsync-Funktion aufgerufen, die einen List<string>-Typ als Argument nimmt und die Daten zurückgibt. Diese Methode liest Barcodes aus mehreren Bildern parallel. Mehrere Threads werden gestartet und automatisch verwaltet, um die Leistung bei Batch-Barcode-Leseaufgaben zu verbessern.

QR-Code scannen

Die Verwendung von QR-Codes nimmt rapide zu. Daher wird in diesem Abschnitt gezeigt, wie QR-Codes mit C# gescannt werden.

QR-Code

!C# Barcode Scanner Schritt-für-Schritt-Tutorial, Abbildung 8: Der QR-Code, der in dieser Demonstration verwendet wird Der QR-Code, der in dieser Demonstration verwendet wird

Betrachten Sie das folgende Code-Beispiel:

// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");

// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");

// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
' Read the QR code from an image file
Dim qrCodeResult = BarcodeReader.Read("D:\Barcode Images\QRcode.jpeg")

' Iterate through each result and print its text
For Each result In qrCodeResult
	Console.WriteLine(result.Text)
Next result
$vbLabelText   $csharpLabel

Die gleiche Read-Funktion wie oben diskutiert wird verwendet, um den QR-Code zu lesen. Dies ist die Einfachheit, die die IronBarcode-Bibliothek bietet, indem dieselbe Funktion und derselbe Code für verschiedene Bildquellen verwendet werden können.

Ausgabe

!C# Barcode Scanner Schritt-für-Schritt-Tutorial, Abbildung 9: Der Konsolenausgang des QR-Code-Lesers Der Konsolenausgang des QR-Code-Lesers

Zusammenfassung

Dieses Tutorial zeigte eine sehr einfache Möglichkeit, Barcodes aus einem einzelnen Bild zu scannen, Barcodes aus einem PDF-Dokument zu scannen und Barcodes aus mehreren Bildern und mehreren Dokumenten parallel zu scannen. Wir haben dieselbe Funktion für verschiedene Funktionalitäten verwendet, die sowohl Leistung als auch Benutzerfreundlichkeit bietet. IronBarcode bietet die Funktionalität, Barcodes und QR-Codes mit verschiedenen Konfigurationen zu erzeugen. Es gibt so viele Features, die in demselben Artikel nicht behandelt werden können. Bitte klicken Sie auf die Dokumentationsseite, um weitere Erkundungen von IronBarcode zu machen.

IronBarcode ist Teil der Iron Software Suite. Diese Suite enthält weitere sehr nützliche Bibliotheken, wie IronPDF zum Lesen und Schreiben von PDF-Dateien, IronXL zum Bearbeiten von Excel-Dateien, IronOCR zum Lesen von Text aus Bildern und IronWebScraper zum Extrahieren von Daten von verschiedenen Websites. Sie können die komplette Iron Suite zum Preis von zwei einzelnen Bibliotheken erwerben.

Häufig gestellte Fragen

Wie kann ich in C# einen Barcode-Scanner erstellen?

Um in C# einen Barcode-Scanner zu erstellen, können Sie IronBarcode verwenden. Beginnen Sie mit dem Einrichten eines Visual Studio-Projekts, installieren Sie das IronBarcode NuGet-Paket und nutzen Sie die BarcodeReader-Klasse, um Barcodes aus Bild- oder PDF-Dateien zu lesen.

Welche Barcode-Typen können mit einer .NET-Bibliothek gelesen werden?

IronBarcode kann eine Vielzahl von Barcodetypen lesen, einschließlich Code 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14/Expanded, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS und QR-Codes.

Kann ich Barcodes aus PDF-Dateien in C# lesen?

Ja, IronBarcode ermöglicht es Ihnen, Barcodes aus PDF-Dateien mit der ReadPdf-Methode zu lesen, die das gesamte PDF-Dokument nach Barcode-Bildern durchsucht und deren Daten zurückgibt.

Ist es möglich, mehrere Barcodes aus verschiedenen Bilddateien in C# zu scannen?

Ja, Sie können die ReadAsync-Funktion in IronBarcode verwenden, um mehrere Barcodes gleichzeitig aus verschiedenen Bilddateien zu scannen und dabei asynchrone Verarbeitung für verbesserte Leistung zu nutzen.

Wie installiere ich eine .NET-Bibliothek für Barcodemöglichkeiten?

Um IronBarcode zu installieren, verwenden Sie die Paket-Manager-Konsole in Visual Studio mit dem Befehl Install-Package Barcode, der die Bibliothek aus der NuGet-Paketquelle hinzufügt.

Können QR-Codes mit derselben Methode wie Barcodes gescannt werden?

Ja, Sie können QR-Codes mit derselben Read-Funktion in IronBarcode scannen, was eine konsistente Handhabung von sowohl Barcodes als auch QR-Codes aus verschiedenen Bildquellen ermöglicht.

Welche Vorteile bietet die Verwendung von IronBarcode zum Scannen von Barcodes?

IronBarcode ist benutzerfreundlich, effizient und anpassungsfähig. Es unterstützt eine Vielzahl von Barcodetypen und bietet einfache APIs zum Lesen und Schreiben von Barcodes und QR-Codes, was es ideal für .NET-Anwendungen macht.

Welche Bibliotheken sind in der Iron Software Suite enthalten?

Die Iron Software Suite umfasst Bibliotheken wie IronPDF zur PDF-Manipulation, IronXL für die Verarbeitung von Excel-Dateien, IronOCR zur optischen Zeichenerkennung und IronWebScraper zur Webdatenextraktion.

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