Вибір символіки штрих-коду

Вибір символіки штрих-коду

Вибір символіки штрих-коду

Aspose.BarCode FOSS for Python supports seven symbologies. Each is suited to different data types, scanning environments, and industry standards. This guide covers the characteristics of each symbology and when to use it.


Огляд символіки

SymbologyТипНабір символівПропускна здатність данихПеревірка цифри
Код 1281DПовний ASCII (128 символів)Перемінна довжинаАвтоматичний (мод-103)
Код 391DAZ, 09 та 7 спеціальних символів (база); повний ASCII (розширені)Перемінна довжинаOptional
EAN-131DТільки цифрова (09)12 data digits + 1 check digitAutomatic
EAN-81DТільки цифрова (09)7 data digits + 1 check digitAutomatic
QR-код2DЧислові, алфанумерні, байти та канджіДо 7089 числових / 4296 алфавітних номерівАвтоматичний (Reed-Solomon)
UPC-A1DТільки цифрова (09)11 data digits + 1 check digitAutomatic
UPC-E1DТільки цифрова (09)6 data digits (compressed UPC-A)Automatic

Код 128

Код 128 кодує повний набір символів ASCII з високою щільністю. Він використовує три набори симворів (A, B, C) і автоматично перемикається між ними в AUTO режим.

Найкраще для: етикеток запасу, маркивок на доставку та загальнопризначних алфанумерних даних.

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()

Код 39

Код 39 підтримує величні букви, цифри та 7 спеціальних символів в базовому режимі. full_ascii=True Додавати додаткову перевірку можна через: add_check_digit.

Найкраще для: промислових етикеток, урядових / військових ідентифікаторів (LOGMARS) та середовищ, де простота важливіша за щільність.

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 - стандартний штрих-код для роздрібних продуктів за межами Північної Америки. Він кодує точно 12 цифр даних; 13-а цифра є перевірною цифрою, обчислюваною автоматично. Ean13Options для контролю поведінки введення цифр.

