IRONBARCODE VERWENDEN

Verwendung eines Barcode Reader SDK für .NET

Jordi Bardia
Jordi Bardia
3. April 2025
Teilen Sie:

Das Scannen von Barcodes ist eine wesentliche Funktion für viele Anwendungen, von der Bestandsverwaltung bis hin zu Einzelhandel und Logistik. Durch die Integration von Barcode-Lesefunktionen in Ihre .NET-Anwendungen können Sie die Datenerfassung optimieren, Arbeitsabläufe automatisieren und die Effizienz verbessern.

IronBarcode ist eine leistungsstarke .NET-Bibliothek, die die Arbeit mit Barcodes einfach macht. Mit diesem Werkzeug können Sie Barcodes aus Bildern, Streams und PDF-Dateien lesen sowie QR-Codes erzeugen. Dieser Artikel zeigt Ihnen, wie Sie das Barcode-Scannen in Ihre .NET-Anwendung integrieren, wobei der Schwerpunkt auf der Erstellung einer API- oder Web-App-Integration liegt, um die Barcode-Scanning-Funktionalität bereitzustellen.

Beste Anwendungsfälle für die Integration von IronBarcode

IronBarcode ist ideal für:

  • Bestandsverwaltungssysteme – Automatisieren Sie das Barcode-Scannen, um Produkte und Lagerbestände zu verfolgen.
  • Logistikanwendungen – Verarbeiten Sie gescannte Barcode-Bilder für Versand, Empfang und Paketverfolgung.
  • Einzelhandels-POS-Systeme – Validieren Sie Barcode-Scans für Verkaufstransaktionen und Preisabfragen.
  • Dokumentenverarbeitung – Barcode-Daten aus PDF-Rechnungen, Quittungen oder Ausweisen extrahieren.

Wie man ein Barcode-Reader-SDK in .NET erstellt

Um einen Barcode-Reader zu erstellen, der in Ihrer Anwendung als Dienst bereitgestellt werden kann, integrieren Sie IronBarcode in eine REST-API oder Web-App. Unten finden Sie ein Beispiel, wie dies mit ASP.NET Core gemacht wird.

  1. Installieren Sie die .NET-Bibliothek zum Lesen von Barcodes in C#

  2. Erstellen Sie eine wiederverwendbare Barcode-Scan-Klasse.

  3. Entwickeln Sie Methoden zum Lesen von Barcodes aus verschiedenen Quellen.

  4. Integrieren Sie das Lesen von Barcode-Bildern in Ihre Anwendung.

  5. Testen und optimieren Sie die Leistung.

Bevor wir beginnen

Wenn Sie es noch nicht getan haben, laden Sie IronBarcode für Ihr Projekt herunter. Stellen Sie sicher, dass Sie den richtigen Lizenzschlüssel für Ihre beabsichtigte Nutzung haben. Bitte beachten Sie, dass die Bereitstellung der Funktionalität von IronBarcode über eine öffentliche API oder der Weiterverkauf als eigenständiger Dienst zusätzliche Lizenzen (SDK, OEM oder SaaS) erfordert. Stellen Sie sicher, dass Sie die Lizenzierungsbedingungen verstehen, bevor Sie fortfahren.

Erstellen einer Barcode-Scanner-Klasse

Sobald Sie IronBarcode eingerichtet und in Ihrem Projekt installiert haben, können Sie eine wiederverwendbare Barcode-Scanner-Klasse erstellen, die die Funktionalität von IronBarcode integriert und sie als API-Endpunkt bereitstellt.

