Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

Einen Barcode-Reader-SDK für .NET verwenden

Das Barcode-Scannen ist eine wesentliche Funktion für viele Anwendungen, von der Bestandsverwaltung bis hin zu Einzelhandel und Logistik. Indem Sie das Barcode-Lesen in Ihre .NET-Anwendungen integrieren, können Sie die Datenerfassung vereinfachen, Arbeitsabläufe automatisieren und die Effizienz steigern.

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

Beste Anwendungsfälle für die Integration von IronBarcode

IronBarcode ist ideal für:

  • Bestandsverwaltungssysteme – Automatisieren Sie das Barcode-Scannen, um Produkte und Bestände nachzuverfolgen.
  • Logistikanwendungen – Verarbeiten Sie gescannte Barcode-Bilder für den Versand, Empfang und die Paketverfolgung.
  • Einzelhandel-POS-Systeme – Validieren Sie Barcode-Scans für Verkaufsabwicklungen und Preisabfragen.
  • Dokumentenverarbeitung – Extrahieren Sie Barcodedaten aus PDF-Rechnungen, -Belegen oder -Ausweiskarten.

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

Um einen Barcode-Reader zu erstellen, der als Service in Ihrer Anwendung angeboten werden kann, integrieren Sie IronBarcode in eine REST-API oder Web-App. Nachfolgend finden Sie ein Beispiel, wie dies mit ASP.NET Core erreicht werden kann.

  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

Falls 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. Beachten Sie, dass die Bereitstellung der Funktionalität von IronBarcode über eine öffentliche API oder der Weiterverkauf als eigenständiger Service zusätzliche Lizenzen erfordert (SDK, OEM oder SaaS). Stellen Sie sicher, dass Sie die Lizenzierungsüberlegungen verstehen, bevor Sie fortfahren.

