Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

Wie man Barcodes in einer ASP.NET-Anwendung scannt

Das Barcode-Scannen ist zu einem unverzichtbaren Feature in modernen Webanwendungen geworden, das alles von Inventarmanagementsystemen bis hin zu Dokumentenverarbeitungs-Workflows antreibt. Egal, ob Sie Produkte in einem Lager verfolgen, Tickets bei einer Veranstaltung verarbeiten oder Papierdokumente digitalisieren, die Implementierung eines zuverlässigen Barcode-Scannens in Ihrer ASP.NET-Webanwendung kann die Effizienz erheblich verbessern und Fehler reduzieren.

IronBarcode emerges as the premier C# barcode reader library for ASP.NET and web developers, offering a powerful yet straightforward solution for both reading and generating barcodes. Im Gegensatz zu anderen ASP .NET Barcode-Scanner-Bibliotheken, die komplexe Konfigurationen erfordern oder mit realen Bildern kämpfen, liefert IronBarcode genaue Barcode-Scanner-Ergebnisse mit Zuverlässigkeit und Vertrauen. Seine plattformübergreifende Kompatibilität stellt sicher, dass Ihre Webanwendung nahtlos funktioniert, egal ob auf Windows, Linux oder in Cloud-Containern bereitgestellt, während seine maschinelles Lernen-gestützte Barcode-Erkennung selbst die herausforderndsten Barcode-Bilder zuverlässig in ein maschinenlesbares Format umwandelt.

Wie richtet man IronBarcode als Barcode-Reader in ASP.NET ein?

Der Einstieg mit IronBarcode in Ihren .NET-Projekten dauert nur wenige Minuten. Die Bibliothek unterstützt sowohl ASP.NET Core als auch traditionelle ASP.NET MVC-Anwendungen und ist damit vielseitig für eine breite Palette von Projekttypen einsetzbar.

Installieren Sie zuerst IronBarcode mit der NuGet Package Manager Console:

Install-Package BarCode

Alternativ können Sie es über die NuGet Package Manager UI von Visual Studio installieren, indem Sie nach 'IronBarCode' suchen und auf Installieren klicken. Das Paket verwaltet automatisch alle Abhängigkeiten und sorgt für eine reibungslose Integration. Detaillierte Installationsanweisungen finden Sie im IronBarcode-Installationshandbuch.

Sobald es installiert ist, fügen Sie die notwendige using-Anweisung zu Ihren C#-Barcode-Reader-Dateien hinzu:

using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText   $csharpLabel

Dieser einfache Import gibt Ihnen Zugang zu den umfassenden Barcode-Lese und Erzeugungsfähigkeiten von IronBarcode. Die Bibliothek unterstützt über 30 Barcode-Formate, einschließlich QR-Code-Generierung, Code 128, Code 39, Data Matrix und PDF417, und deckt praktisch jeden Barcode-Typ ab, dem Sie in Produktionsumgebungen begegnen werden. Laut der Microsoft-Dokumentation zu ASP.NET ist ein ordnungsgemäßes Paketmanagement entscheidend, um sichere und effiziente Webanwendungen aufrechtzuerhalten.

Wie implementiert man das Barcode-Scannen für Datei-Uploads?

Das häufigste Barcode-Scan-Szenario in ASP.NET-Webanwendungen beinhaltet das Hochladen einer Bilddatei mit Barcodes durch Benutzer im Webbrowser. Diese Implementierung eignet sich perfekt für die Verarbeitung von Rechnungen, Versandetiketten oder Dokumenten mit eingebetteten Barcodes.

Erstellen Sie ein einfaches HTML-Formular in Ihrer ASP.NET-Ansicht mit einem div-Element:

<form method="post" enctype="multipart/form-data">
    <div class="form-group">
        <label for="barcodeFile">Select Barcode Image:</label>
        <input type="file" name="barcodeFile" id="barcodeFile" 
               accept="image/*,.pdf" class="form-control" />
    </div>
    <button type="submit" class="btn btn-primary">Scan Barcode</button>
</form>
<div id="results">
    @ViewBag.BarcodeResult
</div>
<form method="post" enctype="multipart/form-data">
    <div class="form-group">
        <label for="barcodeFile">Select Barcode Image:</label>
        <input type="file" name="barcodeFile" id="barcodeFile" 
               accept="image/*,.pdf" class="form-control" />
    </div>
    <button type="submit" class="btn btn-primary">Scan Barcode</button>
</form>
<div id="results">
    @ViewBag.BarcodeResult
</div>
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Implementieren Sie nun den Backend-Controller, um die hochgeladene Datei mit Ihrem ASP.NET-Barcode-Reader zu verarbeiten:

