Wie man Barcodes aus Daten in C# erstellt

BarCode aus Text, URLs, IDs & Binärdaten in C#35;

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

IronBarcode ermöglicht es C#-Entwicklern, Barcodes aus verschiedenen Datenquellen wie Strings, Byte-Arrays und Speicherströmen mit der Methode BarcodeWriter.CreateBarcode() zu generieren, wobei mehrere Barcodeformate wie QR Code, Code128 und PDF417 unterstützt werden.

als-überschrift:2(Schnellstart: Barcode aus String mit nur einer Zeile erstellen)

Verwenden Sie die API von IronBarcode, um Barcodes mit minimalem Aufwand zu erstellen. Dieses Beispiel zeigt, wie man einen Barcode aus einer einfachen Zeichenkette mit nur einer Zeile Code erstellt. Umfassende Beispiele finden Sie in der BarCode Quickstart Anleitung.

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 barcode = IronBarCode.BarcodeWriter.CreateBarcode("Order123", IronBarCode.BarcodeWriterEncoding.Code128);
  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 erstelle ich einen BarCode aus einem String?

Welche BarCode-Formate eignen sich am besten für verschiedene Zeichenkettentypen?

Verschiedene BarCode-Formate sind für bestimmte Datentypen und Anwendungsfälle optimiert. Die Kenntnis der unterstützten Barcode-Formate hilft bei der Auswahl der richtigen Kodierung:

  • QR-Codes: Am besten für URLs, E-Mail-Adressen und große Textdaten. Unterstützt bis zu 4.296 alphanumerische Zeichen mit Fehlerkorrektur.
  • Code128: Ideal für alphanumerische Daten wie Bestellnummern und Seriencodes. Äußerst effizient für moderne Anwendungen.
  • PDF417: Perfekt für komplexe Daten wie Flugtickets und Behördenausweise. Speichert bis zu 1.850 alphanumerische Zeichen.
  • Code93: Hervorragend geeignet für Postdienste und Bestandsverfolgung mit kompakten numerischen Daten.
  • Aztec: Optimal für mobiles Ticketing und Transport, benötigt weniger Platz als QR-Codes.

Der folgende Code demonstriert, wie man Barcodes mit einem String schreibt:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-string.cs
using IronBarCode;

string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/barcode/";
string receiptID = "2023-08-04-12345"; // Receipt ID (numeric id)
string flightID = "FLT2023NYC-LAX123456"; // Flight ID (alphanumeric id)
string number = "1234";

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode

Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/barcode/"
Private receiptID As String = "2023-08-04-12345" ' Receipt ID (numeric id)
Private flightID As String = "FLT2023NYC-LAX123456" ' Flight ID (alphanumeric id)
Private number As String = "1234"

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

Was sind die generierten BarCode-Ergebnisse?

Dieser Code kodiert fünf verschiedene Datenbeispiele in fünf Barcodetypen: einfachen Text in Aztec, URL in QR-Code, numerische ID in Code 93, alphanumerische ID in PDF417 und Zahl in Codabar. Die Bilder werden als PNG gespeichert. Erweiterte Exportoptionen finden Sie in der Anleitung BarCode als Bild erstellen.

Aztec barcode containing 'Hello, World!' text with characteristic square spiral pattern
QR code generated from URL input demonstrating barcode creation functionality
Generated Code93 barcode example showing vertical black and white bars pattern
PDF417 barcode with stacked rows encoding flight ID alphanumeric data
Codabar barcode displaying numeric data with start/stop characters

Wie kann ich generierte BarCodes anpassen?

Nachdem Sie Ihren Barcode erstellt haben, können Sie sein Aussehen mit den Styling-Funktionen von IronBarcode verbessern. So erstellen Sie einen individuellen Barcode mit Farben, Anmerkungen und Rändern:

using IronBarCode;

// Create a barcode with custom styling
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Apply custom styling
myBarcode.ResizeTo(300, 100);
myBarcode.SetMargins(10);
myBarcode.ChangeBarCodeColor(Color.DarkBlue);