Erstellung 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";
        }

        // Method to read a barcode from an image file
        public string ReadBarcodeFromImage(string imagePath)
        {
            try
            {
                // Try to read the barcode from the given image path
                var barcode = BarcodeReader.Read(imagePath);
                return barcode?.ToString() ?? "No Barcode Found"; // Return the barcode string or indicate no barcode was found
            }
            catch (Exception ex)
            {
                // Return an error message if an exception occurs
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a stream (e.g., file upload or memory stream)
        public string ReadBarcodeFromStream(Stream inputStream)
        {
            try
            {
                // Try to read the barcode from the given stream
                var barcode = BarcodeReader.Read(inputStream);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a PDF file
        public string ReadBarcodeFromPdf(string filePath)
        {
            try
            {
                // Try to read the barcode from the given PDF file path
                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";
        }

        // Method to read a barcode from an image file
        public string ReadBarcodeFromImage(string imagePath)
        {
            try
            {
                // Try to read the barcode from the given image path
                var barcode = BarcodeReader.Read(imagePath);
                return barcode?.ToString() ?? "No Barcode Found"; // Return the barcode string or indicate no barcode was found
            }
            catch (Exception ex)
            {
                // Return an error message if an exception occurs
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a stream (e.g., file upload or memory stream)
        public string ReadBarcodeFromStream(Stream inputStream)
        {
            try
            {
                // Try to read the barcode from the given stream
                var barcode = BarcodeReader.Read(inputStream);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a PDF file
        public string ReadBarcodeFromPdf(string filePath)
        {
            try
            {
                // Try to read the barcode from the given PDF file path
                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

		' Method to read a barcode from an image file
		Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String
			Try
				' Try to read the barcode from the given image path
				Dim barcode = BarcodeReader.Read(imagePath)
				Return If(barcode?.ToString(), "No Barcode Found") ' Return the barcode string or indicate no barcode was found
			Catch ex As Exception
				' Return an error message if an exception occurs
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function

		' Method to read a barcode from a stream (e.g., file upload or memory stream)
		Public Function ReadBarcodeFromStream(ByVal inputStream As Stream) As String
			Try
				' Try to read the barcode from the given stream
				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

		' Method to read a barcode from a PDF file
		Public Function ReadBarcodeFromPdf(ByVal filePath As String) As String
			Try
				' Try to read the barcode from the given PDF file path
				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, was es einfach macht, es in jede .NET-Anwendung zu integrieren. Schauen wir uns eine Aufschlüsselung der hier enthaltenen verschiedenen Methoden an:

Methoden zum Lesen von Barcodes

Jede der folgenden Methoden versucht, einen Barcode aus verschiedenen Eingabetypen zu lesen:

  • ReadBarcodeFromImage(string imagePath): Liest einen Barcode aus einer Bilddatei.
  • 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 Barcodedaten auszulesen und gibt die Barcode-Zeichenfolge oder eine Fehlermeldung zurück, falls kein Barcode gefunden wird oder ein Fehler auftritt.

Offenlegung des Barcode-Lesens über eine REST-API

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

using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcodeIntegration;

[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;

    public BarcodeController()
    {
        // Initialize the BarcodeScanner class
        _barcodeScanner = new BarcodeScanner();
    }

    // POST endpoint to read barcode from an uploaded image
    [HttpPost("read-from-image")]
    public IActionResult ReadFromImage(IFormFile file)
    {
        using var stream = file.OpenReadStream();
        var result = _barcodeScanner.ReadBarcodeFromStream(stream);
        return Ok(new { Barcode = result }); // Return the barcode reading result
    }
}
using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcodeIntegration;

[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;

    public BarcodeController()
    {
        // Initialize the BarcodeScanner class
        _barcodeScanner = new BarcodeScanner();
    }

    // POST endpoint to read barcode from an uploaded image
    [HttpPost("read-from-image")]
    public IActionResult ReadFromImage(IFormFile file)
    {
        using var stream = file.OpenReadStream();
        var result = _barcodeScanner.ReadBarcodeFromStream(stream);
        return Ok(new { Barcode = result }); // Return the barcode reading result
    }
}
Imports Microsoft.AspNetCore.Mvc
Imports System.IO
Imports Microsoft.AspNetCore.Http
Imports BarcodeIntegration

<ApiController>
<Route("api/barcode")>
Public Class BarcodeController
	Inherits ControllerBase

	Private ReadOnly _barcodeScanner As BarcodeScanner

	Public Sub New()
		' Initialize the BarcodeScanner class
		_barcodeScanner = New BarcodeScanner()
	End Sub

	' POST endpoint to read barcode from an uploaded image
	<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}) ' Return the barcode reading result
	End Function
End Class
$vbLabelText   $csharpLabel

Swagger UI

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

Ausgabe

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

Diese API bietet einen POST-Endpunkt, an dem Barcode-Bilder hochgeladen werden können, und die API gibt die Barcodedaten zurück. Dies ermöglicht es anderen Systemen oder Frontend-Anwendungen, mit Ihrem Barcode-Scanner als Service zu interagieren.

Erweiterte Funktionen

Um das SDK weiter zu verbessern, sollten Sie erwägen, hinzuzufügen:

  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 zu konfigurieren, damit mehrere Barcodes gleichzeitig akzeptiert werden. 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
  2. Fehlerbehandlung: Erweitern Sie die Fehlerbehandlung und das Logging, um bessere Diagnosen für Ihre SDK-Benutzer bereitzustellen.
  3. Batch-Verarbeitung: 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.
  4. 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 für die Integration in interne Anwendungen gedacht, und die Bereitstellung über eine API erfordert zusätzliche Lizenzen. Sie müssen die erforderlichen Lizenzen (SDK, OEM oder SaaS) sicherstellen, bevor Sie IronBarcode als Teil eines Dienstes, wie einer öffentlichen API, bereitstellen.

Verkaufen Sie IronBarcode nicht als eigenständiges SDK und veröffentlichen Sie es nicht über eine öffentlich zugängliche API, ohne sicherzustellen, dass Ihre Lizenzen diese Nutzung abdecken.

Testen Sie IronBarcode noch heute kostenlos

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 Level.

Häufig gestellte Fragen

Wie kann ich einen Barcode-Leser in eine .NET-Anwendung integrieren?

Sie können einen Barcode-Leser in eine .NET-Anwendung integrieren, indem Sie die IronBarcode-Bibliothek verwenden. Installieren Sie zuerst IronBarcode, erstellen Sie dann eine Klasse für das Barcode-Scannen und implementieren Sie Methoden, um Barcodes aus Bildern, Streams und PDFs zu lesen. Testen und optimieren Sie abschließend Ihre Einrichtung.

Wie kann ich die Barcode-Lesefunktionalität als REST-API bereitstellen?

Um die Barcode-Lesefunktionalität als REST-API bereitzustellen, verwenden Sie ASP.NET Core, um eine Webanwendung zu erstellen. Integrieren Sie die IronBarcode-Bibliothek, entwickeln Sie eine BarcodeScanner-Klasse und definieren Sie API-Endpunkte, die Barcodes mit Methoden wie ReadBarcodeFromImage und ReadBarcodeFromStream lesen.

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

Eine .NET-Bibliothek wie IronBarcode kann verschiedene Barcode-Typen lesen, einschließlich QR-Codes, Code 128, UPC und EAN. Sie können die Bibliothek so konfigurieren, dass sie mehrere Barcode-Typen gleichzeitig erkennt, indem Sie die Erkennungsparameter einstellen.

Wie kann ich Fehler beim Lesen von Barcodes in .NET behandeln?

Die Behandlung von Fehlern beim Barcode-Lesen kann durch die Implementierung robuster Fehlerbehandlung innerhalb Ihrer Barcode-Scan-Methoden mit IronBarcode erreicht werden. Stellen Sie sicher, dass Sie Ausnahmen abfangen und sinnvolle Rückmeldungen oder Wiederholungsmechanismen bereitstellen, um die Zuverlässigkeit des Barcode-Leseprozesses zu verbessern.

Was sind die Lizenzanforderungen für die Verwendung einer .NET-Barcode-Bibliothek in einer öffentlichen API?

Bei der Verwendung von IronBarcode in einer öffentlichen API müssen Sie sicherstellen, dass die richtigen Lizenzen vorliegen. Dazu gehört der Erwerb von SDK-, OEM- oder SaaS-Lizenzen, da die Bereitstellung der Bibliotheksfunktionalität als eigenständiger Dienst oder öffentliche API zusätzliche Genehmigungen erfordert.

Kann ich mehrere Barcode-Scans im Stapelverarbeitungsmodus mit einer .NET-Bibliothek ausführen?

Ja, Sie können mehrere Barcode-Scans im Stapelverarbeitungsmodus mit IronBarcode ausführen. Die Bibliothek ermöglicht das Lesen mehrerer Barcodes in einem einzigen Vorgang, was besonders nützlich sein kann, um große Mengen an Bildern oder Dokumenten effizient zu verarbeiten.

Gibt es eine Testversion für eine .NET-Barcode-Bibliothek?

Ja, IronBarcode bietet eine kostenlose Testversion, mit der Sie seine Fähigkeiten in Bezug auf Barcode-Erzeugung, -Lesen und -Bearbeitung innerhalb von .NET-Anwendungen erkunden können. Diese Testversion kann Ihnen helfen, die Bibliothek zu bewerten, bevor Sie eine Kaufentscheidung treffen.

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