Сценарии использования генерации штрих-кодов

Сценарии использования генерации штрих-кодов

Aspose.BarCode FOSS for Python поддерживает семь символогий: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A и UPC-E. В этой статье показаны практические сценарии для каждой.

Управление запасами

Code 128 является распространённым выбором для этикеток запасов, потому что он кодирует буквенно-цифровые данные, включая специальные символы. Каждый предмет получает уникальный идентификатор, напечатанный на этикетке.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()

# Generate a Code 128 barcode for an inventory SKU
barcode = service.generate("code128", "SKU-2026-A1234")
svg_content = barcode.to_svg(RenderOptions(scale=2.0, show_text=True))

with open("inventory_label.svg", "w") as f:
    f.write(svg_content)

Этикетки для отгрузки

Code 128 и Code 39 широко используются в сфере доставки и логистики. Code 39 проще (заглавные буквы, цифры и несколько символов) и применяется в старых системах. Code 128 поддерживает более широкий набор символов.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()

# Code 39 for a tracking number
barcode = service.generate("code39", "SHIP2026071234")
png_bytes = barcode.to_png(RenderOptions(dpi=300, show_text=True))

with open("shipping_label.png", "wb") as f:
    f.write(png_bytes)

Точка продаж в рознице

EAN-13 и UPC-A являются стандартными символогиями для розничных товаров. EAN-13 используется международно; UPC-A — 12-значный вариант для Северной Америки.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()

# EAN-13 for a product barcode (12 digits; check digit auto-computed)
barcode = service.generate("ean13", "590123412345")
svg_content = barcode.to_svg(RenderOptions(scale=3.0, show_text=True))

# UPC-A for a North American product
barcode_upc = service.generate("upca", "01234567890")
svg_upc = barcode_upc.to_svg(RenderOptions(scale=3.0, show_text=True))

Отслеживание документов

Code 128 хорошо подходит для систем отслеживания документов, где каждый документ получает уникальный буквенно-цифровой идентификатор.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()

# Generate barcodes for a batch of documents
doc_ids = ["DOC-2026-001", "DOC-2026-002", "DOC-2026-003"]
for doc_id in doc_ids:
    barcode = service.generate("code128", doc_id)
    svg = barcode.to_svg(RenderOptions(scale=1.5, show_text=True))
    filename = f"{doc_id.lower().replace('-', '_')}.svg"
    with open(filename, "w") as f:
        f.write(svg)

Кодирование URL и контактных данных с помощью кодов QR

QR Code кодирует произвольные текстовые данные, включая URL-адреса, контактную информацию и учетные данные Wi-Fi.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()

# QR Code for a URL
barcode = service.generate("qrcode", "https://products.aspose.org/barcode/")
png_bytes = barcode.to_png(RenderOptions(scale=4.0))

with open("url_qrcode.png", "wb") as f:
    f.write(png_bytes)

Этикетки для мелких предметов с EAN-8 и UPC-E

EAN-8 и UPC-E — компактные символьные системы для предметов, где пространство ограничено. EAN-8 использует 7 или 8 цифр; UPC-E — сжатая версия UPC-A.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()

# EAN-8 for a small product (7 digits; check digit auto-computed)
barcode = service.generate("ean8", "1234567")
svg = barcode.to_svg(RenderOptions(scale=2.0, show_text=True))

Часто задаваемые вопросы

Какую символьную систему выбрать?

  • Алфавитно-цифровые данные (любые символы): Code 128
  • Только заглавные буквы, устаревшие системы: Code 39
  • Розничные товары (международные): EAN-13 или EAN-8
  • Розничные товары (Северная Америка): UPC-A или UPC-E
  • URL-адреса, текст, бинарные данные: QR Code

Могу ли я генерировать штрихкоды пакетно?

Да. Создайте экземпляр BarcodeService один раз и вызывайте generate() в цикле. Каждый вызов возвращает объект Barcode, который вы можете отрисовать независимо с помощью to_svg() или to_png().

Какие форматы вывода доступны?

Библиотека рендерит в SVG через to_svg() и в PNG через to_png(). Рендеринг PDF пока не реализован.

См. также:

 Русский