C# Barcode Scanner: Read Barcodes & QR Codes in .NET Applications
Müssen Sie schnell Barcodes oder QR-Codes in Ihrer .NET-Anwendung scannen? IronBarcode macht das Lesen von Barcodes einfach und zuverlässig, egal ob Sie perfekte digitale Bilder oder herausfordernde Echtweltfotos verarbeiten. Dieser Leitfaden zeigt Ihnen genau, wie Sie das Barcodelesen in C# mit praktischen Beispielen implementieren, die Sie sofort nutzen können.
Schnellstart: Entnehmen Sie sofort einen Barcode aus einer Datei
Dieses kurze Beispiel zeigt Ihnen, wie einfach es ist, mit IronBarcode zu beginnen. In nur einer Codezeile können Sie Barcodes aus einer Bilddatei lesen—keine komplexe Einrichtung erforderlich.
-
Installieren Sie IronBarcode mit NuGet Package Manager
-
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var results = IronBarCode.BarcodeReader.Read("path/to/barcode.png"); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronBarcode in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Installieren Sie IronBarcode von NuGet oder per DLL-Download
- Verwenden Sie die Methode
BarcodeReader.Read, um einen beliebigen Barcode oder QR-Code zu scannen - Lesen mehrerer BarCodes oder QR-Codes in einem einzigen Scan, einer PDF- oder einer Multiframe-TIFF-Datei
- Mit IronBarcode können Sie unvollkommene Scans und Fotos mit erweiterten Filtern dekodieren
- Laden Sie das Tutorial-Projekt herunter und beginnen Sie sofort mit dem Scannen
Wie installiere ich IronBarcode in meinem .NET-Projekt?
IronBarcode lässt sich einfach über den NuGet-Paketmanager oder durch direkten Download der DLL installieren. Die Installation über NuGet wird empfohlen, da sie Abhängigkeiten und Updates automatisch verwaltet.
Install-Package BarCode
Nach der Installation fügen Sie using IronBarCode; zu Ihren C#-Dateien hinzu, um auf die Barcode-Scan-Funktionalität zuzugreifen. Für detaillierte Installationsanweisungen in verschiedenen Entwicklungsumgebungen sehen Sie bitte unseren Installationsleitfaden.
Wie kann ich meinen ersten Barcode mit C# lesen?
Das Lesen von Barcodes mit IronBarcode erfordert nur eine einzige Codezeile. Die Bibliothek erkennt Barcode-Formate automatisch und extrahiert alle kodierten Daten.
Ein Standard-Code128-Barcode, den IronBarcode sofort lesen kann
:path=/static-assets/barcode/content-code-examples/tutorials/reading-barcodes-3.cs
using IronBarCode;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection() {
new AdaptiveThresholdFilter(),
},
// Uses machine learning to auto rotate the barcode
AutoRotate = true,
};
// Read barcode
BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);
Imports IronBarCode
Private options As New BarcodeReaderOptions() With {
.ImageFilters = New ImageFilterCollection() From {New AdaptiveThresholdFilter()},
.AutoRotate = True
}
' Read barcode
Private results As BarcodeResults = BarcodeReader.Read("TryHarderQR.png", options)
Die BarcodeReader.Read Methode gibt eine BarcodeResults Sammlung zurück, die alle erkannten Barcodes enthält. Jede BarcodeResult bietet Zugang zum Textwert des Barcodes, Formattyp, Positionskoordinaten und Binärdaten. Dieser Ansatz funktioniert nahtlos mit gängigen Barcode-Formaten einschließlich Code128, Code39, QR-Codes und Data Matrix-Codes.
Welche Optionen helfen beim Lesen von herausfordernden oder beschädigten Barcodes?
Das Scannen von Barcodes in der realen Welt umfasst oft unvollkommene Bilder - schiefe Winkel, schlechte Beleuchtung oder teilweise Schäden. Die erweiterten Optionen von IronBarcode bewältigen diese Herausforderungen effektiv.
:path=/static-assets/barcode/content-code-examples/tutorials/reading-barcodes-4.cs
using IronBarCode;
using System;
// Multiple barcodes may be scanned up from a single document or image. A PDF document may also used as the input image
BarcodeResults results = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (var pageResult in results)
{
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);
}
Imports IronBarCode
Imports System
' Multiple barcodes may be scanned up from a single document or image. A PDF document may also used as the input image
Private results As BarcodeResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Work with the results
For Each pageResult In results
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 pageResult
Ein gedrehter QR-Code, den IronBarcode mit erweiterten Optionen erfolgreich liest
Die ExpectBarcodeTypes Eigenschaft verbessert die Leistung erheblich, indem sie die Suche auf bestimmte Formate beschränkt. Für maximale Genauigkeit bei problematischen Bildern kombinieren Sie Bildfilter mit automatischer Rotation:
:path=/static-assets/barcode/content-code-examples/tutorials/reading-barcodes-5.cs
using IronBarCode;
// Multi frame TIFF and GIF images can also be scanned
BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff");
foreach (var pageResult in multiFrameResults)
{
//...
}
Imports IronBarCode
' Multi frame TIFF and GIF images can also be scanned
Private multiFrameResults As BarcodeResults = BarcodeReader.Read("Multiframe.tiff")
For Each pageResult In multiFrameResults
'...
Next pageResult
Diese erweiterten Funktionen machen IronBarcode ideal zum Scannen von Barcodes von Fotos, Sicherheitskameras oder Aufnahmen von mobilen Geräten, bei denen die Bildqualität erheblich variiert.
Wie scanne ich mehrere Barcodes aus PDF-Dokumenten?
Die PDF-Barcode-Scannung ist entscheidend für die Bearbeitung von Rechnungen, Versandetiketten und Inventardokumenten. IronBarcode liest effizient alle Barcodes auf jeder Seite.
Barcodes aus PDF-Dateien lesen
:path=/static-assets/barcode/content-code-examples/tutorials/reading-barcodes-6.cs
using IronBarCode;
// The Multithreaded property allows for faster barcode scanning across multiple images or PDFs. All threads are automatically managed by IronBarCode.
var ListOfDocuments = new[] { "image1.png", "image2.JPG", "image3.pdf" };
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Enable multithreading
Multithreaded = true,
};
BarcodeResults batchResults = BarcodeReader.Read(ListOfDocuments, options);
Imports IronBarCode
' The Multithreaded property allows for faster barcode scanning across multiple images or PDFs. All threads are automatically managed by IronBarCode.
Private ListOfDocuments = { "image1.png", "image2.JPG", "image3.pdf" }
Private options As New BarcodeReaderOptions() With {.Multithreaded = True}
Private batchResults As BarcodeResults = BarcodeReader.Read(ListOfDocuments, options)
Konsolenausgabe zeigt mehrere Barcodes, die auf verschiedenen PDF-Seiten gefunden wurden
Für bestimmte Seitenbereiche oder erweiterte PDF-Verarbeitung verwenden Sie BarcodeReaderOptions:
:path=/static-assets/barcode/content-code-examples/tutorials/reading-barcodes-7.cs
// Read only specific pages to improve performance
PdfBarcodeReaderOptions pdfOptions = new PdfBarcodeReaderOptions
{
// Scan pages 1-5 only
PageNumbers = new[] { 1, 2, 3, 4, 5 },
// PDF-specific settings
DPI = 300 // Higher DPI for better accuracy
};
BarcodeResults results = BarcodeReader.ReadPdf("document.pdf", pdfOptions);
Imports System
' Read only specific pages to improve performance
Dim pdfOptions As New PdfBarcodeReaderOptions With {
' Scan pages 1-5 only
.PageNumbers = New Integer() {1, 2, 3, 4, 5},
' PDF-specific settings
.DPI = 300 ' Higher DPI for better accuracy
}
Dim results As BarcodeResults = BarcodeReader.ReadPdf("document.pdf", pdfOptions)
Wie kann ich mehrseitige TIFF-Bilder verarbeiten?
Mehrseitige TIFF-Dateien, die in Dokumentenscans und Faxsystemen häufig sind, genießen die gleiche umfassende Unterstützung wie PDFs.
Eine mehrseitige TIFF-Datei mit Barcodes auf verschiedenen Rahmen
:path=/static-assets/barcode/content-code-examples/tutorials/reading-barcodes-8.cs
using IronBarCode;
// TIFF files are processed similarly to regular images
// Each frame is scanned automatically
BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff");
foreach (var result in multiFrameResults)
{
// Access frame-specific information
int frameNumber = result.PageNumber; // Frame number in TIFF
string barcodeValue = result.Text;
Console.WriteLine($"Frame {frameNumber}: {barcodeValue}");
// Save individual barcode images if needed
result.BarcodeImage?.Save($"barcode_frame_{frameNumber}.png");
}
Imports IronBarCode
' TIFF files are processed similarly to regular images
' Each frame is scanned automatically
Dim multiFrameResults As BarcodeResults = BarcodeReader.Read("Multiframe.tiff")
For Each result In multiFrameResults
' Access frame-specific information
Dim frameNumber As Integer = result.PageNumber ' Frame number in TIFF
Dim barcodeValue As String = result.Text
Console.WriteLine($"Frame {frameNumber}: {barcodeValue}")
' Save individual barcode images if needed
result.BarcodeImage?.Save($"barcode_frame_{frameNumber}.png")
Next
Die gleichen BarcodeReaderOptions gelten auch für die TIFF-Verarbeitung, einschließlich Bildfiltern und Drehungseinstellungen. Für detaillierte TIFF-Verarbeitungsszenarien, siehe unsere Bildverarbeitungstutorials.
Kann ich die Verarbeitung mit Multithreading beschleunigen?
Die Verarbeitung mehrerer Dokumente profitiert erheblich von der parallelen Verarbeitung. IronBarcode nutzt automatisch verfügbare CPU-Kerne für optimale Leistung.
:path=/static-assets/barcode/content-code-examples/tutorials/reading-barcodes-9.cs
using IronBarCode;
// List of documents to process - mix of formats supported
var documentBatch = new[]
{
"invoice1.pdf",
"shipping_label.png",
"inventory_sheet.tiff",
"product_catalog.pdf"
};
// Configure for batch processing
BarcodeReaderOptions batchOptions = new BarcodeReaderOptions
{
// Enable parallel processing across documents
Multithreaded = true,
// Limit threads if needed (0 = use all cores)
MaxParallelThreads = Environment.ProcessorCount,
// Apply consistent settings to all documents
Speed = ReadingSpeed.Balanced,
ExpectBarcodeTypes = BarcodeEncoding.All
};
// Process each document, tracking the source path externally
foreach (var document in documentBatch)
{
BarcodeResults results = BarcodeReader.Read(document, batchOptions);
Console.WriteLine($"\nDocument: {document}");
foreach (var barcode in results)
{
Console.WriteLine($" - {barcode.BarcodeType}: {barcode.Text}");
}
}
Imports IronBarCode
' List of documents to process - mix of formats supported
Dim documentBatch = New String() {
"invoice1.pdf",
"shipping_label.png",
"inventory_sheet.tiff",
"product_catalog.pdf"
}
' Configure for batch processing
Dim batchOptions As New BarcodeReaderOptions With {
' Enable parallel processing across documents
.Multithreaded = True,
' Limit threads if needed (0 = use all cores)
.MaxParallelThreads = Environment.ProcessorCount,
' Apply consistent settings to all documents
.Speed = ReadingSpeed.Balanced,
.ExpectBarcodeTypes = BarcodeEncoding.All
}
' Process each document, tracking the source path externally
For Each document In documentBatch
Dim results As BarcodeResults = BarcodeReader.Read(document, batchOptions)
Console.WriteLine(vbCrLf & "Document: " & document)
For Each barcode In results
Console.WriteLine($" - {barcode.BarcodeType}: {barcode.Text}")
Next
Next
Dieser parallele Ansatz verarbeitet Dokumente gleichzeitig und verkürzt die gesamte Scanzeit um bis zu 75 % bei Mehrkernsystemen. Für Barcode-Verarbeitung im Unternehmensmaßstab erkunden Sie unseren Leistungsoptimierungs-Leitfaden.
Zusammenfassung
IronBarcode verwandelt komplexes Barcode-Scannen in einfaches C#-Code. Egal, ob Sie Inventursysteme, Dokumentverarbeiter oder mobile Anwendungen entwickeln, die Bibliothek behandelt alles, von makellosen digitalen Barcodes bis zu herausfordernden Echtweltaufnahmen.
Abgedeckte Hauptfunktionen:
- Einzeilige Barcode-Erkennung aus Bildern
- Erweiterte Optionen für beschädigte oder gedrehte Barcodes
- Umfassendes PDF- und TIFF-Dokumentenscannen
- Hochleistungsstapelverarbeitung mit Multithreading
- Unterstützung aller wichtigen Barcode-Formate
Weiterführende Lektüre
Erweitern Sie Ihre Barcode-Verarbeitungskapazitäten mit diesen Ressourcen:
- Barcode Generierungstutorial - Erstellen Sie benutzerdefinierte Barcodes
- QR-Code-Anleitung - Spezialisierte QR-Code-Funktionen
BarcodeReaderClass Reference - Complete API documentation- Problembehandlungs-Leitfaden - Häufige Probleme und Lösungen
Quellcodedownloads
Führen Sie diese Beispiele selbst aus:
Bereit, Barcodelesen in Ihrer Anwendung zu implementieren? Starten Sie Ihre kostenlose Testversion und fügen Sie professionelles Barcodelesen zu Ihrem .NET-Projekt hinzu.
Häufig gestellte Fragen
Wie kann ich eine Barcode-Lese-Bibliothek in einem .NET-Projekt installieren?
Sie können die Bibliothek IronBarcode über den NuGet Paket-Manager mit dem Befehl dotnet add package BarCode installieren oder über die NuGet-Oberfläche von Visual Studio. Alternativ können Sie die DLL für die manuelle Installation herunterladen.
Was ist die Methode, um einen Barcode von einem Bild mit C# zu lesen?
Verwenden Sie die BarcodeReader.Read-Methode von IronBarcode mit einer einzigen Codezeile: var results = BarcodeReader.Read('image.png'); Diese Methode erkennt und liest alle im Bild vorhandenen Barcode-Formate.
Ist es möglich, mehrere Barcodes in einem einzelnen Bild oder Dokument zu erkennen?
Ja, IronBarcode kann automatisch mehrere Barcodes in einem Bild, PDF oder Multiframe-TIFF erkennen und lesen und gibt den Wert, den Typ und die Position jedes Barcodes in einer BarcodeResults-Sammlung zurück.
Wie lese ich Barcodes aus einem PDF mit C#?
Verwenden Sie IronBarcodes BarcodeReader.ReadPdf-Methode, um alle Seiten eines PDF-Dokuments zu scannen: var results = BarcodeReader.ReadPdf('document.pdf'); Jedes Ergebnis enthält die Seitennummer, auf der der Barcode gefunden wurde.
Was sollte ich tun, wenn die Barcode-Bilder unscharf oder gedreht sind?
Konfigurieren Sie BarcodeReaderOptions, um problematische Bilder zu handhaben, indem Sie AutoRotate = true setzen und Bildfilter wie SharpenFilter oder AdaptiveThresholdFilter anwenden. Verwenden Sie Speed = ExtremeDetail für eine bessere Genauigkeit.
Welche Barcode-Formate werden in .NET-Anwendungen unterstützt?
IronBarcode unterstützt alle wichtigen Barcode-Formate wie QR-Code, Code 128, Code 39, EAN-13, UPC-A, Data Matrix, PDF417 und mehr. Verwenden Sie BarcodeEncoding.All, um nach jedem unterstützten Format zu scannen.
Wie kann ich die Barcode-Scan-Leistung in einer C#-Anwendung verbessern?
Verbessern Sie die Leistung, indem Sie erwartete Barcode-Typen mit ExpectBarcodeTypes angeben, Multithread-Verarbeitung aktivieren und passende Speed-Einstellungen wählen. Für Batch-Aufgaben verwenden Sie BarcodeReader.Read mit Dateipfaden.
Was ist der empfohlene Ansatz für den Umgang mit Barcode-Lesefehlern?
Kapseln Sie das Barcode-Lesen in try-catch-Blöcke und überprüfen Sie, ob die Ergebnisse null oder leer sind. IronBarcode bietet detaillierte Fehlermeldungen und eine Confidence-Eigenschaft zur Anzeige der Erkennungszuverlässigkeit.
Kann ich Barcode-Bilder extrahieren, nachdem sie gescannt wurden?
Ja, IronBarcodes BarcodeResult enthält eine BarcodeImage-Eigenschaft, die ein Bitmap des erkannten Barcodes enthält, das separat gespeichert oder verarbeitet werden kann.
Wie lese ich Barcodes von bestimmten Seiten innerhalb eines PDF-Dokuments?
Setzen Sie die PageNumbers-Eigenschaft in BarcodeReaderOptions, um Seiten festzulegen: options.PageNumbers = new[] {1, 2, 3}; Dies optimiert die Leistung, indem nur die angegebenen Seiten gescannt werden.
Welche Bildformate sind für das Barcode-Scannen in .NET kompatibel?
IronBarcode unterstützt das Scannen in Formaten wie PNG, JPEG, BMP, GIF, TIFF (einschließlich Multiframe) und PDF. Sie können Bilder von Dateipfaden, Streams oder Byte-Arrays laden.
Wie kann ich in C# auf Binärdaten aus gescannten Barcodes zugreifen?
Verwenden Sie die BinaryValue-Eigenschaft von BarcodeResult, um Roh-Binärdaten zu erhalten, insbesondere nützlich für Barcodes, die nicht-textuelle Daten wie komprimierte Informationen oder Binärprotokolle enthalten.