[HttpPost]
public async Task<IActionResult> ScanBarcode(IFormFile barcodeFile)
{
    if (barcodeFile != null && barcodeFile.Length > 0)
    {
        using (var stream = new MemoryStream())
        {
            await barcodeFile.CopyToAsync(stream);
            stream.Position = 0;
            // Read barcode from the uploaded image
            var results = BarcodeReader.Read(stream);
            if (results.Any())
            {
                ViewBag.BarcodeResult = string.Join(", ", 
                    results.Select(r => $"{r.BarcodeType}: {r.Text}"));
            }
            else
            {
                ViewBag.BarcodeResult = "No barcodes found in the image.";
            }
        }
    }
    return View();
}
[HttpPost]
public async Task<IActionResult> ScanBarcode(IFormFile barcodeFile)
{
    if (barcodeFile != null && barcodeFile.Length > 0)
    {
        using (var stream = new MemoryStream())
        {
            await barcodeFile.CopyToAsync(stream);
            stream.Position = 0;
            // Read barcode from the uploaded image
            var results = BarcodeReader.Read(stream);
            if (results.Any())
            {
                ViewBag.BarcodeResult = string.Join(", ", 
                    results.Select(r => $"{r.BarcodeType}: {r.Text}"));
            }
            else
            {
                ViewBag.BarcodeResult = "No barcodes found in the image.";
            }
        }
    }
    return View();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Diese Implementierung verarbeitet die hochgeladene Datei, indem sie in einen MemoryStream kopiert und dann die BarcodeReader.Read-Methode von IronBarcode verwendet wird, um alle Barcodes aus dem Bild zu extrahieren. Die Methode erkennt automatisch das Barcode-Format und liefert detaillierte Ergebnisse, einschließlich des Barcode-Typs und des dekodierten Textes. IronBarcode processes various image formats, including JPEG, PNG, GIF, TIFF, BMP, and even PDF documents, eliminating the need for format-specific handling code. Diese Vielseitigkeit macht es ideal für die in den Barcode-Implementierungs-Threads von Stack Overflow beschriebenen Dokumentenverarbeitungsszenarien.

Beispielbild

Wie scannt man Barcodes in einer ASP.NET-Anwendung: Abbildung 8 - Code128-Barcode bereit zum Scannen

Ausgabe

Wie scannt man Barcodes in einer ASP.NET-Anwendung: Abbildung 5 - Code-Ausgabe mit Barcode-Typ und Text

Wie erstellt man eine REST-API zum Barcode- oder QR-Code-Scannen?

Moderne ASP.NET-Webanwendungen erfordern oft Barcode-Scan-Fähigkeiten, die über REST-APIs verfügbar gemacht werden, um die Integration mit mobilen Apps, SPAs oder Drittanbieterdiensten zu erleichtern. So erstellen Sie eine robuste Barcode-Scanner-API mit ASP.NET Core:

[ApiController]
[Route("api/[controller]")]
public class BarcodeController : ControllerBase
{
    [HttpPost("scan")]
    public IActionResult ScanBarcode([FromBody] BarcodeRequest request)
    {
        try
        {
            // Convert base64 string to byte array
            byte[] imageBytes = Convert.FromBase64String(request.ImageBase64);
            // Read barcodes from the image
            var results = BarcodeReader.Read(imageBytes);
            var response = results.Select(r => new 
            {
                type = r.BarcodeType.ToString(),
                value = r.Text,
                position = new { x = r.Points.Select(b => b.X).Min(), y= r.Points.Select(b => b.Y).Min(), r.Width, r.Height }
            }).ToList();
            return Ok(new { success = true, barcodes = response });
        }
        catch (Exception ex)
        {
            return BadRequest(new { success = false, error = ex.Message });
        }
    }
}
public class BarcodeRequest
{
    public string ImageBase64 { get; set; }
}
[ApiController]
[Route("api/[controller]")]
public class BarcodeController : ControllerBase
{
    [HttpPost("scan")]
    public IActionResult ScanBarcode([FromBody] BarcodeRequest request)
    {
        try
        {
            // Convert base64 string to byte array
            byte[] imageBytes = Convert.FromBase64String(request.ImageBase64);
            // Read barcodes from the image
            var results = BarcodeReader.Read(imageBytes);
            var response = results.Select(r => new 
            {
                type = r.BarcodeType.ToString(),
                value = r.Text,
                position = new { x = r.Points.Select(b => b.X).Min(), y= r.Points.Select(b => b.Y).Min(), r.Width, r.Height }
            }).ToList();
            return Ok(new { success = true, barcodes = response });
        }
        catch (Exception ex)
        {
            return BadRequest(new { success = false, error = ex.Message });
        }
    }
}
public class BarcodeRequest
{
    public string ImageBase64 { get; set; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Barcode-Leser-API-Endpunkt akzeptiert Base64-codierte Bilder, ein Standardformat zur Übertragung von Bildern über HTTP. Die Antwort enthält den Barcode-Wert und seinen Typ. Die Implementierung folgt den RESTful Best Practices und gewährleistet eine nahtlose Integration mit jedem Frontend-Framework.

Der folgende JavaScript-Code wird verwendet, um diese API von einem JavaScript-Client aus zu nutzen:

async function scanBarcode(imageFile) {
    const base64 = await convertToBase64(imageFile);
    const response = await fetch('/api/barcode/scan', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ imageBase64: base64 })
    });
    const result = await response.json();
    console.log('Scanned barcodes:', result.barcodes);
}
 async function convertToBase64(file) {
    return new Promise((resolve, reject) => {
        const reader = new FileReader();
        reader.onload = () => {
            // Remove the data URL prefix to get only the base64 string
            const base64 = reader.result.split(',')[1];
            resolve(base64);
        };
        reader.onerror = error => reject(error);
        reader.readAsDataURL(file);
    });
}
async function scanBarcode(imageFile) {
    const base64 = await convertToBase64(imageFile);
    const response = await fetch('/api/barcode/scan', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ imageBase64: base64 })
    });
    const result = await response.json();
    console.log('Scanned barcodes:', result.barcodes);
}
 async function convertToBase64(file) {
    return new Promise((resolve, reject) => {
        const reader = new FileReader();
        reader.onload = () => {
            // Remove the data URL prefix to get only the base64 string
            const base64 = reader.result.split(',')[1];
            resolve(base64);
        };
        reader.onerror = error => reject(error);
        reader.readAsDataURL(file);
    });
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser API-Ansatz ermöglicht eine nahtlose Integration mit modernen JavaScript-Frameworks, mobilen Anwendungen und unterstützt Szenarien, in denen das Barcode-Scannen asynchron oder in Batch-Operationen erfolgen muss.

Beispieldateieingabe

Wie scannt man Barcodes in einer ASP.NET-Anwendung: Abbildung 6 - Mehrere Barcodes

Ausgabe

Wie scannt man Barcodes in einer ASP.NET-Anwendung: Abbildung 7 - API-Antwort

Wie handhabt man herausfordernde Barcode-Bilder?

Das Scannen von Barcodes in realen ASP.NET-Webanwendungen umfasst häufig weniger perfekte Bilder: Fotos, die in einem Winkel aufgenommen wurden, schlechte Lichtverhältnisse oder teilweise beschädigte Barcodes. IronBarcode zeichnet sich in diesen Szenarien durch seine fortschrittlichen Bildverarbeitungsmöglichkeiten aus:

var options = new BarcodeReaderOptions
{
    // Balance speed vs accuracy
    Speed = ReadingSpeed.Balanced,
    // Specify expected barcode types for better performance
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    // Enable automatic rotation correction
    AutoRotate = true,
    // Apply image filters for clarity
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),
        new ContrastFilter(1.5f)
    },
    // Use multiple threads for faster processing
    Multithreaded = true
};
var results = BarcodeReader.Read("challenging-image.jpg", options);
var options = new BarcodeReaderOptions
{
    // Balance speed vs accuracy
    Speed = ReadingSpeed.Balanced,
    // Specify expected barcode types for better performance
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    // Enable automatic rotation correction
    AutoRotate = true,
    // Apply image filters for clarity
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),
        new ContrastFilter(1.5f)
    },
    // Use multiple threads for faster processing
    Multithreaded = true
};
var results = BarcodeReader.Read("challenging-image.jpg", options);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die BarcodeReaderOptions-Klasse bietet feinkörnige Kontrolle über den Barcode-Scanning-Prozess. Das Setzen von AutoRotate auf wahr ermöglicht es, Bilder zu handhaben, die in jedem Winkel aufgenommen wurden, während Bildfilter die Klarheit für verschwommene oder kontrastarme Barcodes verbessern. Die Speed-Eigenschaft ermöglicht es Ihnen, zwischen Verarbeitungsgeschwindigkeit und Genauigkeit basierend auf den spezifischen Anforderungen Ihrer ASP.NET-Anwendung zu balancieren. Für die Verarbeitung großer Datenmengen verbessert die Aktivierung von Multithreading die Leistung erheblich, indem alle verfügbaren CPU-Kerne genutzt werden. Dieser Ansatz stimmt mit den branchenüblichen Best Practices zur Bildverarbeitung in .NET-Anwendungen überein.

