Een barcode-symbologie kiezen

Een barcode-symbologie kiezen

Een barcode-symbologie kiezen

Aspose.BarCode FOSS voor Python ondersteunt zeven symbologieën. Elk is geschikt voor verschillende gegevenstypen, scanomgevingen en industriestandaarden. Deze gids behandelt de kenmerken van elke symbologie en wanneer deze te gebruiken is.


Overzicht van symbologie

SymbologyTypeTekensetGegevenscapaciteitControgetcijfer
Code 1281DVolledige ASCII (128 tekens)Variabele lengteAutomatisch (mod-103)
Code 391DA–Z, 0–9 en 7 speciale tekens (basis); volledige ASCII (uitgebreid)Variabele lengteOptional
EAN-131DAlleen numeriek (0–9)12 gegevenscijfers + 1 controlecijferAutomatic
EAN-81DAlleen numeriek (0–9)7 gegevenscijfers + 1 controlecijferAutomatic
QR Code2DNumeriek, alfanumeriek, byte en KanjiTot 7,089 numeriek / 4,296 alfanumeriekAutomatisch (Reed-Solomon)
UPC-A1DAlleen numeriek (0–9)11 datacijfers + 1 controlecijferAutomatic
UPC-E1DAlleen numeriek (0–9)6 datacijfers (gecomprimeerd UPC-A)Automatic

Code 128

Code 128 codeert de volledige ASCII-tekenreeks met hoge dichtheid. Het gebruikt drie tekenreeksen (A, B, C) en schakelt automatisch tussen hen in AUTO-modus.

Het beste voor: voorraadlabels, verzendlabels, algemene alfanumerieke gegevens.

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 ondersteunt hoofdletters, cijfers en 7 speciale tekens in de basismodus. Schakel full_ascii=True in om het volledige ASCII-bereik te coderen. Een optioneel controlecijfer kan worden toegevoegd via add_check_digit.

Ideaal voor: industriële etiketten, overheids-/militaire identificaties (LOGMARS) en omgevingen waar eenvoud belangrijker is dan dichtheid.

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 is de standaard barcode voor detailhandelsproducten buiten Noord-Amerika. Het codeert exact 12 gegevenscijfers; het 13e cijfer is een automatisch berekend controlecijfer. Gebruik Ean13Options om het gedrag van de invoer van het controlecijfer te regelen.