using IronBarCode;
using System.IO;
namespace BarcodeIntegration
{
    public class BarcodeScanner
    {
        static BarcodeScanner()
        {
            // Set the license key
            IronBarCode.License.LicenseKey = "Your-License-Key";
        }
        // Read a barcode from an image file
        public string ReadBarcodeFromImage(string imagePath)
        {
            try
            {
                var barcode = BarcodeReader.Read(imagePath);
                return barcode?.ToString() ?? "No Barcode Found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
        // Read a barcode from a stream (e.g., file upload or memory stream)
        public string ReadBarcodeFromStream(Stream inputStream)
        {
            try
            {
                var barcode = BarcodeReader.Read(inputStream);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
        // Read a barcode from a PDF file
        public string ReadBarcodeFromPdf(string filePath)
        {
            try
            {
                var barcode = BarcodeReader.ReadPdf(filePath);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
    }
}
using IronBarCode;
using System.IO;
namespace BarcodeIntegration
{
    public class BarcodeScanner
    {
        static BarcodeScanner()
        {
            // Set the license key
            IronBarCode.License.LicenseKey = "Your-License-Key";
        }
        // Read a barcode from an image file
        public string ReadBarcodeFromImage(string imagePath)
        {
            try
            {
                var barcode = BarcodeReader.Read(imagePath);
                return barcode?.ToString() ?? "No Barcode Found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
        // Read a barcode from a stream (e.g., file upload or memory stream)
        public string ReadBarcodeFromStream(Stream inputStream)
        {
            try
            {
                var barcode = BarcodeReader.Read(inputStream);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
        // Read a barcode from a PDF file
        public string ReadBarcodeFromPdf(string filePath)
        {
            try
            {
                var barcode = BarcodeReader.ReadPdf(filePath);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
    }
}
Imports IronBarCode
Imports System.IO
Namespace BarcodeIntegration
	Public Class BarcodeScanner
		Shared Sub New()
			' Set the license key
			IronBarCode.License.LicenseKey = "Your-License-Key"
		End Sub
		' Read a barcode from an image file
		Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String
			Try
				Dim barcode = BarcodeReader.Read(imagePath)
				Return If(barcode?.ToString(), "No Barcode Found")
			Catch ex As Exception
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function
		' Read a barcode from a stream (e.g., file upload or memory stream)
		Public Function ReadBarcodeFromStream(ByVal inputStream As Stream) As String
			Try
				Dim barcode = BarcodeReader.Read(inputStream)
				Return If(barcode?.ToString(), "No barcode found")
			Catch ex As Exception
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function
		' Read a barcode from a PDF file
		Public Function ReadBarcodeFromPdf(ByVal filePath As String) As String
			Try
				Dim barcode = BarcodeReader.ReadPdf(filePath)
				Return If(barcode?.ToString(), "No barcode found")
			Catch ex As Exception
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Diese BarcodeScanner-Klasse abstrahiert die Funktionalität von IronBarcode, sodass sie sich leicht in jede .NET-Anwendung integrieren lässt. Lassen Sie uns einen Überblick über die verschiedenen hier enthaltenen Methoden ansehen:

Möglichkeiten zum Lesen von Barcodes

Jede der folgenden Methoden versucht, einen Barcode aus verschiedenen Arten von Eingaben zu lesen:

  • ReadBarcodeFromImage(string imagePath): Liest einen Barcode aus einer Bilddatei aus.
  • ReadBarcodeFromStream(Stream inputStream): Liest einen Barcode aus einem Eingabestream (z.B. Datei-Upload oder Speicher-Stream).
  • ReadBarcodeFromPdf(string filePath): Liest einen Barcode aus einer PDF-Datei.

    Jede Methode versucht, die Barcode-Daten zu lesen und gibt die Barcode-Zeichenfolge oder eine Fehlermeldung zurück, wenn kein Barcode gefunden wird oder eine Ausnahme auftritt.

Freigabe der Barcode-Erkennung über eine REST-API

Um externen Anwendungen die Nutzung Ihrer Barcode-Scan-Funktionalität zu ermöglichen, können Sie diese als REST-API mithilfe von ASP.NET Core bereitstellen. Nachfolgend finden Sie ein Beispiel dafür, wie Sie dies tun könnten:

using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcoderReader;
[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;
    public BarcodeController()
    {
        _barcodeScanner = new BarcodeScanner();
    }
    [HttpPost("read-from-image")]
    public IActionResult ReadFromImage(IFormFile file)
    {
        using var stream = file.OpenReadStream();
        var result = _barcodeScanner.ReadBarcodeFromStream(stream);
        return Ok(new { Barcode = result });
    }
}
using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcoderReader;
[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;
    public BarcodeController()
    {
        _barcodeScanner = new BarcodeScanner();
    }
    [HttpPost("read-from-image")]
    public IActionResult ReadFromImage(IFormFile file)
    {
        using var stream = file.OpenReadStream();
        var result = _barcodeScanner.ReadBarcodeFromStream(stream);
        return Ok(new { Barcode = result });
    }
}
Imports Microsoft.AspNetCore.Mvc
Imports System.IO
Imports Microsoft.AspNetCore.Http
Imports BarcoderReader
<ApiController>
<Route("api/barcode")>
Public Class BarcodeController
	Inherits ControllerBase

	Private ReadOnly _barcodeScanner As BarcodeScanner
	Public Sub New()
		_barcodeScanner = New BarcodeScanner()
	End Sub
	<HttpPost("read-from-image")>
	Public Function ReadFromImage(ByVal file As IFormFile) As IActionResult
		Dim stream = file.OpenReadStream()
		Dim result = _barcodeScanner.ReadBarcodeFromStream(stream)
		Return Ok(New With {Key .Barcode = result})
	End Function
End Class
$vbLabelText   $csharpLabel

Swagger UI

Verwendung eines Barcode Reader SDK für .NET: Abbildung 1

Von Pixabay hinzufügenHochladen

oder ein Bild hierher ziehen und ablegen

Alternativtext für Bild hinzufügen

Ausgabe

Verwendung eines Barcode Reader SDK für .NET: Abbildung 2

Von Pixabay hinzufügenHochladen

oder ein Bild hierher ziehen und ablegen

Alternativtext für Bild hinzufügen

Diese API stellt einen POST-Endpunkt zur Verfügung, an den Barcode-Bilder hochgeladen werden können, und die API wird die Barcode-Daten zurückgeben. Dies ermöglicht es anderen Systemen oder Frontend-Anwendungen, mit Ihrem Barcode-Scanner als Dienst zu interagieren.

Erweiterte Funktionen

Um das SDK weiter zu verbessern, erwägen Sie die Hinzufügung von:

  1. Unterstützung für mehrere Barcode-Typen: IronBarcode unterstützt die Fähigkeit, mehrere Barcodes zu lesen. Sie können Optionen hinzufügen, um Ihr SDK so zu konfigurieren, dass es mehrere Barcodes gleichzeitig akzeptiert. Zum Beispiel:
public string ReadBarcodeFromImage(string imagePath)
{
    try
    {
        BarcodeReaderOptions options = new BarcodeReaderOptions()
        {
            ExpectMultipleBarcodes = true,
            ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
        };
        foreach (var barcode in BarcodeReader.Read(imagePath, options))
        {
            return barcode.ToString();
        }
        return "No barcode found";
    }
    catch (Exception ex)
    {
        return $"Error reading barcode: {ex.Message}";
    }
}
public string ReadBarcodeFromImage(string imagePath)
{
    try
    {
        BarcodeReaderOptions options = new BarcodeReaderOptions()
        {
            ExpectMultipleBarcodes = true,
            ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
        };
        foreach (var barcode in BarcodeReader.Read(imagePath, options))
        {
            return barcode.ToString();
        }
        return "No barcode found";
    }
    catch (Exception ex)
    {
        return $"Error reading barcode: {ex.Message}";
    }
}
Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String
	Try
		Dim options As New BarcodeReaderOptions() With {
			.ExpectMultipleBarcodes = True,
			.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
		}
		For Each barcode In BarcodeReader.Read(imagePath, options)
			Return barcode.ToString()
		Next barcode
		Return "No barcode found"
	Catch ex As Exception
		Return $"Error reading barcode: {ex.Message}"
	End Try
End Function
$vbLabelText   $csharpLabel
  1. Fehlerbehandlung: Erweitern Sie die Fehlerbehandlung und das Logging, um Ihren SDK-Nutzern bessere Diagnosen zu ermöglichen.

  2. Stapelverarbeitung: Wenn Sie mehrere Barcodes aus einer Sammlung von Bildern verarbeiten möchten, können Sie Methoden erstellen, die ein Array von Bildern oder Streams aufnehmen.

  3. Anpassung: Bieten Sie Konfigurationsoptionen für Barcode-Erkennungsparameter wie Genauigkeit, Geschwindigkeit und unterstützte Barcode-Typen an.

Lizenzüberlegungen

Wie bereits erwähnt, ist das IronBarcode SDK zur Integration in Ihre internen Anwendungen gedacht, und die Bereitstellung über eine API erfordert eine zusätzliche Lizenzierung. Sie müssen die erforderliche Lizenzierung (SDK, OEM oder SaaS) sicherstellen, bevor Sie IronBarcode als Teil eines Dienstes, wie zum Beispiel einer öffentlichen API, bereitstellen.

Verkaufen Sie IronBarcode nicht als eigenständiges SDK weiter oder stellen Sie es über eine öffentlich zugängliche API bereit, ohne sicherzustellen, dass Ihre Lizenzierung diese Nutzung abdeckt.

Probieren Sie IronBarcode noch heute kostenlos aus

Erleben Sie die innovative Kraft von IronBarcode. Testen Sie unsere kostenlose Testversion und entdecken Sie nahtlose Barcode-Erstellung, -Lesung und -Bearbeitung für Ihre .NET-Anwendungen. Mit fortschrittlichen Funktionen, außergewöhnlicher Leistung und einer benutzerfreundlichen Oberfläche ist IronBarcode die ultimative Lösung für all Ihre Barcode-Bedürfnisse. Starten Sie noch heute Ihre kostenlose Testversion und heben Sie Ihre Projekte auf ein neues Niveau.

Jordi Bardia
Software-Ingenieur
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
NÄCHSTES >
So lesen Sie mehrere Barcodes mit IronBarcode: Zusammenfassung der Live-Demo

Sind Sie bereit, loszulegen? Version: 2025.4 gerade veröffentlicht

Lizenzen anzeigen >