Alegerea unei simbologii de coduri de bare

Alegerea unei simbologii de coduri de bare

Alegerea unei simbologii de coduri de bare

Aspose.BarCode FOSS pentru Python suportă șapte simbologii. Fiecare este potrivită pentru diferite tipuri de date, medii de scanare și standarde industriale. Acest ghid acoperă caracteristicile fiecărei simbologii și când să o utilizați.


Prezentare generală a simbologiei

SymbologyTipSet de caractereCapacitate de dateCifră de control
Code 1281DASCII complet (128 de caractere)Lungime variabilăAutomat (mod-103)
Code 391DA–Z, 0–9 și 7 caractere speciale (bază); ASCII complet (extins)Lungime variabilăOptional
EAN-131DNumăr (doar 0–9)12 cifre de date + 1 cifră de controlAutomatic
EAN-81DNumăr (doar 0–9)7 cifre de date + 1 cifră de controlAutomatic
QR Code2DNumeric, alfanumeric, byte și KanjiPână la 7,089 numeric / 4,296 alfanumericAutomat (Reed-Solomon)
UPC-A1DNumăr (doar 0–9)11 cifre de date + 1 cifră de controlAutomatic
UPC-E1DNumai numeric (0–9)6 cifre de date (comprimate UPC-A)Automatic

Code 128

Code 128 codifică setul complet de caractere ASCII cu densitate ridicată. Folosește trei seturi de caractere (A, B, C) și comută automat între ele în modul AUTO.

Ideal pentru: etichete de inventar, etichete de expediere, date alfanumerice de uz general.

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 acceptă litere mari, cifre și 7 caractere speciale în modul de bază. Activează full_ascii=True pentru a codifica întregul interval ASCII. Un cifru de control opțional poate fi adăugat prin add_check_digit.

Cel mai potrivit pentru: etichete industriale, identificatori guvernamentali/militari (LOGMARS) și medii în care simplitatea este mai importantă decât densitatea.

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 este codul de bare standard pentru produse de retail în afara Americii de Nord. Codifică exact 12 cifre de date; a 13-a cifră este un cifru de control calculat automat. Folosește Ean13Options pentru a controla comportamentul de introducere a cifrei de control.

