Wie lese ich Barcodes in C#?

C# BarCode Scanner: Lesen von Barcodes & QR-Codes in .NET-Anwendungen

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

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.

als Überschrift:2(Schnellstart: Ein Barcode sofort aus einer Datei lesen)

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.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronBarcode mit dem NuGet-Paketmanager.

    PM > Install-Package BarCode

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var results = IronBarCode.BarcodeReader.Read("path/to/barcode.png");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronBarcode in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

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.

Nutzen Sie IronBarcode heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer

Install-Package BarCode

Nach der Installation fügen Sie using IronBarCode; zu Ihren C#-Dateien hinzu, um auf die Barcode-Scanner-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.

Code128 barcode ready for scanning - contains text 'https://ironsoftware.com/csharp/barcode/' Ein Standard-Code128-Barcode, den IronBarcode sofort lesen kann
using IronBarCode;
using System;

// Read barcodes from the image file - supports PNG, JPG, BMP, GIF, and more
BarcodeResults results = BarcodeReader.Read("GetStarted.png");

// Check if any barcodes were detected
if (results != null && results.Count > 0)
{
    // Process each barcode found in the image
    foreach (BarcodeResult result in results)
    {
        // Extract the text value from the barcode
        Console.WriteLine("Barcode detected! Value: " + result.Text);

        // Additional properties available:
        // result.BarcodeType - The format (Code128, QR, etc.)
        // result.BinaryValue - Raw binary data if applicable
        // result.Confidence - Detection confidence score
    }
}
else
{
    Console.WriteLine("No barcodes detected in the image.");
}
using IronBarCode;
using System;

// Read barcodes from the image file - supports PNG, JPG, BMP, GIF, and more
BarcodeResults results = BarcodeReader.Read("GetStarted.png");