Ideaal voor: identificatie van detailhandelsproducten, internationale handelsartikelen (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 is de compacte versie van EAN-13, gebruikt op kleine retailverpakkingen waar ruimte beperkt is. Het codeert 7 gegevenscijfers plus 1 controlecijfer.

Ideaal voor: kleine retailproducten, items met beperkte labelruimte.

from aspose_barcode_foss import BarcodeService

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

QR Code

QR Code is een 2D matrixsymbologie die grote hoeveelheden data opslaat in een klein gebied. Het ondersteunt vier coderingsmodi via QrEncodeMode: NUMERIC, ALPHANUMERIC, BYTE en KANJI. Foutcorrectie is configureerbaar via QrErrorCorrectionLevel (L, M, Q, H).

Ideaal voor: URL’s, mobiele applicaties, marketingmateriaal en elke toepassing die een hoge datacapaciteit of niet-ASCII-tekens vereist.

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 is de standaard barcode voor detailhandelsproducten in Noord-America. Het codeert 11 datacijfers plus 1 controlecijfer. UPC-A is een subset van EAN-13 met een voorloopnul.

Ideaal voor: identificatie van detailhandelsproducten in Noord-America (GTIN-12).

from aspose_barcode_foss import BarcodeService

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

UPC-E

UPC-E is een gecomprimeerde vorm van UPC-A voor kleine detailhandelsartikelen. Het codeert 6 datacijfers door nullen te onderdrukken in de volledige UPC-A weergave.

Het beste voor: kleine detailhandelsartikelen, coupons en etiketten waar ruimte beperkt is.

from aspose_barcode_foss import BarcodeService

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

Beslissingsgids

Gebruik deze tabel om de juiste symbologie voor uw toepassing te selecteren:

GebruikssituatieAanbevolen symbologieReason
MagazijninventarisCode 128Volledige ASCII, hoge dichtheid, variabele lengte
Militaire/LOGMARS labelsCode 39Brede adoptie in overheidsystemen
Internationale detailhandelEAN-13GTIN-13 standaard
Kleine detailhandelverpakkingEAN-8 of UPC-ECompact fysieke grootte
Noord-Amerikaanse detailhandelUPC-AGTIN-12 standaard
URL’s en mobiele linksQR CodeHoge capaciteit, 2D-scanning
Marketing en printQR CodeScanbaar met telefooncamera’s
Alleen numerieke serienummersCode 128 (Code C)Hoogste dichtheid voor numerieke gegevens

Tips en best practices

  • Gebruik Code 128 als standaard voor algemene etiketten — het biedt de beste dichtheid-tot-compatibiliteitverhouding onder 1D-symbologieën
  • Voor detailhandelsproducten, gebruik de symbologie die vereist is voor uw markt: EAN-13 voor internationaal, UPC-A voor Noord-Amerika
  • Stel QrErrorCorrectionLevel.H in voor QR-codes die op etiketten worden afgedrukt die worden blootgesteld aan slijtage of gedeeltelijke beschadiging
  • Laat de bibliotheek altijd controlecijfers automatisch berekenen in plaats van ze handmatig op te geven
  • Gebruik show_text=True in RenderOptions voor menselijk leesbare etiketten zodat operators gescande gegevens visueel kunnen verifiëren

Veelvoorkomende problemen

ProbleemOorzaakOplossing
InvalidInputError op EAN-13Niet-numerieke tekens in gegevensEAN-13 accepteert alleen cijfers 0–9
InvalidInputError op Code 39Kleine letters in basismodusInstellen Code39Options(full_ascii=True)
QR code te grootVersie te laag voor gegevenslengteLaat de bibliotheek de versie automatisch selecteren, of verhoog QrOptions.version
UPC-E InvalidInputErrorData komt niet overeen met het nulonderdrukkingspatroonControleer het 6-cijferige UPC-E-formaat of gebruik UPC-A in plaats daarvan

FAQ

Kan ik Code 128 gebruiken voor volledig numerieke gegevens?

Ja. Code 128 Code C-modus (Code128EncodeMode.CODE_C) is geoptimaliseerd voor volledig numerieke gegevens, waarbij paren van cijfers in één symboolteken worden gecodeerd voor maximale dichtheid.

Wat is het verschil tussen EAN-13 en UPC-A?

UPC-A is een 12-cijferige subset van EAN-13. Een UPC-A code kan worden weergegeven als een EAN-13 met een voorloopnul. Ze zijn functioneel compatibel in retail scansystemen.

Welke symbologie ondersteunt de meeste gegevens?

QR Code ondersteunt tot 7,089 numerieke tekens of 4,296 alfanumerieke tekens. Alle 1D-symbologieën in deze bibliotheek ondersteunen variabele-lengte data, maar QR Code heeft de hoogste capaciteit.

Kan ik symbologieën combineren in één applicatie?

Ja. Maak één BarcodeService-instantie en roep generate() aan met verschillende symbologienamen voor elke barcode. De service lost elke symbologie op via de SymbologyRegistry.


API Reference Samenvatting

Klasse / MethodeBeschrijving
BarcodeService.generate(symbology, data, encode, render)Genereer een barcode voor elke geregistreerde symbologie
Code128OptionsCoderingsopties voor Code 128 (coderingsmodus, GS1, ECI)
Code128EncodeModeEnum: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC
Code39OptionsCoderingsopties voor Code 39 (volledige ASCII, controlecijfer)
Code39EncodeModeEnum: BASE, FULL_ASCII
Ean13OptionsCoderingsopties voor EAN-13 (controlecijferinvoer)
Ean8OptionsCoderingsopties voor EAN-8 (controlecijferinvoer)
QrOptionsCoderingsopties voor QR Code (foutcorrectie, versie, masker, modus)
QrEncodeModeEnum: AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
QrErrorCorrectionLevelEnum: L, M, Q, H
UpcaOptionsCoderingsopties voor UPC-A
UpceOptionsCoderingsopties voor UPC-E
SymbologyRegistryLost symbologienamen op en levert definities

Zie ook

 Nederlands