Auswahl einer Barcode-Symbologie

Auswahl einer Barcode-Symbologie

Auswahl einer Barcode-Symbologie

Aspose.BarCode FOSS für Python unterstützt sieben Symbologien. Jede ist für unterschiedliche Datentypen, Scan-Umgebungen und Industriestandards geeignet. Dieser Leitfaden behandelt die Merkmale jeder Symbologie und wann sie zu verwenden ist.


Übersicht der Symbologien

SymbologyTypZeichensatzDatenkapazitätPrüfziffer
Code 1281DVoll-ASCII (128 Zeichen)Variable LängeAutomatisch (mod-103)
Code 391DA–Z, 0–9 und 7 Sonderzeichen (Basis); Voll-ASCII (erweitert)Variable LängeOptional
EAN-131DNur numerisch (0–9)12 Datenziffern + 1 PrüfzifferAutomatic
EAN-81DNur numerisch (0–9)7 Datenziffern + 1 PrüfzifferAutomatic
QR Code2DNumerisch, alphanumerisch, Byte und KanjiBis zu 7.089 numerisch / 4.296 alphanumerischAutomatisch (Reed-Solomon)
UPC-A1DNur numerisch (0–9)11 Datenziffern + 1 PrüfzifferAutomatic
UPC-E1DNur numerisch (0–9)6 Datenziffern (komprimiert UPC-A)Automatic

Code 128

Code 128 codiert den vollständigen ASCII-Zeichensatz mit hoher Dichte. Es verwendet drei Zeichensätze (A, B, C) und wechselt in AUTO-Modus automatisch zwischen ihnen.

Am besten geeignet für: Bestandsetiketten, Versandetiketten, allgemeine alphanumerische Daten.

from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import Code128Options, Code128EncodeMode

service = BarcodeService()

# Auto mode — library selects optimal character sets
barcode = service.generate("code128", "INV-2026-00451")

