Erstellung von 1D und linearen BarCodes

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

Wenn es um die Übermittlung von Informationen geht, sind lineare Barcodes nicht ohne Grund immer noch der Industriestandard. Sie sind schnell, zuverlässig und funktionieren mit fast jedem Scanner. Da diese BarCodes keine komplexe Bildverarbeitung erfordern, sind sie außerdem die beste Wahl für Hochgeschwindigkeitsumgebungen wie Kassenschlangen im Einzelhandel und Förderbänder.

Die größte Herausforderung besteht darin, das richtige Format für Ihre spezifischen Anforderungen zu wählen. Vielleicht benötigen Sie die hohe Datendichte des Code 128 für ein Versandetikett, die kompakte Größe des EAN-8 für kleine Produkte oder die strenge Formatierung eines Intelligent Mail Barcodes für Postdienste. Mit IronBarcode können Sie all diese Formate sicher generieren und wissen, dass Ihr Prozess effizient und zuverlässig ist.

In diesem Leitfaden erfahren Sie, wie Sie die wichtigsten 1D-Formate und ihre alltäglichen Anwendungsfälle mit IronBarcode generieren können.

Erste Schritte mit IronBarcode

Nutzen Sie IronBarcode heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer


Erstellen von 1D und linearen BarCodes

Lineare eindimensionale Barcodes bestehen aus Linien und Leerzeichen mit variabler Breite, die Daten horizontal speichern. Im Gegensatz dazu verwenden zweidimensionale Barcodes, wie z. B. QR-Codes, ein Gitter aus Quadraten, um Informationen in zwei Dimensionen zu speichern. Während zweidimensionale Codes wesentlich mehr Daten aufnehmen können, wie z. B. URLs oder Kontaktkarten, sind eindimensionale Barcodes auf kurze alphanumerische Zeichenketten beschränkt.

Dank dieser Einfachheit können eindimensionale Barcodes jedoch schneller gescannt werden. Es macht sie universell kompatibel mit Standard-Laserscannern, was sie zur bevorzugten Wahl für Hochgeschwindigkeits-Einzelhandels- und Logistikumgebungen macht.

Im Folgenden werden die am meisten unterstützten Formate und ihre Erstellung mit IronBarcode vorgestellt. Außerdem werden die gängigen Werte und Szenarien für die Verwendung der einzelnen Typen erläutert.

Code-128

Code 128-Barcodes werden häufig für interne Logistik und Versandetiketten verwendet. Das Programm unterstützt den vollen ASCII-Zeichenbereich von 128 Zeichen und ist damit äußerst effizient bei der Komprimierung von Standardzahlen und englischem Text auf kleinem Raum.

Allerdings sind Unicode oder nicht-lateinische Zeichen ohne zusätzliche Erweiterungen nicht von Haus aus erlaubt. Sie unterstützt keine komplexen Zeichen aus Sprachen wie Chinesisch oder Arabisch und würde stattdessen die Daten falsch interpretieren, was zu einer falschen Ausgabe führen würde.

Code

IronBarcode macht die Generierung von Code-128 einfach: Wir übergeben BarcodeEncoding.Code128 als zweiten Parameter beim Aufruf der Methode Create und exportieren es dann als Bild.

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

// Specify Code 128 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128);

