Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

C# BarCode aus String generieren: Vollständiges Tutorial mit IronBarcode

Die Kodierung von Zeichenketten in Barcode-Bilder ist eine grundlegende Voraussetzung für Inventarsysteme, Einzelhandelsanwendungen und Dokumentenmanagement. Dieses Tutorial zeigt, wie man mit IronBarcode in C# Barcodes aus Zeichenketten generiert – von der Installation über das Speichern von Barcode-Bildern in verschiedenen Formaten und deren Gestaltung für den Produktiveinsatz bis hin zur Verarbeitung großer Datenmengen aus Datenbanken.

IronBarcode ist eine .NET Bibliothek von Iron Software , die die Barcode-Generierung und das Lesen for .NET Entwickler vereinfacht, die Windows-Anwendungen, Webdienste und Cloud-APIs erstellen. Starten Sie Ihre kostenlose Testversion und folgen Sie den unten stehenden Codebeispielen.

Wie installiert man IronBarcode in einem .NET -Projekt?

Die Installation von IronBarcode dauert mit der .NET CLI oder dem NuGet -Paketmanager in Visual Studio nur wenige Sekunden.

Option 1 -- .NET CLI (empfohlen für .NET 10):

dotnet add package Barcode
dotnet add package Barcode
SHELL

Option 2 – NuGet Paket-Manager-Konsole in Visual Studio:

Install-Package BarCode

Alternativ suchen Sie im NuGet Package Manager GUI nach "IronBarcode" und installieren Sie das offizielle Paket. Die Bibliothek ist für .NET Framework 4.6.2+ und.NET 5 bis .NET 10 ausgelegt und gewährleistet so die Kompatibilität mit modernen .NET Workloads.

Nach der Installation fügen Sie am Anfang jeder Datei, die Barcodes erzeugt oder liest, eine einzige using Direktive ein:

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

Diese Direktive macht BarcodeWriter, BarcodeReader, BarcodeEncoding und die anderen in diesem Handbuch behandelten öffentlichen Typen verfügbar.

Wie erzeugen Sie einen einfachen Barcode aus einem String in C#?

Die BarcodeWriter.CreateBarcode Methode ist der Einstiegspunkt für die Barcodeerzeugung. Übergeben Sie den String, den Sie kodieren möchten, zusammen mit einem BarcodeEncoding Wert, und Sie erhalten ein GeneratedBarcode Objekt, das bereit zum Speichern oder für weitere Manipulationen ist.

using IronBarCode;

// Generate a Code 128 barcode from a product SKU string
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128);
barcode.SaveAsPng("product_barcode.png");
using IronBarCode;

// Generate a Code 128 barcode from a product SKU string
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128);
barcode.SaveAsPng("product_barcode.png");
Imports IronBarCode

' Generate a Code 128 barcode from a product SKU string
Dim productCode As String = "SKU-78432-A"
Dim barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128)
barcode.SaveAsPng("product_barcode.png")
$vbLabelText   $csharpLabel

Ausgabe der BarCode-Erzeugung

C# Generieren Sie Barcode aus String: Vollständiges Tutorial mit IronBarcode: Bild 1 - Beispielausgabecode

Dies erzeugt ein Code128 Barcodebild aus dem Produktstring und speichert es als PNG-Datei. Die CreateBarcode Methode übernimmt alle Kodierungskomplexitäten, sodass mit minimalem Code ein Barcodebild erzeugt werden kann. IronBarcode unterstützt das Speichern in den Formaten PNG, JPEG, GIF, TIFF, BMP und SVG .

Das Verfahren akzeptiert außerdem optionale Breiten- und Höhenparameter zur Steuerung der Ausgabedimensionen und trägt so dazu bei, eine korrekte Scanqualität in der Zielumgebung sicherzustellen:

using IronBarCode;

// Specify width and height in pixels for the barcode image
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120);
barcode.SaveAsPng("product_barcode_sized.png");
using IronBarCode;

// Specify width and height in pixels for the barcode image
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120);
barcode.SaveAsPng("product_barcode_sized.png");
Imports IronBarCode

' Specify width and height in pixels for the barcode image
Dim productCode As String = "SKU-78432-A"
Dim barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120)
barcode.SaveAsPng("product_barcode_sized.png")
$vbLabelText   $csharpLabel