Fazit und Best Practices

Die Implementierung des Barcode-Scannens in ASP.NET-Webanwendungen mit IronBarcode verwandelt eine potenziell komplexe Aufgabe in einen einfachen, wartbaren Code. Die Fähigkeit der Bibliothek, mehrere Formate zu handhaben, unvollkommene Bilder zu verarbeiten, Barcodes zu dekodieren und konsistente Ergebnisse über Plattformen hinweg zu liefern, macht sie zu einem wertvollen Werkzeug für Unternehmensanwendungen.

Bei Produktionsbereitstellungen sollten Sie daran denken, eine ordnungsgemäße Fehlerbehandlung zu implementieren, hochgeladene Dateien auf Sicherheit zu validieren und häufig gescannte Barcodes zu cachen. Die plattformübergreifende Unterstützung von IronBarcode stellt sicher, dass Ihre Barcode-Scanner-Lösung nahtlos in Docker-Containern und Cloud-Umgebungen funktioniert und die Flexibilität bietet, die moderne Anwendungen erfordern. Explore the complete API documentation to discover advanced features like batch processing and PDF barcode extraction.

Bereit, Ihre ASP.NET-Anwendung mit professionellem Barcode-Scannen zu revolutionieren? Starten Sie Ihre kostenlose Testversion, um das volle Potenzial von IronBarcode in Ihrer Produktionsumgebung freizuschalten.