// Add text annotations
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12);

// Save the customized barcode
myBarcode.SaveAsPng("customized-barcode.png");
using IronBarCode;

// Create a barcode with custom styling
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Apply custom styling
myBarcode.ResizeTo(300, 100);
myBarcode.SetMargins(10);
myBarcode.ChangeBarCodeColor(Color.DarkBlue);

// Add text annotations
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.AddAnnotationTextAboveBarcode("Product SKU", Font.Arial, Color.Black, 12);

// Save the customized barcode
myBarcode.SaveAsPng("customized-barcode.png");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Weitere Gestaltungsmöglichkeiten finden Sie in der Anleitung Anpassen und Gestalten von BarCodes.

Wie kann ich einen BarCode aus einem Byte-Array erstellen?

Warum ist die Zeichenkodierung für Byte Array BarCodes wichtig?

Um Barcodes aus Byte-Arrays zu erstellen, muss die Zeichenkodierung mit der erforderlichen BarcodeEncoding übereinstimmen, da jeder Barcodetyp eine andere Zeichenkodierung akzeptiert. Das Verständnis der Ausgabedatenformate gewährleistet Kompatibilität. Hier sind die in IronBarcode verfügbaren Zeichenkodierungen:

  • ASCII: Verwendet 7 Bits pro Zeichen für englische Buchstaben, Ziffern und Interpunktion. Beispiel: "A" = 65.
  • UTF-8: Kodierung mit variabler Länge für alle Unicode-Zeichen. Beispiel: € = 0xE2 0x82 0xAC.
  • UTF-16: Verwendet 16-Bit-Sequenzen für Unicode. Beispiel: α = 0x03B1.
  • UTF-32: Feste 32-Bit-Sequenz pro Zeichen. Beispiel: α = 0x000003B1.
  • ISO-8859-1: Erweitert ASCII für westeuropäische Sprachen. Beispiel: é = 233.

[{i:Die Standardzeichencodierung in IronBarcode ist ISO-8859-1.}]

Wie konvertiere ich Byte-Arrays in BarCodes?

Der folgende Code demonstriert die Erzeugung eines Barcodes aus Byte-Daten:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-byte.cs
using IronBarCode;
using System.Text;

byte[] text = Encoding.UTF8.GetBytes("Hello, World!");
byte[] url = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
byte[] receiptID = Encoding.UTF8.GetBytes("2023-08-04-12345"); // Receipt ID (numeric id)
byte[] flightID = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456"); // Flight id (alphanumeric id)
byte[] number = Encoding.UTF8.GetBytes("1234");

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.Text

Private text() As Byte = Encoding.UTF8.GetBytes("Hello, World!")
Private url() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
Private receiptID() As Byte = Encoding.UTF8.GetBytes("2023-08-04-12345") ' Receipt ID (numeric id)
Private flightID() As Byte = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456") ' Flight id (alphanumeric id)
Private number() As Byte = Encoding.UTF8.GetBytes("1234")

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

Dieses Snippet wandelt fünf String-Eingaben in System.Byte[]-Objekte um. Um diese Byte-Arrays in Barcodes umzuwandeln, übergeben Sie sie an BarcodeWriter mit der gewünschten BarcodeEncoding. Legen Sie optional MaxWidth und MaxHeight für die Größe des Barcodes fest.

Arbeiten mit binären Daten und Sonderzeichen

Wenn Sie mit binären Daten oder Sonderzeichen arbeiten, verwenden Sie Unicode BarCodes schreiben für internationale Zeichenunterstützung. Hier ist ein Beispiel für den Umgang mit binären Daten:

using IronBarCode;
using System.Text;
using System.IO;

// Example: Encoding binary data (like a small file) into QR Code
byte[] binaryData = File.ReadAllBytes("document.pdf");
string base64Data = Convert.ToBase64String(binaryData);

// Create QR code with high error correction for binary data
GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode(
    base64Data, 
    BarcodeEncoding.QRCode
);