Die Angabe expliziter Abmessungen ist besonders nützlich bei der Erstellung von Etiketten für Thermodrucker, da die Ausgabegröße exakt mit dem Etikettenmaterial übereinstimmen muss.

Welche Barcode-Formate unterstützt IronBarcode?

IronBarcode unterstützt mehr als 20 Barcode-Typen für verschiedene Anwendungsfälle. Die Auswahl des richtigen Formats gewährleistet ein ordnungsgemäßes Scannen und eine ausreichende Datenkapazität für die Anwendung.

using IronBarCode;

string url = "https://ironsoftware.com/csharp/barcode/";
string numericId = "0123456789012";

// QR Code -- best for URLs, text data, and mobile scanning
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode)
    .SaveAsPng("qrcode.png");

// UPC-A -- required for retail point-of-sale systems (12 digits)
BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA)
    .SaveAsPng("upc_barcode.png");

// PDF417 -- suited for documents that need higher data capacity
BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417)
    .SaveAsJpeg("pdf417_barcode.jpeg");
using IronBarCode;

string url = "https://ironsoftware.com/csharp/barcode/";
string numericId = "0123456789012";

// QR Code -- best for URLs, text data, and mobile scanning
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode)
    .SaveAsPng("qrcode.png");

// UPC-A -- required for retail point-of-sale systems (12 digits)
BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA)
    .SaveAsPng("upc_barcode.png");

// PDF417 -- suited for documents that need higher data capacity
BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417)
    .SaveAsJpeg("pdf417_barcode.jpeg");
Imports IronBarCode

Dim url As String = "https://ironsoftware.com/csharp/barcode/"
Dim numericId As String = "0123456789012"

' QR Code -- best for URLs, text data, and mobile scanning
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode) _
    .SaveAsPng("qrcode.png")

' UPC-A -- required for retail point-of-sale systems (12 digits)
BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA) _
    .SaveAsPng("upc_barcode.png")

' PDF417 -- suited for documents that need higher data capacity
BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417) _
    .SaveAsJpeg("pdf417_barcode.jpeg")
$vbLabelText   $csharpLabel

BarCode Image Outputs

C# Generieren Sie Barcode aus String: Vollständiges Tutorial mit IronBarcode: Bild 2 - Generierte Barcodes

Die folgende Tabelle fasst zusammen, wann welches Hauptformat verwendet werden sollte:

IronBarcode unterstützte Barcode-Formate nach Anwendungsfall
FormatAm besten fürZeichensatz
QRCodeURLs, Text, mobiles ScannenASCII + Unicode
Code128Alphanumerische Produktcodes, VersandetikettenVollständiges ASCII
UPCA / EAN13Einzelhandelsverkaufsstellen-SystemeNur numerisch
PDF417Ausweise, Bordkarten, DokumenteBinärdaten
DataMatrixKleine Etiketten, ElektronikASCII + Binär
AztecFahrkarten, mobiles EinsteigenASCII + Unicode

Die vollständige Liste der unterstützten Kodierungen finden Sie in der IronBarcode -Barcode-Typenreferenz .

Wie passen Sie Barcode-Bilder in C# an und gestalten sie?

Über die grundlegende Barcode-Generierung hinaus bietet IronBarcode eine intuitive Styling-API zum Anpassen von Farben, Hinzufügen von Anmerkungen und Ändern der Größe von Barcode-Bildern ohne externe Bildverarbeitungsbibliothek.

using IronBarCode;
using IronSoftware.Drawing;

string orderNumber = "ORD-2024-00542";
var styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128);

// Adjust colors to match brand identity
styledBarcode.ChangeBarCodeColor(Color.DarkBlue);
styledBarcode.ChangeBackgroundColor(Color.White);

// Add readable text annotations above and below the bars
styledBarcode.AddAnnotationTextAboveBarcode("Order Number", new Font("Arial", 12), Color.Black, 5);
styledBarcode.AddBarcodeValueTextBelowBarcode(new Font("Arial", 10), Color.Gray, 5);

// Resize to fit a thermal label at 400 x 150 pixels
styledBarcode.ResizeTo(400, 150);
styledBarcode.SaveAsPng("styled_order_barcode.png");
using IronBarCode;
using IronSoftware.Drawing;