Найкраще для: роздрібної ідентифікації продукції, статей міжнародної торгівлі (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 - компактна версія EAn-13, що використовується на невеликих роздрібних пакетах, де простір обмежений. Вона кодує 7 цифр даних плюс 1 цифру перевірки .

Найкраще для: малої роздрібної продукції, товарів з обмеженим простором на етикетці.

from aspose_barcode_foss import BarcodeService

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

QR-код

QR-код - це 2D матрична символіка, яка зберігає великі обсяги даних на невеликій площі. Він підтримує чотири режими кодування через QrEncodeMode: NUMERIC, ALPHANUMERIC , BYTE і KANJI. Виправлення помилок налаштовано через: QrErrorCorrectionLevel (L, M, Q, H).

Найкраще для: URL-адресів, мобільних додатків, маркетингових матеріалів та будь-яких випадків використання, які вимагають великої потужності даних або не 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 - стандартний штрих-код для роздрібних продуктів в Північній Америці. Він кодує 11 цифр даних плюс 1 контрольну цифру. U PC-А є підмножеством EAN-13 з провідним нулем .

Найкраще для: ідентифікації роздрібної продукції Північної Америки (GTIN-12).

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


---

### UPC-E

UPC-E - це стиснена форма UCP-A для невеликих роздрібних товарів. Вона кодує 6 цифр даних шляхом вилучення нулів з повного представлення U PC-А .

Найкраще для: невеликих роздрібних товарів, купонів та етикеток, де простір обмежений.

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

Посібник до прийняття рішень

Використовуйте цю таблицю для вибору правильної симвології для вашої заявки:

ВикористанняРекомендована символікаReason
Інвентар складського складуКод 128Повний ASCII, висока щільність, змінна довжина
Військові/ЛОГМАРСні етикетиКод 39Широке впровадження в державних системах
Міжнародний роздрібний ринокEAN-13Стандарт GTIN-13
Маленька роздрібна упаковкаEAN-8 або UPC-EФізичний розмір компактний
Північноамериканський роздрібний ринокUPC-AСтандарт GTIN-12
URL та мобільні посиланняQR-кодВисока здатність, 2D-сканування
Маркетинг та друкована продукціяQR-кодСканується камерами телефонів.
Всечисленні серійні номериКод 128 (код C)Найбільша щільність для числових даних

Поради та найкращі практики

  • Використовуйте код 128 як замовчування для етикеток загального призначення він пропонує найкраще співвідношення площі до сумісності серед 1D символогій.
  • Для роздрібних продуктів використовуйте символіку, необхідну для вашого ринку: EAN-13 для міжнародних, UPC-A для Північної Америки.
  • Набір QrErrorCorrectionLevel.H для QR-кодів, які будуть надруковані на етикетках, що піддаються зносу або частковому пошкодженню.
  • Завжди дозволяйте бібліотеці обчислювати цифри автоматично, а не подавати їх вручную.
  • Використання show_text=True в RenderOptions для етикеток, які читаються людиною, щоб оператори могли візуально перевірити скановані дані;

Загальні питання

IssueCauseВиправлення
InvalidInputError на EAN-13Нецифрові символи в данихEAN-13 приймає тільки цифри 09
InvalidInputError про код 39Маленькі букви в базовому режимі.Набір Code39Options(full_ascii=True)
QR-код занадто великий.Версія занадто низька для довжини данихДозвольте бібліотеці автоматично вибрати версію або збільшити її. QrOptions.version
UPC-E InvalidInputErrorДані не відповідають схемі нульового придушення.Перевірте 6-значний формат UPC-E або використовуйте замість нього UCP-A.

FAQ

Можна використовувати код 128 для усіх числових даних?

Так, код 128 - режим коду С (Code128EncodeMode.CODE_C) оптимізовано для усіх числових даних, кодування пар цифр в одному символічному знаці для максимальної щільності.

У чому різниця між EAN-13 та UPC-A?

UPC-A - це 12-значний підмножина EAN-13. Код U PC- A може бути представлений як E AN-13 з провідним нулем. Вони функціонально сумісні в роздрібних системах сканування.

Яка символіка підтримує найбільше даних?

QR-код підтримує до 7089 числових символів або 4296 буквенно-цифрових. Всі 1D-симвології в цій бібліотеці підтримують дані змінної довжини, але QR Code має найвищу потужність.

Чи можна змішувати символіки в одному застосуванні?

Так, створить. BarcodeService випадок і покликання generate() Сервіс розв’язує кожну символіку через систему “Баркод”. SymbologyRegistry.


Реферат на API

Клас / методОпис
BarcodeService.generate(symbology, data, encode, render)Створення штрих-коду для будь-якої зареєстрованої симвології
Code128OptionsМожливі варіанти кодування для коду 128 (режим коди, GS1, ECI)
Code128EncodeModeEnum: AUTO, CODE_A,CODE _B,Code_C, Code _AB, Code _AC, code _BC
Code39OptionsМожливі варіанти кодування для Коду 39 (повний ASCII, номер відліку)
Code39EncodeModeEnum: BASE, FULL_ASCII (по-своєму)
Ean13OptionsМожливі варіанти кодування для EAN-13 (проверка введення цифр)
Ean8OptionsМожливі варіанти кодування для EAN-8 (проверка введення цифр)
QrOptionsМожливі варіанти кодування QR-коду (виправлення помилок, версія, маска, режим)
QrEncodeModeЕнум: AUTO, NUMERIC, ALPHANUMERIC (Автомобільний номер), BYTE, KANJI
QrErrorCorrectionLevelЕнум: L, M, Q, H.
UpcaOptionsМожливі варіанти кодування для UPC-A
UpceOptionsМожливі варіанти кодування для UPC-E
SymbologyRegistryВирішує символічні назви та надає визначення.

Див. також

 Українська