// Set high error correction for data integrity
binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High);

// Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500);
binaryBarcode.SaveAsPng("binary-data-qr.png");
using IronBarCode;
using System.Text;
using System.IO;

// Example: Encoding binary data (like a small file) into QR Code
byte[] binaryData = File.ReadAllBytes("document.pdf");
string base64Data = Convert.ToBase64String(binaryData);

// Create QR code with high error correction for binary data
GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode(
    base64Data, 
    BarcodeEncoding.QRCode
);

// Set high error correction for data integrity
binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High);

// Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500);
binaryBarcode.SaveAsPng("binary-data-qr.png");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Wie erstelle ich einen BarCode aus einem Speicherstrom?

Wann sollte ich Memory Streams für die Erzeugung von Barcodes verwenden?

Memory Streams eignen sich am besten für die Verarbeitung von Daten, die nicht auf der Festplatte gespeichert werden müssen, wie z. B. dynamisch generierte Inhalte in Webanwendungen oder die Verarbeitung von Datenbanken. Die Anleitung BarCode als Stream exportieren bietet zusätzlichen Kontext für Stream-basierte Workflows.

Der folgende Code demonstriert die Erzeugung eines Barcodes aus einem Speicherstrom:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-stream.cs
using IronBarCode;
using System.IO;
using System.Text;

MemoryStream text = new MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"));
MemoryStream url = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"));
MemoryStream receiptID = new MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")); // Receipt ID (numeric id)
MemoryStream flightID = new MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")); // Flight id (alphanumeric id)
MemoryStream number = new MemoryStream(Encoding.UTF8.GetBytes("1234"));

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.IO
Imports System.Text

Private text As New MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"))
Private url As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"))
Private receiptID As New MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")) ' Receipt ID (numeric id)
Private flightID As New MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")) ' Flight id (alphanumeric id)
Private number As New MemoryStream(Encoding.UTF8.GetBytes("1234"))

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

Was sind die Vorteile der Verwendung von Memory Streams?

Dieses Snippet erstellt einen MemoryStream aus einem System.Byte[]-Objekt und verwendet es dann als Eingabe in BarcodeWriter.CreateBarcode(), um einen Barcode aus den Daten des Speicherstroms zu erzeugen. Memory-Streams bieten mehrere Vorteile:

  1. Leistung: Keine Festplatten-E/A-Operationen, schneller für temporäre Daten
  2. Sicherheit: Daten verbleiben im Speicher, so dass weniger sensible Informationen preisgegeben werden
  3. Flexibilität: Einfache Integration mit Stream-basierten APIs und Bibliotheken
  4. Ressourceneffizienz: Automatische Speicherverwaltung und -entsorgung

Erweitertes Beispiel für Stream Processing

Kombinieren Sie IronBarcode für komplexe Szenarien mit Stream-Verarbeitung mit anderen Streaming-Verfahren:

using IronBarCode;
using System.IO;
using System.Text;

// Example: Processing multiple barcodes in a batch using streams
public static List<Stream> GenerateBarcodeStreams(List<string> dataItems)
{
    var barcodeStreams = new List<Stream>();

    foreach (var item in dataItems)
    {
        // Convert string to stream
        var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item));

        // Generate barcode from stream
        var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128);

        // Export barcode back to stream
        var outputStream = new MemoryStream();
        barcode.SaveAsPng(outputStream);
        outputStream.Position = 0; // Reset position for reading

        barcodeStreams.Add(outputStream);
    }

    return barcodeStreams;
}

// Usage example
var orderNummers = new List<string> { "ORD-001", "ORD-002", "ORD-003" };
var barcodes = GenerateBarcodeStreams(orderNummers);
using IronBarCode;
using System.IO;
using System.Text;

// Example: Processing multiple barcodes in a batch using streams
public static List<Stream> GenerateBarcodeStreams(List<string> dataItems)
{
    var barcodeStreams = new List<Stream>();

    foreach (var item in dataItems)
    {
        // Convert string to stream
        var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item));

        // Generate barcode from stream
        var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128);

        // Export barcode back to stream
        var outputStream = new MemoryStream();
        barcode.SaveAsPng(outputStream);
        outputStream.Position = 0; // Reset position for reading

        barcodeStreams.Add(outputStream);
    }

    return barcodeStreams;
}