string orderNumber = "ORD-2024-00542";
var styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128);

// Adjust colors to match brand identity
styledBarcode.ChangeBarCodeColor(Color.DarkBlue);
styledBarcode.ChangeBackgroundColor(Color.White);

// Add readable text annotations above and below the bars
styledBarcode.AddAnnotationTextAboveBarcode("Order Number", new Font("Arial", 12), Color.Black, 5);
styledBarcode.AddBarcodeValueTextBelowBarcode(new Font("Arial", 10), Color.Gray, 5);

// Resize to fit a thermal label at 400 x 150 pixels
styledBarcode.ResizeTo(400, 150);
styledBarcode.SaveAsPng("styled_order_barcode.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Dim orderNumber As String = "ORD-2024-00542"
Dim styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128)

' Adjust colors to match brand identity
styledBarcode.ChangeBarCodeColor(Color.DarkBlue)
styledBarcode.ChangeBackgroundColor(Color.White)

' Add readable text annotations above and below the bars
styledBarcode.AddAnnotationTextAboveBarcode("Order Number", New Font("Arial", 12), Color.Black, 5)
styledBarcode.AddBarcodeValueTextBelowBarcode(New Font("Arial", 10), Color.Gray, 5)

' Resize to fit a thermal label at 400 x 150 pixels
styledBarcode.ResizeTo(400, 150)
styledBarcode.SaveAsPng("styled_order_barcode.png")
$vbLabelText   $csharpLabel

Gestylte BarCode-Ausgabe

C# Generieren Sie Barcode aus String: Vollständiges Tutorial mit IronBarcode: Bild 3 - gestalteter Barcode

Welche Styling-Eigenschaften stehen zur Verfügung?

Die GeneratedBarcode Klasse stellt mehrere Kategorien von Stylingmethoden bereit:

  • Farbkontrolle -- ChangeBarCodeColor, ChangeBackgroundColor akzeptieren jeden Color von IronSoftware.Drawing
  • Textanmerkungen – Fügen Sie Text oberhalb oder unterhalb des Barcodes mit benutzerdefinierter Schriftart, -größe und -farbe hinzu.
  • Randsteuerung – Legen Sie einen Abstand um den Barcode fest, um die Scannerleistung bei Etiketten mit vielen Einträgen zu verbessern.
  • Drehung – Drehen Sie das Barcode-Bild seitlich oder diagonal für Etikettenlayouts, die ein Hochformat erfordern.
  • Größe ändern – Breite und Höhe in Pixeln festlegen, ohne die kodierten Daten zu verzerren

Die Styling-Methoden lassen sich nahtlos miteinander verketten, wodurch der Code lesbar bleibt und gleichzeitig Barcode-Bilder erzeugt werden, die zum visuellen Design der Anwendung passen. Eine detailliertere Anleitung finden Sie im Leitfaden zur Barcode-Gestaltung .

Wie generiert man mehrere Barcodes aus Datenbankdaten?

In der Praxis ist die Generierung von Barcodes häufig für Artikelgruppen erforderlich – beispielsweise für Produktkataloge, Lagerauffüllungsläufe oder Auftragsabwicklungsprozesse. IronBarcode übernimmt die Stapelverarbeitung ohne zusätzliche Konfiguration.

using IronBarCode;

// Data sourced from a database query result
List<string> productIds =
[
    "PROD-001-X",
    "PROD-002-Y",
    "PROD-003-Z",
    "PROD-004-W"
];

// Generate one barcode image per product ID
foreach (string productId in productIds)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100);
    barcode.SaveAsPng($"barcodes/{productId}.png");
}
using IronBarCode;

// Data sourced from a database query result
List<string> productIds =
[
    "PROD-001-X",
    "PROD-002-Y",
    "PROD-003-Z",
    "PROD-004-W"
];

// Generate one barcode image per product ID
foreach (string productId in productIds)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100);
    barcode.SaveAsPng($"barcodes/{productId}.png");
}
Imports IronBarCode

' Data sourced from a database query result
Dim productIds As New List(Of String) From {
    "PROD-001-X",
    "PROD-002-Y",
    "PROD-003-Z",
    "PROD-004-W"
}