// Add barcode value text below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save it as JPG
barcode.SaveAsJpeg("code128-sample.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

Code-128 Beispiel Output

GSI-128

GS1-128 ist ein zusätzliches Datenformat, das auf den Code 128 aufgesetzt wird. Der Hauptvorteil von GS1-128 besteht darin, dass die Daten weltweit einheitlich interpretiert werden können, wodurch Fehlinterpretationen und Mehrdeutigkeit der Daten vermieden werden.

Aufgrund der strengen Formatierung ist der Barcode jedoch nicht konform, wenn ein verstecktes Steuerzeichen fehlt oder eine falsche Feldlänge angegeben wird, was die manuelle Erstellung erschwert.

GSI-128 Formatierung

Ein Barcode-Scanner verwendet auch KI (Application Identifier), ein numerisches Präfix, das die Informationen im Produktcode identifiziert.

GS1-128 folgt einer vierteiligen Datenstruktur (siehe unten):

(Numerisches Präfix 01) GTIN (Globale Handelsartikelnummer): Der erste Teil der Struktur ist die Global Trade Item Number. Dies ist die eindeutige ID des Produkts, die angibt, worum es sich bei dem Produkt handelt. Sie muss aus genau 14 Ziffern numerischer Daten bestehen. Wenn der Produktcode kürzer ist, müssen Sie den Wert mit führenden Nullen auffüllen. Wenn Ihr Produktcode zum Beispiel eine 12-stellige Zahl wie 123456789012 ist, müssen Sie zwei Nullen vorangestellt werden, um die Anforderung zu erfüllen (z. B. 00123456789012).

(Numerisches Präfix 10) Batch/Lot: Das numerische Präfix 10 kennzeichnet die Chargen- oder Losnummer des Produkts im GS1-128-Code. Das Format kann zwischen 1 und 20 alphanumerischen Zeichen variieren. Wenn Sie die Chargennummer in der Mitte des Barcodes platzieren, stellen Sie sicher, dass Sie FNC1 als Trennzeichen verwenden, damit der Scanner weiß, wo die Chargennummer endet und das nächste Feld beginnt. Wenn die Chargennummer ganz am Ende des Barcodes steht, ist das Trennzeichen nicht erforderlich.

(Numerisches Präfix 17) Verfallsdatum: Nach dem numerischen Präfix 17 folgt das Verfallsdatum des Produkts. Das Format ist auf sechs Ziffern festgelegt. Sie folgt strikt der JJMMTT-Regel; 251231 wäre zum Beispiel der 31. Dezember 2025. Beachten Sie, dass das Programm keine 4-stelligen Jahreszahlen verwendet und das Jahrhundert automatisch auf der Grundlage eines gleitenden Fensters annimmt.

(Numerische Vorsilbe 21) Seriennummer: Nach dem numerischen Präfix 21 folgt die Seriennummer des Produkts. Sie identifiziert die einzigartige individuelle Einheit. Das Format ist von variabler Länge und umfasst 1-20 alphanumerische Zeichen.

[{i:(Bitte beachten Sie, dass im Produktcode immer nur der Anker (z. B. GTIN) benötigt wird; die Attribute Charge, Ablaufdatum und Seriennummer sind für den BarCode optional

[{w:(Obwohl nur die GTIN erforderlich ist, haben einige Einzelhändler möglicherweise ihre eigenen Richtlinien für die Einhaltung des Strichcodes. Bitte stellen Sie sicher, dass Sie bei der Erstellung des Barcodes die relevanten Informationen auf deren Seite überprüfen. @@--KLAMMER-SCHLIESSEN--@@

GSI-Format-Tabelle

KI Name Datentyp Länge Fest oder variabel?
01 GTIN (Globale Handelsartikelnummer) Numerisch 14 Ziffern Fixed
10 Batch/Losnummer Alphanumerisch 1-20 Zeichen Variable
(Benötigt FNC1-Begrenzer, wenn nicht am Ende)
17 Verfallsdatum Numerisch (Datum) 6 Ziffern
(JJMMTT)
Fixed
21 Seriennummer Alphanumerisch 1-20 Zeichen Variable
(Benötigt FNC1-Begrenzer, wenn nicht am Ende)

Code

Die Erstellung eines GS1-128-Barcodes ist relativ einfach; entwickler müssen nur BarcodeEncoding.Code128GS1 als zweiten Parameter beim Aufruf von Create übergeben.

Das folgende Beispiel zeigt einen vollständigen GS1-128-konformen Wert mit allen vier Attributen und exportiert ihn anschließend als Bild.

[{i:(Beachten Sie, dass die Klammern für jedes numerische Präfix erforderlich sind, wie unten gezeigt, sonst würde dieser spezielle Abschnitt nicht als gültiges Attribut erkannt und bei der Erstellung des endgültigen Barcodes übersprungen werden.@@--KLAMMER-SCHLIESSEN--@@

[{i:(IronBarcode fügt beim Erstellen von GSI-128 automatisch das FNC1-Trennzeichen für Sie ein.@@--KLAMMER-SCHLIESSEN--@@

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

// Valid GS1-128 String: GTIN + Expiry + Batch + Serial Number
string gs1Value = "(01)01234567890128(17)251231(10)BATCH001(21)111111";

// Create the barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1);

// Display the value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("gsi128-sample.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

GS1-128 Beispiel Output

Fehlerbehebung

Wenn Ihr String-Wert nicht den Standards von GS1-128 entspricht, löst IronBarcode bei der Ausführung des Codes eine Ausnahme aus. Bitte überprüfen Sie den Wert Ihrer Zeichenkette anhand der obigen Tabelle und ändern Sie den Wert der Zeichenkette entsprechend.

GS1-128-Ausnahme

Code 39

Der Code 39 ist einer der ersten verfügbaren Standards für alphanumerische Barcodes und für seine Zuverlässigkeit bekannt. Die häufigsten Anwendungsfälle für Code 39-Barcodes sind der Automobil- und der Verteidigungssektor.

Die Anzahl der für den Code 39 zulässigen Zeichen ist jedoch relativ gering. Erlaubt sind nur englische Großbuchstaben, Ziffern und einige Symbole wie /, ., -, etc. Kleinbuchstaben werden im Standardmodus nicht unterstützt.

Code

Um einen Code39-Barcode zu erzeugen, müssen wir BarcodeEncoding.Code39 als zweiten Parameter übergeben, wenn wir die Methode Create verwenden.

Hier ist ein Beispiel.

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

// Specify Code39 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("code39.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

Code39 Beispiel Output

Fehlerbehebung

Code39-Ausnahme

Wenn der String-Wert nicht dem Code39-Standard entspricht, würde IronBarcode diese Ausnahme auslösen.

[{w:( Obwohl der erweiterte Modus von Code39 den gesamten ASCII-Zeichenbereich unterstützt, bietet IronBarcode derzeit keine Unterstützung für die Erstellung von Code39-Barcodes im erweiterten Modus; im Moment wird nur das Lesen unterstützt. Um sowohl den erweiterten als auch den Standard-Code39 zu lesen, lesen Sie bitte hier@@--KLAMMER-SCHLIESSEN--@@.

Code 93

Code 93 wurde als verbesserte Version des Code 39 entwickelt, der häufig in der Logistik und bei der Kennzeichnung von elektronischen Bauteilen verwendet wird, wo der Platz begrenzt ist, aber alphanumerische Daten erforderlich sind.

Es werden alle ASCII-Zeichen sowie englische Großbuchstaben, Ziffern und Symbole akzeptiert. Er bietet eine höhere Dichte als Code 39.

Code

Um einen Code 93-Barcode zu erzeugen, übergeben Sie BarcodeEncoding.Code93 als zweiten Parameter, wenn Sie Create verwenden. Hier ist der Beispielcode dafür.

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

// Valid Input: Uppercase A-Z, 0-9, specific symbols
string code93Value = "ELEC-COMP-99";

// Create Code 93
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("code93.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

Code93 Beispiel Output

CodaBar

Codabar wird häufig in Szenarien verwendet, in denen eine schlechte Druckqualität zu erwarten ist, da es sehr robust ist. Daher wird es häufig in Szenarien wie Blutbanken und Bibliotheken verwendet.

Das Codabar-Barcode-Format ist von variabler Länge, unterstützt aber nur einen begrenzten Zeichensatz. Sie darf nur Ziffern (0-9) und Symbole wie (-, $, :, /, ., +) enthalten. Sie können auch die Start- und Stoppzeichen A, B, C und D verwenden, um anzugeben, wann der Text beginnt oder endet. Sie können diese Zeichen jedoch nicht in den Mittelteil einfügen; sie sind nur am Anfang oder am Ende erlaubt.

Code

Um einen BarCode im Codabar-Format zu erzeugen, übergeben Sie BarcodeEncoding.Codabar als zweiten Parameter, wenn Sie Create verwenden. Hier ist der Beispielcode dafür.

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

// Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or D
string codabarValue = "10500200";

// Create Codabar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("codabar.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

Codabar Beispiel Output

Fehlerbehebung

Wenn der Eingabewert Buchstaben enthält, würde IronBarcode eine Ausnahme auslösen, die besagt, dass es nur numerische Werte akzeptiert.

Codabar-Ausnahme

DataBar

GS1 DataBar (ehemals RSS-14) ist eine standardisierte, kompaktere Version, die die Produktidentifikationsnummer enthält.

Ähnlich wie bei der GS1-128-Variante gibt es ein strenges Kodierungsformat, an das sich die Entwickler halten müssen. Die Variante Omnidirectional enthält nur das Attribut Produktcode.

GS1-DataBar Format

(Numerisches Präfix-01) GTIN (Globale Handelsartikelnummer) : Der erste und einzige Teil der Struktur ist die Global Trade Item Number. Dies ist die eindeutige ID des Produkts. Sie muss aus genau 14 Ziffern numerischer Daten bestehen.

[{w:(Der Standard "GS1 DataBar Omnidirectional" kann nur die GTIN (01) enthalten. Um die unten aufgeführten zusätzlichen Teile einzuschließen, müssen Sie GS1 DataBar Expanded verwenden.@@--KLAMMER-SCHLIESSEN--@@

Code

Um einen GS1 DataBar-Barcode zu erzeugen, übergeben Sie BarcodeEncoding.DataBar als zweiten Parameter, wenn Sie Create verwenden. Hier ist der Beispielcode dafür.

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

// Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digit.
string databarValue = "0123456789012";

// Create GS1 DataBar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("databar.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

GS1-Databar Beispiel Output

EAN-13

EAN-13 ist der Standard-Strichcode für den Einzelhandel, der weltweit zur Kennzeichnung von Konsumgütern verwendet wird - eines der am häufigsten verwendeten Strichcodeformate.

Die EAN-13 wird jedoch in der Regel durch eine strenge Lizenzierung erworben. Sie können nicht einfach eine EAN-13-Nummer für den öffentlichen Gebrauch generieren; sie müssen einen GS1 Company Prefix lizenzieren, um sicherzustellen, dass Ihre BarCodes eindeutig sind. Daraus folgt auch, dass sie nur 13 numerische Ziffern enthalten darf und numerisch ist.

Darüber hinaus hat EAN-13 auch seine eigenen Formatierungsregeln.

EAN-13-Formatierung

Ein EAN-13-Strichcode besteht aus vier Teilen, wie unten dargestellt.

GS1-Präfix (erste 3 Ziffern): Kennzeichnet die GS1-Mitgliedsorganisation, in der Regel das Land, in dem der Hersteller registriert ist. Zum Beispiel: 000-019 (USA/Kanada - kompatibel mit UPC), 500-509 (Großbritannien), 450-459 (Japan).

Hersteller-Code: Ein Code mit variabler Länge, der dem Unternehmen von GS1 zugewiesen wird.

Produktcode: Wird vom Hersteller für einen bestimmten Artikel vergeben.

Prüfziffer (letzte Ziffer): Eine einzelne Ziffer, die mit einem Modulo-10-Algorithmus aus den ersten 12 berechnet wird. Sie stellt sicher, dass der Scanner den Barcode richtig liest.

[{w:(Präfixe, die mit 2 beginnen (insbesondere 200-299), sind für begrenzte Auflagenzahlen reserviert. In einer Produktionsumgebung sollten diese Präfixe bei der Erstellung eines EAN-13-Strichcodes nicht verwendet werden

Code

Um einen EAN-13-Strichcode zu erzeugen, übergeben Sie BarcodeEncoding.EAN13 als zweiten Parameter, wenn Sie Create verwenden. Hier ist der Beispielcode dafür.

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

// Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.
string ean13Value = "4006381333931";

// Create EAN-13
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("ean13.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

EAN-13-Beispielausgabe

Fehlerbehebung

IronBarcode würde bei numerischen Werten nur dann eine Ausnahme machen, wenn es andere Zeichen gibt.

EAN-13-Fehlerbehebung

EAN-8

EAN-8 ist die verkürzte Version des standardisierten EAN-13-Strichcodes für den Einzelhandel. Der Hauptanwendungsfall sind kleine Verbraucherprodukte, bei denen ein Barcode in voller Größe zu viel Platz beanspruchen würde. EAN-8-Strichcodes sind typischerweise in Artikeln wie Bleistiften und Kosmetika zu finden.

Im Gegensatz zu Code 128 oder Code 39 wird bei EAN-8 in der Regel ein bestimmtes Präfix zugewiesen, anstatt dass die Entwickler eine Nummer willkürlich zuweisen.

Daher verwendet EAN-8 ein strenges 8-stelliges Format. Sie hat 7 Datenziffern und genau eine Prüfziffer und ist rein numerisch.

Code

Die Erstellung eines EAN-8-Codes erfolgt einfach durch Übergabe des Wertes BarcodeEncoding.EAN8 an den zweiten Parameter bei der Verwendung von Create. Ein Beispiel ist unten abgebildet.

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

// Valid Input: 7 digits (library calculates 8th check digit).
string ean8Value = "1234567";

// Create EAN-8
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("ean8.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

EAN-8-Beispielausgabe

Fehlerbehebung

Wenn der Eingabewert 8 oder mehr numerische Zeichen enthält, würde IronBarcode eine Ausnahme auslösen, die besagt, dass die EAN-8 Längenanforderung 8 Zeichen beträgt.

EAN-8-Ausnahme

Intelligent Mail (IMB)

Der Intelligent Mail BarCode (IMB) ist der USPS-Standard für die Automatisierung der Postsortierung und -verfolgung. Im Gegensatz zu herkömmlichen BarCodes, die sich in der Breite der Balken unterscheiden, verwendet der IMB höhenmodulierte Balken, um Daten zu kodieren. Die Inanspruchnahme von Preisnachlässen für die Automatisierung von Briefen und Wohnungen ist obligatorisch. Der IMB-Barcode unterstützt nur eine bestimmte Anzahl von numerischen Längen; der Wert muss 20, 25, 29 oder 31 Ziffern betragen.

Außerdem werden bestimmte numerische Präfixe verwendet, um Informationen zu definieren, wie unten gezeigt.

Intelligente E-Mail-Formatierung

(Erste 2 Ziffern) BarCode ID: Der erste Teil der Struktur ist der BarCode Identifier. Es handelt sich um rein numerische Daten mit 2 Ziffern. Für die meisten kommerziellen Standardmails ist dieser Wert 00.

(Nächste 3 Ziffern) Service Type ID (STID): Die nächsten 3 Ziffern definieren die Klasse der Post (z. B. First Class, Marketing Mail) und die von Ihnen angeforderten Dienstleistungen (z. B. Adresskorrektur, Sendungsverfolgung). Dies ist entscheidend für Postrabatte.

(Nächste 6 oder 9 Ziffern) Mailer ID (MID): Nach der STID folgt die Mailer ID. Dies ist eine 6- oder 9-stellige Nummer, die Ihrem Unternehmen vom USPS direkt zugewiesen wird.

(Nächste 6 oder 9 Ziffern) Seriennummer: Nach der Mailer-ID kommt die Seriennummer. Dies kennzeichnet das einzigartige individuelle Poststück.

(Letzte 0, 5, 9 oder 11 Ziffern) Routing Code: Der letzte Teil der Struktur ist der Routing Code, der einfach die Zustell-Postleitzahl ist.

Code

Um einen IMB-Barcode zu erzeugen, übergeben wir BarcodeEncoding.IntelligentMail als zweiten Parameter, wenn wir die Methode Create aufrufen. Hier ist ein Beispiel, das dies verdeutlicht.

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

// Valid Input: 20, 25, 29, or 31 digits. 
// Format: Barcode ID(2) + Service(3) + Mailer ID(6/9) + Serial(9/6) + Routing Zip(0/5/9/11)
string imbValue = "00270123456200800001";

// Create Intelligent Mail
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("imb.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

Intelligent Mail Beispiel Output

Fehlerbehebung

IronBarcode würde eine Ausnahme auslösen, die besagt, dass das Format falsch ist, wenn es nicht befolgt wird. Bitte überprüfen Sie den String-Wert aus dem obigen Format und versuchen Sie es nach der Änderung erneut.

Intelligente Mail-Ausnahme

Modifiziertes Plessey (MSI)

MSI ist ein Barcode, der häufig auf Regaletiketten im Einzelhandel und in der Lagerbestandsverwaltung verwendet wird, aber nur selten auf Verbraucherprodukten zu finden ist.

MSI ist ein rein numerischer Barcode; als solche sind keine Buchstaben oder Symbole erlaubt. Die Länge variiert, der Standard liegt jedoch bei 10-15 Stellen.

Code

Um einen MSI-Barcode zu erzeugen, übergeben wir BarcodeEncoding.MSI als zweiten Parameter, wenn wir die Methode Create aufrufen. Hier ist ein Beispiel, das dies verdeutlicht.

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

// Valid Input: Numeric digits only. Variable length.
string msiValue = "1234567890";

// Create MSI
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("msi.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

MSI-Beispielausgabe

UPC-A

UPC-A ist der Standard-Strichcode für den Einzelhandel, der in den Vereinigten Staaten und Kanada verwendet wird. Es handelt sich um eine 12-stellige Untermenge des EAN-13-Standards. Sie sind am häufigsten auf Produkten zu finden, die in nordamerikanischen Supermärkten verkauft werden.

Ähnlich wie bei EAN-13 wird sie in der Regel zugewiesen und nicht erzeugt.

UPC-A enthält genau 12 numerische Ziffern und lässt keine Buchstaben zu.

UPC-A-Formatierung

Zahlensystem-Zeichen (1): Identifiziert den Produkttyp (0, 1, 6, 7, 8 normalerweise für den Standardeinzelhandel; 2 für Zufallsgewicht, 3 für Medikamente, 5 für Gutscheine).

Hersteller-Code (5): Zugewiesen von GS1.

Produktcode (5): Wird vom Hersteller zugewiesen.

Prüfziffer (1): Berechnete Modulo-10-Prüfsumme.

Code

Um einen UPC-A-Barcode zu erzeugen, übergeben wir den BarcodeEncoding.UPCA als zweiten Parameter, wenn wir die Methode Create aufrufen. Hier ist ein Beispiel, das dies verdeutlicht.

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

// Valid Input: 11 digits (library calculates 12th check digit) or full 12 digits.
string upcaValue = "01234567890";

// Create UPC-A
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG 
barcode.SaveAsJpeg("upca.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

UPC-A Beispiel Output

Fehlerbehebung

Wie Sie sehen können, gibt IronBarcode einen Fehler aus, wenn der angegebene numerische Wert die Länge 13 überschreitet.

UPC-A Ausnahmeklasse=

UPC-E

UPC-E ist die kompakte Version des standardmäßigen UPC-A-Barcodes. Sie ist ausdrücklich für kleine Einzelhandelsverpackungen wie Getränkedosen gedacht, bei denen ein vollständiger 12-stelliger UPC-A-Barcode zu groß zum Scannen wäre.

Wie die UPC-A-Formatierung ist sie streng numerisch und akzeptiert keine Buchstaben und Symbole.

Code

Um einen UPC-E-Barcode zu erzeugen, übergeben wir BarcodeEncoding.UPCE als zweiten Parameter, wenn wir die Methode Create aufrufen. Hier ist ein Beispiel, das dies verdeutlicht.

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

// Valid Input:8 digits or less, which the last digit is a check digit calculated from the first 7 digits. 
// IronBarcode automatically calculates the check digit if only 7 digits are provided.
string upceValue = "0123456";

// Create UPC-E
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("upce.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

UPC-E Beispiel Output

Fehlerbehebung

Wie Sie sehen können, gibt IronBarcode einen Fehler aus, wenn die angegebene numerische Ziffer mehr als 8 beträgt.

UPC-E Fehlerbehebung

Übersicht über die verschiedenen 1D BarCode-Typen

Name Format Häufige Verwendung Beschränkungen und Fallstricke
Code 128 Alphanumerisch
Vollständiges ASCII 128 unterstützt. Variable Länge. Hohe Dichte.
Interne Logistik, Versandetiketten, Anlagenverfolgung, ID-Karten.
  • Kein Unicode: Sonderzeichen (wie Chinesisch oder Emojis) können nicht nativ kodiert werden, ohne die Scanner-Kompatibilität zu beeinträchtigen.
  • Druckerqualität: Erfordert hohe Auflösung; Thermodruck mit niedrigem DPI kann zu Problemen bei der Lesbarkeit führen.
GS1-128 Strukturierte Alphanumerik
Code 128 mit führendem FNC1 + Anwendungskennungen (z. B. (01)).
Globale Lieferkette (Walmart/Amazon), Palettenetiketten, EDI.
  • Fehlendes FNC1: Die Übersetzung muss mit dem unsichtbaren Zeichen FNC1 beginnen, sonst wird sie von Scannern als Rohtext gelesen.
  • Parenthesen: Kodieren Sie die () um KIs nicht; sie dienen nur der menschlichen Lesbarkeit.
Code 39 Alphanumerisch (Eingeschränkt)
Großbuchstaben A-Z, 0-9 und -. $ / + % Leerzeichen.
Automobilindustrie (KIAG), Verteidigung (LOGMARS), alte Industrie-IDs.
  • Keine Kleinschreibung: Der Standardmodus schlägt fehl, wenn Sie "a" eingeben. Der erweiterte Modus unterstützt es, erfordert aber eine spezielle Scanner-Konfiguration.
  • Niedrige Dichte: Erzeugt sehr breite Barcodes, nicht geeignet für kleine Etiketten.
Code 93 Alphanumerisch
Ähnlich dem Code 39, aber mit einer höheren Dichte.
Elektronik (PCBs), Canada Post und interne Fertigung.
  • Prüfziffern: Erfordert zwei obligatorische Prüfziffern (C und K). Berechnen Sie diese nicht manuell, sondern lassen Sie die Bibliothek dies tun.
  • Scannerunterstützung: Oftmals sind Scanner standardmäßig deaktiviert, um Konflikte mit Code 39 zu vermeiden.
Codabar Numerische + Symbole
0-9 und - $ : /. +. Start/Stopp: A, B, C, D.
Blutbanken, Bibliotheken, FedEx Airbills (Legacy).
  • Kurzlesungen: Fehleranfällig, wenn ein Scanner einen Teil des Codes liest (z. B. "123" aus "12345").
  • Keine Buchstaben: Es dürfen keine Datenbuchstaben kodiert werden, nur A-D als Trennzeichen.
GS1 DataBar Numerisch (14 Ziffern)
Enkodiert nur GTIN-14. Äußerst kompakt.
Lose Produkte (Fruchtaufkleber), kleine Kosmetika und medizinische Fläschchen.
  • Keine Attribute: Die Standardversion von Omnidirectional kann keine Verfalls- oder Chargendaten enthalten (erfordert die erweiterte Version).
  • Strenge Eingabe: Muss genau 14 Ziffern umfassen.
EAN-13 Numerisch (13 Ziffern)
Land + Hersteller + Produkt + Prüfziffer.
Globale Einzelhandelsverkaufsstellen (Supermärkte).
  • Lizenzierung: Erfordert ein kostenpflichtiges GS1 Company Prefix.
  • Eingeschränkte Präfixe: Die Präfixe 200-299 sind nur für die Verwendung in Geschäften vorgesehen und funktionieren nicht in der globalen Lieferkette.
EAN-8 Numerisch (8 Ziffern)
7 Daten + 1 Prüfziffer.
Winzige Einzelhandelsverpackungen (Kaugummi, Bleistifte).
  • Verfügbarkeit: Schwer zu erhalten; GS1 gibt diese nur aus, wenn Ihr Produkt physisch zu klein für EAN-13 ist.
  • Eingabelänge: Muss genau 7 oder 8 Ziffern lang sein.
Intelligent Mail Numerisch (20, 25, 29, 31 Ziffern)
Höhenmodulierte (4-stufige) Balken.
USPS Mail Sorting & Automation.
  • Strenge Längenvorgaben: Die Eingaben müssen exakt den USPS-Feldern entsprechen (BarCode ID, STID, MID, Serial, Zip).
  • STID "234": Verwenden Sie diese Beispiel-ID nicht in der Produktion; sie kann zu zurückgewiesener Post oder verlorenen Rabatten führen.
MSI (Plessey) Nur numerisch
Variable Länge.
Regaletiketten für den Einzelhandel, Lagerkästen.
  • Prüfsummen-Verwirrung: Unterstützt Mod 10, Mod 11, Mod 1010, etc. Sie müssen genau wissen, welche Ihr Scanner erwartet.
  • Zuverlässigkeit: Schlechte Leserate im Vergleich zu modernen Codes.
UPC-A Numerisch (12 Ziffern)
11 Daten + 1 Prüfziffer.
Nordamerikanischer Einzelhandel Point-of-Sale.
  • Region: Hauptsächlich USA/Kanada. Globale Verkäufer sollten EAN-13 verwenden.
  • Führende Nullen: Technisch gesehen, beginnt ein EAN-13 mit 0.
UPC-E Numerisch (6 Ziffern)
Komprimiertes Format.
Kleine Einzelhandelsverpackungen (Soda-Dosen) in den USA/Kanada.
  • Komprimierungsregeln: Sie können nicht einfach irgendeine UPC-A-Nummer "konvertieren". Ihre Nummer muss ein bestimmtes Muster von Nullen haben, um komprimierbar zu sein.
  • Zahlensystem: Unterstützt nur das Zahlensystem 0 oder 1.

Häufig gestellte Fragen

Was ist ein 1D BarCode?

Ein 1D-Barcode, auch linearer Barcode genannt, ist eine Reihe von parallelen Linien und Zwischenräumen unterschiedlicher Breite, die Informationen kodieren. Sie werden üblicherweise im Einzelhandel und in der Logistik verwendet.

Wie kann ich 1D Barcodes mit C# erzeugen?

Sie können 1D-Barcodes in C# mit IronBarcode generieren, das eine einfache API zur Erstellung verschiedener Arten von eindimensionalen Barcodes für Ihre Anwendungen bietet.

Welche Arten von 1D-Barcodes kann ich mit IronBarcode erstellen?

Mit IronBarcode können Sie verschiedene Arten von 1D-Barcodes erstellen, einschließlich Code 39, Code 128, EAN, UPC und mehr.

Ist es möglich, das Aussehen von 1D-Barcodes in IronBarcode anzupassen?

Ja, mit IronBarcode können Sie das Erscheinungsbild von 1D-Barcodes anpassen, einschließlich ihrer Farben, Größen und Schriftarten.

Kann IronBarcode zusätzliche Informationen in einem 1D-Barcode kodieren?

Ja, IronBarcode kann je nach Barcodetyp zusätzliche Informationen wie Produktdetails oder Seriennummern in einen 1D-Barcode kodieren.

Was sind die Vorteile der Verwendung von 1D BarCodes?

1D-Barcodes sind einfach und kostengünstig und daher ideal für Anwendungen im Einzelhandel, in der Bestandsverwaltung und in der Logistik. Sie ermöglichen eine schnelle und genaue Dateneingabe.

Kann ich 1D-Barcodes mit IronBarcode lesen?

Ja, IronBarcode kann verwendet werden, um 1D-Barcodes aus Bildern oder gescannten Dokumenten zu lesen und zu dekodieren.

Wie kann ich IronBarcode in mein C#-Projekt integrieren?

Um IronBarcode in Ihr C#-Projekt zu integrieren, können Sie es einfach über den NuGet Package Manager installieren und in Ihren Projektdateien referenzieren.

Ist IronBarcode für die kommerzielle Nutzung geeignet?

Ja, IronBarcode ist für die kommerzielle Nutzung konzipiert und bietet robuste Funktionen und Unterstützung für Entwickler, die Anwendungen auf Unternehmensebene erstellen.

Welche Ressourcen gibt es, um die Verwendung von IronBarcode zu erlernen?

IronBarcode stellt auf seiner Website eine ausführliche Dokumentation, Tutorials und Codebeispiele zur Verfügung, damit die Entwickler lernen, die Bibliothek effektiv zu nutzen.

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
Bereit anzufangen?
Nuget Downloads 1,979,979 | Version: 2025.11 gerade veröffentlicht