
Wie man Barcode-Scanner in C#-Windows-Apps verwendet
Dieses Tutorial zeigt, wie man QR-Codes und Barcodes in C#-Konsolenanwendungen und .NET-Windows-Forms-Anwendungen scannt, wobei die IronBarcode-Bibliothek als Beispiel dient.
Mit der IronBarcode-Bibliothek können mehrere Barcodes gleichzeitig gescannt und gelesen werden, und sie kann auch unvollkommene Bilder erfolgreich scannen. Lassen Sie uns zuerst klären, was ein Barcode-Scanner ist.
Was ist ein Barcode-Scanner?
Ein Barcode ist ein quadratisches oder rechteckiges Bild, das aus einer Reihe von parallelen schwarzen Linien und weißen Zwischenräumen unterschiedlicher Breite besteht. Ein Barcode-Scanner oder Barcode-Leser ist ein Gerät, das gedruckte Barcodes lesen, die im Barcode enthaltenen Daten dekodieren und die Daten an einen Computer senden kann.
Die folgenden Schritte zeigen, wie man mit Hilfe der IronBarcode-Bibliothek einen Barcode-Scanner erstellt.
Wie liest man Barcodes in C#?
- Erstellen Sie ein .NET Windows Forms Anwendungsprojekt in Microsoft Visual Studio
- Installieren Sie die Barcode-Bibliothek
- Jedes Barcode oder QR-Code lesen
- Lesen Sie mehrere Barcodes oder QR-Codes in einem Scan
- Lassen Sie IronBarcode von unvollkommenen Scans und Fotos lesen
1. Erstellen Sie eine Windows Forms Anwendung in Microsoft Visual Studio
Öffnen Sie Visual Studio > Klicken Sie auf Neues Projekt erstellen > Wählen Sie Windows Forms-Anwendungs-Template > Drücken Sie Nächste > Benennen Sie das Projekt > Drücken Sie Nächste > Wählen Sie Ihr Ziel .NET Framework aus > Klicken Sie auf die Erstellen-Schaltfläche.
Nachdem Sie das Projekt erstellt haben, entwerfen Sie das Formular wie folgt aus dem Visual Studio-Toolbox: PictureBox-, Label-, TextBox- und Button-Steuerelemente.
Barcode-Scanner
2. Installieren Sie die Barcode .NET Bibliothek in C#
Die Barcode-Bibliothek kann mit einer der folgenden drei Methoden installiert werden:
1. Paket-Manager-Konsole
Schreiben Sie den folgenden Befehl in die Package Manager-Konsole. Es lädt das Paket herunter und installiert es für Sie.
2. NuGet-Pakete Manager Lösung
Sie können die Barcode-Bibliothek auch mit der NuGet-Pakete-Lösung installieren. Folgen Sie einfach diesen Schritten:
Klicken Sie auf Tools > NuGet-Paketmanager > NuGet-Pakete für Lösung verwalten.
Dies öffnet den NuGet-Paketmanager für Sie. Klicken Sie auf Durchsuchen und suchen Sie nach Barcode, dann installieren Sie die Klassenbibliothek.
3. Download vom Link
Alternativ kann die IronBarCode.Dll heruntergeladen und als Referenz zu Ihrem Projekt hinzugefügt werden.
Nachdem Sie heruntergeladen haben, fügen Sie die folgenden Verweise zu Ihrem Barcode-Leser-Projekt hinzu.
using IronBarCode;Imports IronBarCode3. Lesen Sie jeden Barcode oder QR-Code
Das Lesen eines Barcodes oder QR-Codes in .NET ist unglaublich einfach mit der IronBarcode-Bibliothek mit .NET Barcode Reader.
Barcode-Scanner
Durchsuchen Sie in Ihrem Projekt das Bild, das Sie lesen möchten. Es wird in PictureBox geöffnet; jetzt klicken Sie auf "Code scannen". Der Text wird im Textfeld erscheinen.
Hier ist der Code für den "Durchsuchen"-Button, um ein Bild zu öffnen:
// Open file dialog
OpenFileDialog open = new OpenFileDialog();
// Image filters
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {
// Display image in PictureBox
pictureBox1.Image = new Bitmap(open.FileName);
// Store image file path in class data member. Initialize it as string ImageFileName;
ImageFileName = open.FileName;
}' Open file dialog
Dim open As New OpenFileDialog()
' Image filters
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp"
If open.ShowDialog() = DialogResult.OK Then
' Display image in PictureBox
pictureBox1.Image = New Bitmap(open.FileName)
' Store image file path in class data member. Initialize it as string ImageFileName;
ImageFileName = open.FileName
End IfDer Code für den "Code scannen"-Button:
// Read the barcode from the image file path
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
// Display the decoded text in TextBox
textBox1.Text = Result.Text;' Read the barcode from the image file path
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName)
' Display the decoded text in TextBox
textBox1.Text = Result.TextDer Barcode-Scanner zeigt die Barcodedaten im Textfeld wie folgt an:
Barcode-Bild, das mit C# gescannt werden soll
QR-Code-Scanner
In diesem Abschnitt behandelt die IronBarcode-Bibliothek effektiv reale Situationen mit schiefen QR-Codes. Obwohl der geneigte Winkel des QR-Codes von der Read-Methode behandelt und gelesen werden kann, kann es dennoch mehr Zeit zur Lösung in Anspruch nehmen. Die IronBarcode-Bibliothek bietet eine angepasste Möglichkeit, BarcodeReaderOptions als zusätzlichen Parameter zur Bearbeitung solcher Bilddaten zu verwenden. Der Code sieht wie folgt aus:
// Define a collection of image filters to apply
var filtersToApply = new ImageFilterCollection() {
new SharpenFilter(),
new InvertFilter(),
new ContrastFilter(),
new BrightnessFilter(),
new AdaptiveThresholdFilter(),
new BinaryThresholdFilter()
};
// Configure barcode reader options with specified filters
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() {
ImageFilters = filtersToApply,
ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
};
// Read the barcode/QR code with custom options and display result
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;' Define a collection of image filters to apply
Dim filtersToApply = New ImageFilterCollection() From {
New SharpenFilter(),
New InvertFilter(),
New ContrastFilter(),
New BrightnessFilter(),
New AdaptiveThresholdFilter(),
New BinaryThresholdFilter()
}
' Configure barcode reader options with specified filters
Dim myOptionsExample As New BarcodeReaderOptions() With {
.ImageFilters = filtersToApply,
.ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128
}
' Read the barcode/QR code with custom options and display result
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName, myOptionsExample)
textBox1.Text = Result.TextDer Ausgang wird wie folgt sein, nachdem Sie das schiefe QR-Code-Bild geöffnet haben:
Schräges QRCode-Bild
Mehrere Barcodes in einem einzigen Scan lesen
PDF-Dokumente
Barcode-Bilder können aus einer PDF-Datei gescannt werden, und jedes Ergebnis kann entsprechend den Wünschen angezeigt werden. Der folgende Beispielcode ermöglicht es Ihnen, mehrere Barcodes aus einer PDF-Datei zu lesen.
// Scan for multiple barcodes within a PDF document
BarcodeResult[] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results found
foreach (var PageResult in PDFResults) {
string Value = PageResult.Value;
int PageNum = PageResult.PageNumber;
System.Drawing.Bitmap Img = PageResult.BarcodeImage;
BarcodeEncoding BarcodeType = PageResult.BarcodeType;
byte[] Binary = PageResult.BinaryValue;
Console.WriteLine(PageResult.Value + " on page " + PageNum);
}' Scan for multiple barcodes within a PDF document
Dim PDFResults() As BarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Work with the results found
For Each PageResult In PDFResults
Dim Value As String = PageResult.Value
Dim PageNum As Integer = PageResult.PageNumber
Dim Img As System.Drawing.Bitmap = PageResult.BarcodeImage
Dim BarcodeType As BarcodeEncoding = PageResult.BarcodeType
Dim Binary() As Byte = PageResult.BinaryValue
Console.WriteLine(PageResult.Value & " on page " & PageNum)
Next PageResultBarcode und QR-Code in PDF-Dateien vorhanden:
C# - Barcodes von einem PDF lesen
Barcodes von unvollkommenen Bildern lesen
In realen Anwendungsfällen finden sich Barcodes oft mit Imperfektionen in Bildern, Scans, Miniaturansichten oder Fotografien und können digitales Rauschen enthalten oder schief sein. Dieser Abschnitt zeigt, wie man Barcodedaten aus Vorschaubildern liest.
Vorschaubilder
Die IronBarcode-Bibliothek verwendet den C# Barcode-Generator, der sogar in der Lage ist, ein beschädigtes Vorschaubild eines Barcodes zu lesen.
Automatische Barcodethumbnailgrößenkorrektur. Datei lesbar mit IronBarcode in C#
Es erkennt automatisch Barcodelbilder, die zu klein sind, um tatsächlich einen Barcode darzustellen, vergrößert dann den Maßstab und bereinigt alle digitalen Geräusche, die mit der Vorschau verbunden sind, sodass sie wieder lesbar sind.
// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");' Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
Dim SmallResult As BarcodeResult = BarcodeReader.Read("ThumbnailOfBarcode.gif")Zusammenfassung
IronBarcode ist eine vielseitige .NET-Softwarebibliothek und C# QR-Code-Generator zum Scannen und Lesen einer breiten Palette von Barcodelbildformaten, und es kann dies tun, unabhängig davon, ob diese Barcodes perfekte Bildschirmaufnahmen oder tatsächlich Fotografien, Scans oder andere unvollkommene reale Bilder sind. Zusätzlich bietet IronBarcode eine breite Palette an Anpassungsoptionen zur Verbesserung der Barcode-Lesegeschwindigkeit, wie z.B. Zuschnitteinstellungen oder Multithreading und die Genauigkeit des ML-Modells. Besuchen Sie die offizielle Dokumentationsseite für weitere Informationen zu IronBarcode.
Derzeit, wenn Sie die komplette Iron Suite kaufen, können Sie fünf Bibliotheken zum Preis von nur zwei erhalten.

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.
Verwandte Artikel