' Generate one barcode image per product ID
For Each productId As String In productIds
    Dim barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100)
    barcode.SaveAsPng($"barcodes/{productId}.png")
Next
$vbLabelText   $csharpLabel

Ausgabe BarCodes

C# Generieren Sie Barcode aus String: Vollständiges Tutorial mit IronBarcode: Bild 4 - mehrere generierte Barcodes

Skalierung auf hohe Volumen

Das oben beschriebene Schleifenmuster lässt sich ohne Änderungen auf Tausende von Datensätzen skalieren. Für die Generierung großer Mengen von Barcodes unterstützt IronBarcode asynchrone und multithreaded Operationen , um den Durchsatz auf Mehrkernservern zu maximieren.

Die generierten Barcode-Bilder können in PDF-Berichte eingebettet, auf Etiketten gedruckt oder in einem Dokumentenmanagementsystem gespeichert werden. Jedes Bild kodiert die ursprüngliche Zeichenkette in einem Binärmuster, das Barcode-Scanner wieder in Text dekodieren.

Bei Produktions-Batch-Jobs, die Tausende von Barcodes pro Durchlauf erzeugen, sollten Sie die IronBarcode Engine vor Beginn der Schleife vorwärmen. Der erste Aufruf von CreateBarcode initialisiert interne Kodierungscaches; Nachfolgende Aufrufe innerhalb desselben Prozesses werden dadurch schneller abgeschlossen. Durch die Einbettung des gesamten Batches in eine einzige zeitgesteuerte Methode lassen sich auch aggregierte Statistiken – die Gesamtzahl der generierten Barcodes, etwaige Kodierungsfehler und die verstrichene Zeit – einfach protokollieren, bevor der Batch beendet wird. Dieses Muster integriert sich sauber in Hintergrundjob-Frameworks wie Hangfire oder das in .NET integrierte IHostedService für geplante Generierungsaufgaben.

Wie speichert und exportiert man Barcodes in verschiedenen Dateiformaten?

GeneratedBarcode bietet eine Reihe von Speichermethoden, die die gebräuchlichsten Bildformate in Geschäftsanwendungen abdecken:

using IronBarCode;

string value = "EXPORT-TEST-001";
var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);

// Save to disk in multiple formats
barcode.SaveAsPng("barcode.png");       // Lossless -- best for print
barcode.SaveAsJpeg("barcode.jpg");      // Compressed -- smaller file size
barcode.SaveAsGif("barcode.gif");       // Compatible with legacy systems
barcode.SaveAsTiff("barcode.tiff");     // Multi-page archival format
barcode.SaveAsBmp("barcode.bmp");       // Uncompressed bitmap

// Export as a byte array for in-memory operations (API responses, database storage)
byte[] pngBytes = barcode.ToStream(ImageFormat.Png).ToArray();
using IronBarCode;

string value = "EXPORT-TEST-001";
var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);

// Save to disk in multiple formats
barcode.SaveAsPng("barcode.png");       // Lossless -- best for print
barcode.SaveAsJpeg("barcode.jpg");      // Compressed -- smaller file size
barcode.SaveAsGif("barcode.gif");       // Compatible with legacy systems
barcode.SaveAsTiff("barcode.tiff");     // Multi-page archival format
barcode.SaveAsBmp("barcode.bmp");       // Uncompressed bitmap

// Export as a byte array for in-memory operations (API responses, database storage)
byte[] pngBytes = barcode.ToStream(ImageFormat.Png).ToArray();
Imports IronBarCode

Dim value As String = "EXPORT-TEST-001"
Dim barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120)

' Save to disk in multiple formats
barcode.SaveAsPng("barcode.png")       ' Lossless -- best for print
barcode.SaveAsJpeg("barcode.jpg")      ' Compressed -- smaller file size
barcode.SaveAsGif("barcode.gif")       ' Compatible with legacy systems
barcode.SaveAsTiff("barcode.tiff")     ' Multi-page archival format
barcode.SaveAsBmp("barcode.bmp")       ' Uncompressed bitmap

' Export as a byte array for in-memory operations (API responses, database storage)
Dim pngBytes As Byte() = barcode.ToStream(ImageFormat.Png).ToArray()
$vbLabelText   $csharpLabel