Cel mai potrivit pentru: identificarea produselor de retail, articole de comerț internațional (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 este versiunea compactă a EAN-13, utilizată pe pachete mici de retail unde spațiul este limitat. Codifică 7 cifre de date plus 1 cifră de control.

Cel mai potrivit pentru: produse de retail mici, articole cu spațiu limitat pe etichetă.

from aspose_barcode_foss import BarcodeService

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

QR Code

QR Code este o simbolistică matricială 2D care stochează cantități mari de date într-o zonă mică. Suportă patru moduri de codificare prin QrEncodeMode: NUMERIC, ALPHANUMERIC, BYTE și KANJI. Corecția erorilor este configurabilă prin QrErrorCorrectionLevel (L, M, Q, H).

Cel mai potrivit pentru: URL-uri, aplicații mobile, materiale de marketing și orice caz de utilizare care necesită capacitate mare de date sau caractere non-ASCII.

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 este codul de bare standard pentru produse de retail în America de Nord. Codifică 11 cifre de date plus 1 cifră de control. UPC-A este un subset al EAN-13 cu un zero inițial.

Cel mai potrivit pentru: identificarea produselor de retail din America de Nord (GTIN-12).

from aspose_barcode_foss import BarcodeService

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

UPC-E

UPC-E este o formă comprimată a UPC-A pentru articole de retail mici. Codifică 6 cifre de date prin suprimarea zerourilor din reprezentarea completă UPC-A.

Cel mai potrivit pentru: articole mici de retail, cupoane și etichete în care spațiul este limitat.

from aspose_barcode_foss import BarcodeService

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

Ghid de decizie

Utilizați acest tabel pentru a selecta simbolistica potrivită pentru aplicația dvs.:

Caz de utilizareSimbolistică recomandatăReason
Inventar de depozitCode 128ASCII complet, densitate mare, lungime variabilă
Etichete militare/LOGMARSCode 39Adoptare largă în sistemele guvernamentale
Retail internaționalEAN-13GTIN-13 standard
Ambalare mică pentru retailEAN-8 sau UPC-EDimensiune fizică compactă
Retail nord-americanUPC-AGTIN-12 standard
URL-uri și linkuri mobileQR CodeCapacitate mare, scanare 2D
Marketing și tipărireQR CodeScanabil cu camerele telefonului
Numere de serie complet numericeCode 128 (Code C)Cea mai mare densitate pentru date numerice

Sfaturi și cele mai bune practici

  • Utilizați Code 128 ca valoare implicită pentru etichete de uz general — oferă cel mai bun raport densitate-compatibilitate dintre simbolurile 1D
  • Pentru produse de retail, utilizați simbolistica cerută de piața dumneavoastră: EAN-13 pentru internațional, UPC-A pentru America de Nord
  • Setați QrErrorCorrectionLevel.H pentru codurile QR care vor fi tipărite pe etichete expuse la uzură sau deteriorare parțială
  • Lăsați întotdeauna biblioteca să calculeze cifrele de control automat, în loc să le furnizați manual
  • Utilizați show_text=True în RenderOptions pentru etichete lizibile pentru oameni, astfel încât operatorii să poată verifica vizual datele scanate

Probleme comune

ProblemăCauzăRemediere
InvalidInputError pe EAN-13Caractere non-numerice în dateEAN-13 acceptă doar cifrele 0–9
InvalidInputError pe Code 39Litere minuscule în modul de bazăSetați Code39Options(full_ascii=True)
QR code prea mareVersiunea prea mică pentru lungimea datelorPermite bibliotecii să selecteze automat versiunea, sau mărește QrOptions.version
UPC-E InvalidInputErrorDatele nu corespund tiparului de suprimare a zerourilorVerificați formatul de 6 cifre UPC-E sau utilizați UPC-A în schimb

FAQ

Pot folosi Code 128 pentru date complet numerice?

Da. Modul Code 128 Code C (Code128EncodeMode.CODE_C) este optimizat pentru date complet numerice, codificând perechi de cifre într-un singur caracter simbol pentru densitate maximă.

Care este diferența dintre EAN-13 și UPC-A?

UPC-A este un subset de 12 cifre al EAN-13. Un cod UPC-A poate fi reprezentat ca un EAN-13 cu un zero inițial. Ele sunt compatibile funcțional în sistemele de scanare din retail.

Care simbolistică suportă cele mai multe date?

QR Code acceptă până la 7,089 caractere numerice sau 4,296 caractere alfanumerice. Toate simbolurile 1D din această bibliotecă acceptă date cu lungime variabilă, dar QR Code are cea mai mare capacitate.

Pot să combin simboluri într-o singură aplicație?

Da. Creați o instanță BarcodeService și apelați generate() cu diferite nume de simbol pentru fiecare cod de bare. Serviciul rezolvă fiecare simbol prin SymbologyRegistry.


API Reference Rezumat

Clasă / MetodăDescriere:
BarcodeService.generate(symbology, data, encode, render)Generați un cod de bare pentru orice simbolistică înregistrată
Code128OptionsOpțiuni de codare pentru Code 128 (mod de codare, GS1, ECI)
Code128EncodeModeEnum: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC
Code39OptionsOpțiuni de codare pentru Code 39 (ASCII complet, cifră de control)
Code39EncodeModeEnum: BASE, FULL_ASCII
Ean13OptionsOpțiuni de codare pentru EAN-13 (intrare cifră de control)
Ean8OptionsOpțiuni de codare pentru EAN-8 (intrare cifră de control)
QrOptionsOpțiuni de codare pentru QR Code (corecție de eroare, versiune, mască, mod)
QrEncodeModeEnum: AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
QrErrorCorrectionLevelEnum: L, M, Q, H
UpcaOptionsOpțiuni de codare pentru UPC-A
UpceOptionsOpțiuni de codare pentru UPC-E
SymbologyRegistryRezolvă numele de simbolistică și oferă definiții

Vezi și:

 Română