# Force Code C for all-numeric data (higher density)
barcode = service.generate(
    "code128", "123456789012",
    encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
svg = barcode.to_svg()

Code 39

Code 39 unterstützt Großbuchstaben, Ziffern und 7 Sonderzeichen im Basismodus. Aktivieren Sie full_ascii=True, um den gesamten ASCII-Bereich zu codieren. Eine optionale Prüfziffer kann über add_check_digit hinzugefügt werden.

Am besten geeignet für: Industrieetiketten, behördliche/militärische Kennzeichnungen (LOGMARS) und Umgebungen, in denen Einfachheit wichtiger ist als Dichte.

from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import Code39Options

service = BarcodeService()

# Base mode — uppercase + digits + special chars
barcode = service.generate("code39", "PART-A1234")

# Full ASCII mode with check digit
barcode = service.generate(
    "code39", "Part-a1234",
    encode=Code39Options(full_ascii=True, add_check_digit=True),
)
svg = barcode.to_svg()

EAN-13

EAN-13 ist der Standard-Barcode für Einzelhandelsprodukte außerhalb Nordamerikas. Er codiert exakt 12 Datenziffern; die 13. Ziffer ist eine automatisch berechnete Prüfziffer. Verwenden Sie Ean13Options, um das Eingabeverhalten der Prüfziffer zu steuern.

Am besten geeignet für: Einzelhandelsproduktidentifikation, internationale Handelsartikel (GTIN-13).

from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import Ean13Options

service = BarcodeService()

# 12 data digits — check digit computed
barcode = service.generate("ean13", "590123412345")

# With rendering options for human-readable text
from aspose_barcode_foss import RenderOptions
svg = barcode.to_svg(RenderOptions(show_text=True, scale=2.0))

EAN-8

EAN-8 ist die kompakte Version von EAN-13, verwendet auf kleinen Einzelhandelsverpackungen, wo Platz begrenzt ist. Sie codiert 7 Datenziffern plus 1 Prüfziffer.

Am besten geeignet für: kleine Einzelhandelsprodukte, Artikel mit begrenztem Etikettenplatz.

from aspose_barcode_foss import BarcodeService

service = BarcodeService()
barcode = service.generate("ean8", "9638507")
svg = barcode.to_svg()

QR Code

QR Code ist eine 2D-Matrix-Symbologie, die große Datenmengen auf kleinem Raum speichert. Sie unterstützt vier Kodierungsmodi über QrEncodeMode: NUMERIC, ALPHANUMERIC, BYTE und KANJI. Die Fehlerkorrektur ist über QrErrorCorrectionLevel (L, M, Q, H) konfigurierbar.

Am besten geeignet für: URLs, mobile Anwendungen, Marketingmaterialien und jede Anwendung, die hohe Datenkapazität oder Nicht-ASCII-Zeichen erfordert.

from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode

service = BarcodeService()

# Default settings
barcode = service.generate("qrcode", "https://example.com")

# High error correction for printed labels
barcode = service.generate(
    "qrcode", "https://example.com/product/12345",
    encode=QrOptions(
        error_correction_level=QrErrorCorrectionLevel.H,
        encoding_mode=QrEncodeMode.BYTE,
    ),
)
png = barcode.to_png()

UPC-A

UPC-A ist der Standard-Barcode für Einzelhandelsprodukte in Nordamerika. Er kodiert 11 Datenziffern plus 1 Prüfziffer. UPC-A ist eine Teilmenge von EAN-13 mit einer führenden Null.

Am besten geeignet für: Identifikation von Einzelhandelsprodukten in Nordamerika (GTIN-12).

from aspose_barcode_foss import BarcodeService

service = BarcodeService()
barcode = service.generate("upca", "01234567890")
svg = barcode.to_svg()

UPC-E

UPC-E ist eine komprimierte Form von UPC-A für kleine Einzelhandelsartikel. Sie kodiert 6 Datenziffern, indem Nullen aus der vollständigen UPC-A-Darstellung weggelassen werden.

Am besten geeignet für: kleine Einzelhandelsartikel, Gutscheine und Etiketten, bei denen Platz begrenzt ist.

from aspose_barcode_foss import BarcodeService

service = BarcodeService()
barcode = service.generate("upce", "0123456")
svg = barcode.to_svg()

Entscheidungsleitfaden

Verwenden Sie diese Tabelle, um die richtige Symbolik für Ihre Anwendung auszuwählen:

AnwendungsfallEmpfohlene SymbolikReason
LagerbestandCode 128Voll-ASCII, hohe Dichte, variable Länge
Militär/LOGMARS-EtikettenCode 39Breite Akzeptanz in Regierungssystemen
Internationaler EinzelhandelEAN-13GTIN-13 Standard
Kleine EinzelhandelsverpackungEAN-8 oder UPC-EKompakte physische Größe
Nordamerikanischer EinzelhandelUPC-AGTIN-12 Standard
URLs und mobile LinksQR CodeHohe Kapazität, 2D-Scanning
Marketing und DruckQR CodeMit Handykameras scannbar
Alle numerischen SeriennummernCode 128 (Code C)Höchste Dichte für numerische Daten

Tipps und bewährte Verfahren

  • Verwenden Sie Code 128 als Standard für universelle Etiketten — es bietet das beste Dichte-zu-Kompatibilitäts-Verhältnis unter den 1D-Symboliken
  • Für Einzelhandelsprodukte verwenden Sie die für Ihren Markt erforderliche Symbolik: EAN-13 für international, UPC-A für Nordamerika
  • Setzen Sie QrErrorCorrectionLevel.H für QR-Codes, die auf Etiketten gedruckt werden, die Verschleiß oder Teilbeschädigungen ausgesetzt sind
  • Lassen Sie die Bibliothek stets die Prüfziffern automatisch berechnen, anstatt sie manuell anzugeben
  • Verwenden Sie show_text=True in RenderOptions für menschenlesbare Beschriftungen, damit Bediener die gescannten Daten visuell überprüfen können

Häufige Probleme

AusgabeUrsacheBehebung
InvalidInputError auf EAN-13Nicht-numerische Zeichen in den DatenEAN-13 akzeptiert nur Ziffern 0–9
InvalidInputError auf Code 39Kleinbuchstaben im BasismodusSetzen Code39Options(full_ascii=True)
QR code zu großVersion zu niedrig für DatenlängeLassen Sie die Bibliothek die Version automatisch auswählen, oder erhöhen Sie QrOptions.version
UPC-E InvalidInputErrorDaten entsprechen nicht dem NullunterdrückungsmusterÜberprüfen Sie das 6-stellige UPC-E-Format oder verwenden Sie stattdessen UPC-A

FAQ

Kann ich Code 128 für rein numerische Daten verwenden?

Ja. Der Code 128 Code-C-Modus (Code128EncodeMode.CODE_C) ist für rein numerische Daten optimiert und codiert Ziffernpaaren in einem einzelnen Symbolzeichen für maximale Dichte.

Was ist der Unterschied zwischen EAN-13 und UPC-A?

UPC-A ist ein 12-stelliges Teilset von EAN-13. Ein UPC-A-Code kann als EAN-13 mit einer führenden Null dargestellt werden. Sie sind funktional kompatibel in Einzelhandels-Scansystemen.

Welche Symbologie unterstützt die meisten Daten?

QR Code unterstützt bis zu 7.089 numerische Zeichen oder 4.296 alphanumerische Zeichen. Alle 1D-Symbologien in dieser Bibliothek unterstützen Daten variabler Länge, aber QR Code hat die höchste Kapazität.

Kann ich Symbologien in einer einzigen Anwendung kombinieren?

Ja. Erstellen Sie eine BarcodeService-Instanz und rufen Sie generate() mit unterschiedlichen Symbologie-Namen für jeden Barcode auf. Der Dienst löst jede Symbologie über das SymbologyRegistry auf.


API Reference Zusammenfassung

Klasse / MethodeBeschreibung
BarcodeService.generate(symbology, data, encode, render)Erzeugen Sie einen Barcode für jede registrierte Symbolik
Code128OptionsKodierungsoptionen für Code 128 (Kodiermodus, GS1, ECI)
Code128EncodeModeEnum: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC
Code39OptionsKodierungsoptionen für Code 39 (vollständiges ASCII, Prüfziffer)
Code39EncodeModeEnum: BASE, FULL_ASCII
Ean13OptionsKodierungsoptionen für EAN-13 (Prüfziffer-Eingabe)
Ean8OptionsKodierungsoptionen für EAN-8 (Prüfziffer-Eingabe)
QrOptionsKodierungsoptionen für QR Code (Fehlerkorrektur, Version, Maske, Modus)
QrEncodeModeEnum: AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
QrErrorCorrectionLevelEnum: L, M, Q, H
UpcaOptionsKodierungsoptionen für UPC-A
UpceOptionsKodierungsoptionen für UPC-E
SymbologyRegistryLöst Symbolnamen auf und liefert Definitionen

Siehe auch

 Deutsch