// Check if any barcodes were detected
if (results != null && results.Count > 0)
{
    // Process each barcode found in the image
    foreach (BarcodeResult result in results)
    {
        // Extract the text value from the barcode
        Console.WriteLine("Barcode detected! Value: " + result.Text);

        // Additional properties available:
        // result.BarcodeType - The format (Code128, QR, etc.)
        // result.BinaryValue - Raw binary data if applicable
        // result.Confidence - Detection confidence score
    }
}
else
{
    Console.WriteLine("No barcodes detected in the image.");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Methode BarcodeReader.Read gibt eine BarcodeResults-Sammlung zurück, die alle erkannten Barcodes enthält. Jedes BarcodeResult bietet Zugriff auf den Textwert des Barcodes, den Formattyp, die Positionskoordinaten und die 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.

using IronBarCode;

// Configure advanced reading options for difficult barcodes
BarcodeReaderOptions options = new BarcodeReaderOptions
{
    // Speed settings: Faster, Balanced, Detailed, ExtremeDetail
    // ExtremeDetail performs deep analysis for challenging images
    Speed = ReadingSpeed.ExtremeDetail,

    // Specify expected formats to improve performance
    // Use bitwise OR (|) to combine multiple formats
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,

    // Maximum number of barcodes to find (0 = unlimited)
    MaxParallelThreads = 4,

    // Crop region for faster processing of specific areas
    CropArea = null // Or specify a Rectangle
};

// Apply options when reading
BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

// Process detected barcodes
foreach (var barcode in results)
{
    Console.WriteLine($"Format: {barcode.BarcodeType}, Value: {barcode.Text}");
}
using IronBarCode;

// Configure advanced reading options for difficult barcodes
BarcodeReaderOptions options = new BarcodeReaderOptions
{
    // Speed settings: Faster, Balanced, Detailed, ExtremeDetail
    // ExtremeDetail performs deep analysis for challenging images
    Speed = ReadingSpeed.ExtremeDetail,

    // Specify expected formats to improve performance
    // Use bitwise OR (|) to combine multiple formats
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,

    // Maximum number of barcodes to find (0 = unlimited)
    MaxParallelThreads = 4,

    // Crop region for faster processing of specific areas
    CropArea = null // Or specify a Rectangle
};

// Apply options when reading
BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

// Process detected barcodes
foreach (var barcode in results)
{
    Console.WriteLine($"Format: {barcode.BarcodeType}, Value: {barcode.Text}");
}
Imports IronBarCode

' Configure advanced reading options for difficult barcodes
Private options As New BarcodeReaderOptions With {
	.Speed = ReadingSpeed.ExtremeDetail,
	.ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128,
	.MaxParallelThreads = 4,
	.CropArea = Nothing
}

' Apply options when reading
Private results As BarcodeResults = BarcodeReader.Read("TryHarderQR.png", options)

' Process detected barcodes
For Each barcode In results
	Console.WriteLine($"Format: {barcode.BarcodeType}, Value: {barcode.Text}")
Next barcode
$vbLabelText   $csharpLabel
QR code rotated 45 degrees demonstrating IronBarcode's rotation handling Ein gedrehter QR-Code, den IronBarcode mit erweiterten Optionen erfolgreich liest

Die Eigenschaft ExpectBarcodeTypes verbessert die Leistung erheblich, indem sie die Suche auf spezifische Formate beschränkt. Für maximale Genauigkeit bei problematischen Bildern kombinieren Sie Bildfilter mit automatischer Rotation:

using IronBarCode;

BarcodeReaderOptions options = new BarcodeReaderOptions
{
    // Apply image processing filters to enhance readability
    ImageFilters = new ImageFilterCollection
    {
        new AdaptiveThresholdFilter(9, 0.01f), // Handles varying lighting
        new ContrastFilter(2.0f),               // Increases contrast
        new SharpenFilter()                     // Reduces blur
    },

    // Automatically rotate to find barcodes at any angle
    AutoRotate = true,

    // Use multiple CPU cores for faster processing
    Multithreaded = true
};

BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

foreach (var result in results)
{
    Console.WriteLine($"Detected {result.BarcodeType}: {result.Text}");
    Console.WriteLine($"Confidence: {result.Confidence}%");
    Console.WriteLine($"Position: X={result.X}, Y={result.Y}");
}
using IronBarCode;

BarcodeReaderOptions options = new BarcodeReaderOptions
{
    // Apply image processing filters to enhance readability
    ImageFilters = new ImageFilterCollection
    {
        new AdaptiveThresholdFilter(9, 0.01f), // Handles varying lighting
        new ContrastFilter(2.0f),               // Increases contrast
        new SharpenFilter()                     // Reduces blur
    },

    // Automatically rotate to find barcodes at any angle
    AutoRotate = true,

    // Use multiple CPU cores for faster processing
    Multithreaded = true
};

BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

foreach (var result in results)
{
    Console.WriteLine($"Detected {result.BarcodeType}: {result.Text}");
    Console.WriteLine($"Confidence: {result.Confidence}%");
    Console.WriteLine($"Position: X={result.X}, Y={result.Y}");
}
Imports IronBarCode

Private options As New BarcodeReaderOptions With {
	.ImageFilters = New ImageFilterCollection From {
		New AdaptiveThresholdFilter(9, 0.01F),
		New ContrastFilter(2.0F),
		New SharpenFilter()
	},
	.AutoRotate = True,
	.Multithreaded = True
}

Private results As BarcodeResults = BarcodeReader.Read("TryHarderQR.png", options)

For Each result In results
	Console.WriteLine($"Detected {result.BarcodeType}: {result.Text}")
	Console.WriteLine($"Confidence: {result.Confidence}%")
	Console.WriteLine($"Position: X={result.X}, Y={result.Y}")
Next result
$vbLabelText   $csharpLabel

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

using System;
using IronBarCode;

try
{
    // Scan all pages of a PDF for barcodes
    BarcodeResults results = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

    if (results != null && results.Count > 0)
    {
        foreach (var barcode in results)
        {
            // Access barcode data and metadata
            string value = barcode.Text;
            int pageNumber = barcode.PageNumber;
            BarcodeEncoding format = barcode.BarcodeType;
            byte[] binaryData = barcode.BinaryValue;

            // Extract barcode image if needed
            System.Drawing.Bitmap barcodeImage = barcode.BarcodeImage;

            Console.WriteLine($"Found {format} on page {pageNumber}: {value}");
        }
    }
    else
    {
        Console.WriteLine("No barcodes found in the PDF.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error reading PDF: {ex.Message}");
}
using System;
using IronBarCode;

try
{
    // Scan all pages of a PDF for barcodes
    BarcodeResults results = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

    if (results != null && results.Count > 0)
    {
        foreach (var barcode in results)
        {
            // Access barcode data and metadata
            string value = barcode.Text;
            int pageNumber = barcode.PageNumber;
            BarcodeEncoding format = barcode.BarcodeType;
            byte[] binaryData = barcode.BinaryValue;

            // Extract barcode image if needed
            System.Drawing.Bitmap barcodeImage = barcode.BarcodeImage;

            Console.WriteLine($"Found {format} on page {pageNumber}: {value}");
        }
    }
    else
    {
        Console.WriteLine("No barcodes found in the PDF.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error reading PDF: {ex.Message}");
}
Imports System
Imports IronBarCode

Try
	' Scan all pages of a PDF for barcodes
	Dim results As BarcodeResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")

	If results IsNot Nothing AndAlso results.Count > 0 Then
		For Each barcode In results
			' Access barcode data and metadata
			Dim value As String = barcode.Text
			Dim pageNumber As Integer = barcode.PageNumber
			Dim format As BarcodeEncoding = barcode.BarcodeType
			Dim binaryData() As Byte = barcode.BinaryValue

			' Extract barcode image if needed
			Dim barcodeImage As System.Drawing.Bitmap = barcode.BarcodeImage

			Console.WriteLine($"Found {format} on page {pageNumber}: {value}")
		Next barcode
	Else
		Console.WriteLine("No barcodes found in the PDF.")
	End If
Catch ex As Exception
	Console.WriteLine($"Error reading PDF: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Mehrere Barcodes in den PDF-Seiten erkannt, Ausgabekonsole angezeigt Konsolenausgabe zeigt mehrere Barcodes, die auf verschiedenen PDF-Seiten gefunden wurden

Für spezifische Seitenbereiche oder erweiterte PDF-Bearbeitung verwenden Sie BarcodeReaderOptions:

// Read only specific pages to improve performance
BarcodeReaderOptions pdfOptions = new BarcodeReaderOptions
{
    // Scan pages 1-5 only
    PageNumbers = new[] { 1, 2, 3, 4, 5 },

    // PDF-specific settings
    PdfDpi = 300, // Higher DPI for better accuracy
    ReadBehindVectorGraphics = true
};

BarcodeResults results = BarcodeReader.ReadPdf("document.pdf", pdfOptions);
// Read only specific pages to improve performance
BarcodeReaderOptions pdfOptions = new BarcodeReaderOptions
{
    // Scan pages 1-5 only
    PageNumbers = new[] { 1, 2, 3, 4, 5 },

    // PDF-specific settings
    PdfDpi = 300, // Higher DPI for better accuracy
    ReadBehindVectorGraphics = true
};

BarcodeResults results = BarcodeReader.ReadPdf("document.pdf", pdfOptions);
' Read only specific pages to improve performance
Dim pdfOptions As New BarcodeReaderOptions With {
	.PageNumbers = { 1, 2, 3, 4, 5 },
	.PdfDpi = 300,
	.ReadBehindVectorGraphics = True
}

Dim results As BarcodeResults = BarcodeReader.ReadPdf("document.pdf", pdfOptions)
$vbLabelText   $csharpLabel

Erfahren Sie mehr über PDF-Barcode-Extraktionstechniken in unseren ausführlichen Beispielen.

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.

Mehrseitiges TIFF mit mehreren Barcodes in den Rahmen Eine mehrseitige TIFF-Datei mit Barcodes auf verschiedenen Rahmen

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");
}
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
Private 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
	If result.BarcodeImage IsNot Nothing Then
		result.BarcodeImage.Save($"barcode_frame_{frameNumber}.png")
	End If
Next result
$vbLabelText   $csharpLabel

Die gleichen BarcodeReaderOptions gelten für die TIFF-Verarbeitung einschließlich Bildfiltern und Drehoptionen. 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.

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 all documents in parallel
BarcodeResults batchResults = BarcodeReader.Read(documentBatch, batchOptions);

// Group results by source document
var resultsByDocument = batchResults.GroupBy(r => r.Filename);

foreach (var docGroup in resultsByDocument)
{
    Console.WriteLine($"\nDocument: {docGroup.Key}");
    foreach (var barcode in docGroup)
    {
        Console.WriteLine($"  - {barcode.BarcodeType}: {barcode.Text}");
    }
}
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 all documents in parallel
BarcodeResults batchResults = BarcodeReader.Read(documentBatch, batchOptions);

// Group results by source document
var resultsByDocument = batchResults.GroupBy(r => r.Filename);

foreach (var docGroup in resultsByDocument)
{
    Console.WriteLine($"\nDocument: {docGroup.Key}");
    foreach (var barcode in docGroup)
    {
        Console.WriteLine($"  - {barcode.BarcodeType}: {barcode.Text}");
    }
}
Imports Microsoft.VisualBasic
Imports IronBarCode

' List of documents to process - mix of formats supported
Private documentBatch = { "invoice1.pdf", "shipping_label.png", "inventory_sheet.tiff", "product_catalog.pdf" }

' Configure for batch processing
Private batchOptions As New BarcodeReaderOptions With {
	.Multithreaded = True,
	.MaxParallelThreads = Environment.ProcessorCount,
	.Speed = ReadingSpeed.Balanced,
	.ExpectBarcodeTypes = BarcodeEncoding.All
}

' Process all documents in parallel
Private batchResults As BarcodeResults = BarcodeReader.Read(documentBatch, batchOptions)

' Group results by source document
Private resultsByDocument = batchResults.GroupBy(Function(r) r.Filename)

For Each docGroup In resultsByDocument
	Console.WriteLine($vbLf & "Document: {docGroup.Key}")
	For Each barcode In docGroup
		Console.WriteLine($"  - {barcode.BarcodeType}: {barcode.Text}")
	Next barcode
Next docGroup
$vbLabelText   $csharpLabel

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:

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.

Starten Sie jetzt mit IronBarcode.
green arrow pointer

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.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,979,979 | Version: 2025.11 gerade veröffentlicht