Die Wahl des richtigen Formats hängt vom Endverbraucher ab. PNG eignet sich gut für druckfertige Etiketten und Dokumente. JPEG eignet sich für Anwendungen, bei denen der Speicherplatz begrenzt ist. Für direktes Einbetten von Barcodes in PDF-Dokumente integriert sich IronBarcode mit IronPDF, um Barcode-Bilder programmiert zu stempeln oder einzufügen.

Die ToStream Überladung ist besonders wertvoll in Web-APIs und Cloud-Funktionen, in denen ein Schreiben auf die Festplatte nicht erwünscht ist. Das Byte-Array kann in einer BLOB-Spalte einer Datenbank gespeichert, in einen Cloud-Speicher hochgeladen oder direkt in eine HTTP-Antwort gestreamt werden, ohne dass eine Zwischendatei auf dem Dateisystem benötigt wird.

Wie validiert man Zeichenkettendaten vor der Kodierung?

Nicht jede Zeichenkette ist für jedes Barcode-Format gültig. UPC-A benötigt genau 12 Ziffern, EAN-13 benötigt 13, und einige 1D-Formate lehnen Zeichen außerhalb einer begrenzten ASCII-Teilmenge ab. Das Übergeben ungültiger Daten an CreateBarcode löst eine IronBarCodeEncodingException aus. Durch das Einbetten des Aufrufs in einen try/catch-Block und die vorherige Validierung der Eingabe werden unbehandelte Ausnahmen im Produktionsbetrieb verhindert:

using IronBarCode;

bool TryCreateBarcode(string value, BarcodeEncoding encoding, string outputPath)
{
    if (string.IsNullOrWhiteSpace(value))
    {
        Console.WriteLine("Value must not be empty.");
        return false;
    }

    try
    {
        var barcode = BarcodeWriter.CreateBarcode(value, encoding);
        barcode.SaveAsPng(outputPath);
        return true;
    }
    catch (IronBarCodeEncodingException ex)
    {
        Console.WriteLine($"Encoding failed: {ex.Message}");
        return false;
    }
}

// Usage
TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png");   // succeeds
TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png");  // encoding exception
using IronBarCode;

bool TryCreateBarcode(string value, BarcodeEncoding encoding, string outputPath)
{
    if (string.IsNullOrWhiteSpace(value))
    {
        Console.WriteLine("Value must not be empty.");
        return false;
    }

    try
    {
        var barcode = BarcodeWriter.CreateBarcode(value, encoding);
        barcode.SaveAsPng(outputPath);
        return true;
    }
    catch (IronBarCodeEncodingException ex)
    {
        Console.WriteLine($"Encoding failed: {ex.Message}");
        return false;
    }
}

// Usage
TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png");   // succeeds
TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png");  // encoding exception
Imports IronBarCode

Function TryCreateBarcode(value As String, encoding As BarcodeEncoding, outputPath As String) As Boolean
    If String.IsNullOrWhiteSpace(value) Then
        Console.WriteLine("Value must not be empty.")
        Return False
    End If

    Try
        Dim barcode = BarcodeWriter.CreateBarcode(value, encoding)
        barcode.SaveAsPng(outputPath)
        Return True
    Catch ex As IronBarCodeEncodingException
        Console.WriteLine($"Encoding failed: {ex.Message}")
        Return False
    End Try
End Function

' Usage
TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png")   ' succeeds
TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png")  ' encoding exception
$vbLabelText   $csharpLabel

Das richtige Format für die Eingabedaten auswählen

Wenn das Barcode-Format zur Laufzeit konfigurierbar ist, verhindert eine Hilfsfunktion, die den Inhaltstyp der entsprechenden Kodierung zuordnet, stille Fehler:

  • Verwenden Sie BarcodeEncoding.QRCode, wenn der String URLs, E-Mail-Adressen oder mehrbyte Unicode-Zeichen enthält.
  • Verwenden Sie BarcodeEncoding.Code128 für allgemeine alphanumerische Strings von bis zu etwa 80 Zeichen.
  • Verwenden Sie BarcodeEncoding.EAN13 oder BarcodeEncoding.UPCA nur, wenn die Daten rein numerisch sind und die Länge festgelegt ist. Die Prüfziffer wird von IronBarcode automatisch berechnet.
  • Verwenden Sie BarcodeEncoding.DataMatrix für sehr kurze alphanumerische Strings, die auf ein physisch kleines Etikett passen müssen.