Häufig gestellte Fragen

Was ist der Hauptzweck des Barcode-Scannens in ASP.NET-Anwendungen?

Barcode-Scanning in ASP.NET-Anwendungen wird hauptsächlich zur Verbesserung von Bestandsverwaltungssystemen, zur Ticketverarbeitung bei Veranstaltungen und zur Digitalisierung von Papierdokumenten verwendet, wodurch die Effizienz verbessert und Fehler reduziert werden.

Wie erleichtert IronBarcode das Barcode-Scanning in ASP.NET?

IronBarcode vereinfacht den Prozess des Barcode-Scannens in ASP.NET, indem es zuverlässige und effiziente Komponenten bereitstellt, die einfach in Webanwendungen integriert werden können, damit Entwickler schnell Scanfunktionen implementieren können.

Welche Arten von Barcodes können mit IronBarcode gescannt werden?

IronBarcode unterstützt das Scannen einer Vielzahl von Barcode-Formaten, darunter traditionelle lineare Barcodes und moderne 2D-Barcodes, und stellt so die Kompatibilität mit diversen Anwendungen sicher.

Kann IronBarcode beim Barcode-Scanning für die Dokumentenverarbeitung eingesetzt werden?

Ja, IronBarcode eignet sich gut für Workflows zur Dokumentenverarbeitung, bei denen es zur Digitalisierung und Organisation von Papierdokumenten durch das Scannen eingebetteter Barcodes verwendet werden kann.

Ist IronBarcode für Bestandsverwaltungssysteme geeignet?

IronBarcode ist eine ausgezeichnete Wahl für Bestandsverwaltungssysteme, da es eine effiziente Verfolgung von Produkten durch das Scannen von Barcodes ermöglicht und so Abläufe rationalisiert und Fehler minimiert.

Wie verbessert die Integration von IronBarcode die Ticketverarbeitung bei Veranstaltungen?

Durch die Integration von IronBarcode wird die Ticketverarbeitung bei Veranstaltungen nahtlos, da schnelle Scans von Ticket-Barcodes möglich sind, was eine schnelle und genaue Zutrittsverwaltung bei Veranstaltungen ermöglicht.

Welche Vorteile bietet die Verwendung von IronBarcode in ASP.NET-Projekten?

Die Verwendung von IronBarcode in ASP.NET-Projekten bietet mehrere Vorteile, darunter einfache Integration, Unterstützung für mehrere Barcode-Formate und verbesserte Anwendungsleistung, was eine robuste Lösung für Barcode-Scanning-Bedürfnisse darstellt.

Benötigt IronBarcode umfangreiche Programmierkenntnisse zur Implementierung?

Nein, IronBarcode ist entwicklerfreundlich gestaltet, sodass es einfach ist, Barcode-Scanning-Funktionalität in ASP.NET-Anwendungen mit minimalen Programmierkenntnissen zu implementieren.

Kann IronBarcode für mobile Webanwendungen verwendet werden?

Ja, IronBarcode kann in mobile Webanwendungen integriert werden, was Barcode-Scanning unterwegs ermöglicht und die Vielseitigkeit von ASP.NET-Projekten erhöht.

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