// Usage example
var orderNummers = new List<string> { "ORD-001", "ORD-002", "ORD-003" };
var barcodes = GenerateBarcodeStreams(orderNummers);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Informationen zu asynchronen Operationen und verbesserter Leistung in Multithreading-Anwendungen finden Sie im Leitfaden Verwendung von Async und Multithreading.

Häufig gestellte Fragen

Wie erstelle ich einen BarCode aus Text in C#?

Sie können einen Barcode aus Text in C# mit IronBarcode mit nur einer Zeile Code erstellen: BarcodeWriter.CreateBarcode("YourText", BarcodeWriterEncoding.Code128). IronBarcode unterstützt mehrere Formate wie QR Code, Code128, PDF417, Aztec und mehr.

Welche Arten von Daten kann ich in BarCodes kodieren?

Mit IronBarcode können Sie verschiedene Datentypen kodieren, darunter Strings, URLs, IDs, binäre Daten (Byte-Arrays) und Speicherströme. Die Bibliothek übernimmt automatisch die Konvertierung und Kodierung auf der Grundlage des von Ihnen gewählten Barcodeformats.

Welches BarCode-Format sollte ich für URLs verwenden?

QR-Codes sind die beste Wahl für die Codierung von URLs in IronBarcode. QR-Codes können bis zu 4.296 alphanumerische Zeichen speichern und verfügen über Fehlerkorrekturfunktionen, wodurch sie sich ideal für Web- und E-Mail-Adressen eignen.

Welches Barcode-Format eignet sich am besten für Bestellnummern und Seriencodes?

Code128 ist das ideale Format für alphanumerische Daten wie Bestellnummern und Seriencodes, wenn IronBarcode verwendet wird. Es ist hocheffizient für moderne Anwendungen und bietet eine ausgezeichnete Datendichte für gemischte Zeichensätze.

Kann ich BarCodes aus binären Daten erstellen?

Ja, IronBarcode unterstützt die Erstellung von Barcodes aus Binärdaten unter Verwendung von System.Byte[]-Arrays oder System.IO.Stream-Eingaben über die CreateBarcode-Methode, so dass Sie jede Art von Binärinformationen kodieren können.

In welchen Bildformaten kann ich BarCodes speichern?

Mit IronBarcode können Sie generierte Barcodes in mehreren Bildformaten speichern, darunter PNG, JPEG, BMP, GIF und TIFF. Die Bibliothek bietet flexible Exportoptionen für verschiedene Anwendungsfälle.

Wie viele Daten kann ich in einem PDF417-Barcode speichern?

PDF417-Barcodes, die mit IronBarcode erstellt werden, können bis zu 1.850 alphanumerische Zeichen speichern und eignen sich daher perfekt für komplexe Daten wie Flugtickets, Versandetiketten und Behördenausweise.

Welches BarCode-Format eignet sich am besten für das mobile Ticketing?

Aztec-Barcodes sind bei Verwendung von IronBarcode optimal für mobile Ticketing- und Transportanwendungen geeignet. Sie benötigen weniger Platz als QR-Codes und bieten gleichzeitig eine hohe Datenkapazität und Lesbarkeit auf mobilen Geräten.

Hairil Hasyimi Bin Omar
Software Ingenieur
Wie alle großen Ingenieure ist Hairil ein leidenschaftlicher Lerner. Er verfeinert sein Wissen in C#, Python und Java, um Iron Software-Teammitgliedern Mehrwert zu bieten. Hairil kam von der Universiti Teknologi MARA in Malaysia, wo er seinen Bachelor in Chemie- und Verfahrenstechnik abschloss.
Bereit anzufangen?
Nuget Downloads 2,002,059 | Version: 2025.12 gerade veröffentlicht