Das Hinzufügen einer Formatvalidierung vor dem Aufruf von CreateBarcode hält Fehlermeldungen benutzerorientiert anstelle von kryptischen Stack-Traces in Anwendungsprotokollen.

Wie liest man einen Barcode aus einem String-Wert aus?

Die Generierung eines Barcodes ist in vielen Systemen nur die halbe Miete. Die Barcode-Lese-API verwendet BarcodeReader.Read, um ein Bild zurück in den ursprünglichen String zu dekodieren.

using IronBarCode;

// Read all barcodes from an image file
var results = BarcodeReader.Read("product_barcode.png");

foreach (var result in results)
{
    // Output the decoded string value
    Console.WriteLine($"Decoded value: {result.Value}");
    Console.WriteLine($"Format detected: {result.BarcodeType}");
}
using IronBarCode;

// Read all barcodes from an image file
var results = BarcodeReader.Read("product_barcode.png");

foreach (var result in results)
{
    // Output the decoded string value
    Console.WriteLine($"Decoded value: {result.Value}");
    Console.WriteLine($"Format detected: {result.BarcodeType}");
}
Imports IronBarCode

' Read all barcodes from an image file
Dim results = BarcodeReader.Read("product_barcode.png")

For Each result In results
    ' Output the decoded string value
    Console.WriteLine($"Decoded value: {result.Value}")
    Console.WriteLine($"Format detected: {result.BarcodeType}")
Next
$vbLabelText   $csharpLabel

Dadurch lassen sich unkompliziert Round-Trip-Barcode-Workflows erstellen – einen Barcode aus einem Produktdatensatz generieren, ihn auf der Festplatte oder in der Etikettendruckerwarteschlange speichern und später das physische Etikett scannen und den Wert wieder dekodieren, um den Datensatz aufzurufen. Zum Lesen von Barcodes aus PDF-Dateien oder Live-Kamera-Feeds bietet IronBarcode dedizierte Methoden mit derselben unkomplizierten API an.

Wie verwendet man IronBarcode in ASP.NET Core Web-APIs?

IronBarcode funktioniert innerhalb von ASP.NET Core Controllern und minimalen API-Handlern. Das am häufigsten verwendete Muster liefert ein Barcode-Bild als Dateiergebnis oder eine Base64-kodierte Daten-URI zur Darstellung im Browser.

using IronBarCode;
using Microsoft.AspNetCore.Mvc;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// Minimal API endpoint -- returns a barcode PNG for the given value
app.MapGet("/barcode/{value}", (string value) =>
{
    var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);
    byte[] imageBytes = barcode.ToStream(ImageFormat.Png).ToArray();
    return Results.File(imageBytes, "image/png");
});

app.Run();
using IronBarCode;
using Microsoft.AspNetCore.Mvc;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// Minimal API endpoint -- returns a barcode PNG for the given value
app.MapGet("/barcode/{value}", (string value) =>
{
    var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);
    byte[] imageBytes = barcode.ToStream(ImageFormat.Png).ToArray();
    return Results.File(imageBytes, "image/png");
});

app.Run();
Imports IronBarCode
Imports Microsoft.AspNetCore.Mvc

Dim builder = WebApplication.CreateBuilder(args)
Dim app = builder.Build()

' Minimal API endpoint -- returns a barcode PNG for the given value
app.MapGet("/barcode/{value}", Function(value As String)
                                   Dim barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120)
                                   Dim imageBytes As Byte() = barcode.ToStream(ImageFormat.Png).ToArray()
                                   Return Results.File(imageBytes, "image/png")
                               End Function)

app.Run()
$vbLabelText   $csharpLabel

Der Endpunkt generiert auf Anfrage einen Barcode für jeden Wert, der im URL-Pfad übergeben wird. Für Produktionsumgebungen sollte ein Caching-Mechanismus hinzugefügt werden, damit wiederholte Anfragen nach demselben Barcode-Wert das Bild nicht neu generieren. Eine detailliertere Anleitung inklusive Dependency Injection und Response Caching finden Sie im vollständigen Tutorial zur ASP.NET -Barcode-Generierung .

Was sind Ihre nächsten Schritte?

Mit IronBarcode ist das Generieren von Barcodes aus Zeichenkettendaten in C# unkompliziert. Die flüssige API bewältigt die Komplexität der Barcode-Codierung und bietet gleichzeitig Flexibilität für Anpassungen und Stapelverarbeitung. Egal ob es sich um einfache Code-128-Barcodes für die Bestandsverwaltung oder QR-Codes für mobile Anwendungen handelt, IronBarcode bietet zuverlässige Barcode-Funktionalität for .NET -Anwendungen.

Um noch weiter zu gehen:

Laden Sie IronBarcode herunter und führen Sie die Codebeispiele aus dieser Anleitung lokal aus.

Starten Sie jetzt mit IronBarcode.
green arrow pointer

Häufig gestellte Fragen

Wie installiert man IronBarcode zur Generierung von Barcodes in C#?

Führen Sie in der .NET CLI den Befehl 'dotnet add package Barcode' aus oder öffnen Sie den NuGet Paketmanager in Visual Studio, suchen Sie nach ' IronBarcode' und installieren Sie das offizielle Paket.

Welche Barcode-Formate können mit IronBarcode aus einer Zeichenkette generiert werden?

IronBarcode unterstützt mehr als 20 Formate, darunter QR-Code, Code 128, UPC-A, EAN-13, PDF417, Data Matrix und Aztec. Das Format wird über die Enumeration „BarcodeEncoding“ angegeben.

Lässt sich das Erscheinungsbild von mit IronBarcode generierten Barcodes anpassen?

Ja. IronBarcode bietet Methoden zum Ändern der Balkenfarbe, der Hintergrundfarbe, zum Hinzufügen von Textanmerkungen über oder unter dem Barcode, zum Festlegen von Rändern, zum Ändern der Größe und zum Drehen des Ausgabebildes.

Unterstützt IronBarcode die Stapelgenerierung von Barcodes?

Ja. Iterieren Sie über eine Liste oder ein Datenbank-Ergebnisset und rufen Sie für jeden Wert `BarcodeWriter.CreateBarcode` auf. Bei sehr großen Datenmengen unterstützt IronBarcode auch asynchrone und multithreadfähige Operationen.

In welchen Bildformaten kann IronBarcode Barcodes speichern?

IronBarcode kann Barcodes als PNG, JPEG, GIF, TIFF, BMP und SVG speichern. Die Methode `ToStream` gibt ein Byte-Array zur Verwendung im Arbeitsspeicher zurück, ohne dass die Daten auf die Festplatte geschrieben werden müssen.

Wie kodiert man eine Zeichenkette in einen Barcode mit IronBarcode?

Rufen Sie `BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128)` auf, wobei `value` der String und `BarcodeEncoding` das Format angibt. Anschließend rufen Sie `SaveAsPng` oder eine andere Speichermethode für das zurückgegebene `GeneratedBarcode`-Objekt auf.

Welche .NET Versionen werden von IronBarcode unterstützt?

IronBarcode unterstützt .NET Framework 4.6.2 und höher sowie .NET 5 bis .NET 10 und deckt damit sowohl ältere als auch moderne .NET Workloads ab.

Kann IronBarcode in ASP.NET Core Webanwendungen verwendet werden?

Ja. IronBarcode funktioniert innerhalb von Controllern und minimalen API-Handlern. Ein gängiges Vorgehen ist der Aufruf von `CreateBarcode`, die Konvertierung des Ergebnisses in ein Byte-Array mit `ToStream` und die Rückgabe als Datei über den Endpunkt.

Wie liest man in C# einen Barcode wieder in seine ursprüngliche Zeichenkette ein?

Verwenden Sie BarcodeReader.Read(filePath), um ein Bild zu dekodieren. Die Methode gibt eine Sammlung von BarcodeResult-Objekten zurück, die jeweils die dekodierte Wertzeichenfolge und den erkannten BarcodeType enthalten.

Gibt es eine kostenlose Testversion von IronBarcode?

Ja. IronBarcode bietet eine kostenlose Testlizenz an, die eine umfassende Evaluierung aller Funktionen ermöglicht, bevor man sich für eine kostenpflichtige Lizenz für den Produktiveinsatz entscheidet.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen

Iron-Support-Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an