Создание штрих-кодов в Python!



Генерация штрих-кодов легко автоматизируется с помощью библиотеки python-barcode.

Для начала установим саму библиотеку и зависимость для генерации изображений:
pip install python-barcode pillow

Библиотека Pillow используется для сохранения в формате PNG через ImageWriter.

Импортируем основной модуль и writer для работы с изображениями:
import barcode
from barcode.writer import ImageWriter


Создадим штрих-код формата EAN-13. Важно: передаётся ровно 12 цифр, а контрольная цифра рассчитывается и добавляется автоматически.
ean = barcode.get(
"ean13",
"590123412345",
writer=ImageWriter()
)

Сохраним его на диск:
filename = ean.save("product_barcode")
print(filename)


В результате будет создан файл product_barcode.png в текущей директории.

Генерация нескольких штук: частый сценарий — генерация серии штрих-кодов, например для списка товаров или записей из базы данных:
codes = [
"123456789012",
"987654321098",
"111222333444"
]

for value in codes:
code_obj = barcode.get(
"ean13",
value,
writer=ImageWriter()
)
code_obj.save(f"barcode_{value}")


Здесь также важно соблюдать требование формата: 12 цифр для EAN-13, иначе библиотека выбросит исключение.

Если нужно кодировать произвольные строки (номера заказов, документов, инвойсов), удобнее использовать Code128:
code128 = barcode.get(
"code128",
"ORDER-2025-001",
writer=ImageWriter()
)

code128.save("order_barcode")


Этот формат не ограничен только цифрами и широко используется в логистике и документообороте.

На практике генерацию часто выносят в функцию — для переиспользования в сервисах или API:
def generate_barcode(value, filename):
code = barcode.get(
"code128",
value,
writer=ImageWriter()
)
return code.save(filename)

generate_barcode("INVOICE-4587", "invoice_4587")


Такой подход удобно масштабировать и дополнять логикой (валидация, настройки writer, сохранение путей в БД и т.д.)

Python Ready | #практика
Просмотры: 241
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти