Сценарии использования генерации штрих-кодов
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 пока не реализован.