Как создавать и считывать штрих-коды на Python
Штрих-код — это визуальное представление данных с помощью комбинации параллельных линий (штрихов) и пробелов различной ширины. Такие рисунки, часто сопровождаемые цифрами или символами, позволяют легко идентифицировать и отслеживать товары. Штрих-коды широко используются в розничной торговле, логистике и производстве для идентификации продуктов, учета запасов и сбора данных.
В этом руководстве вы узнаете, как создавать и считывать штрих-коды на Python с помощью библиотеки Spire.Barcode for Python.
Мы рассмотрим следующие шаги:
- Создание одномерного штрих-кода
- Создание двумерного штрих-кода (QR-кода)
- Считывание изображения штрих-кода
Библиотека для создания и распознавания штрих-кодов на Python
Spire.Barcode for Python — это универсальная библиотека для генерации и распознавания штрих-кодов в приложениях на Python. Она поддерживает популярные типы штрих-кодов, такие как Code25, QR Code, Data Matrix, PDF417 и другие.
С помощью этой библиотеки вы можете:
- Создавать штрих-коды высокого качества с индивидуальными параметрами кодирования
- Распознавать и извлекать данные из изображений, содержащих штрих-коды
Установить библиотеку можно через PyPI одной командой:
pip install Spire.Barcode
Получение бесплатной пробной лицензии
По умолчанию библиотека имеет некоторые ограничения на создание и распознавание определённых типов штрих-кодов. Чтобы получить полный доступ ко всем функциям, вы можете запросить 30-дневную бесплатную пробную лицензию у разработчика.
Временная лицензия позволяет протестировать все возможности библиотеки без ограничений.
Создание одномерного штрих-кода на Python
Для генерации штрих-кода необходимо задать его параметры с помощью класса BarcodeSettings. В нём можно указать тип штрих-кода, данные, поля, разрешение и параметры отображения.
После настройки параметров используется класс BarCodeGenerator, который создаёт и экспортирует изображение штрих-кода.
Пример создания одномерного штрих-кода (Code25) на Python:
from spire.barcode import *
# Запись байтов в файл
def WriteAllBytes(fname: str, data):
with open(fname, «wb») as fp:
fp.write(data)
fp.close()
# Применение лицензионного ключа
License.SetLicenseKey("license key")
# Создание объекта настроек
barcodeSettings = BarcodeSettings()
# Указание типа и данных штрих-кода
barcodeSettings.Type = BarCodeType.Code25
barcodeSettings.Data = «DK2980051»
# Задание отступов и разрешения
barcodeSettings.LeftMargin = 1
barcodeSettings.RightMargin = 1
barcodeSettings.DpiX = 200
barcodeSettings.DpiY = 200
# Скрыть текст под штрих-кодом
barcodeSettings.ShowText = False
# Создание и генерация изображения штрих-кода
barCodeGenerator = BarCodeGenerator(barcodeSettings)
image = barCodeGenerator.GenerateImage()
# Сохранение изображения
WriteAllBytes("output/Code25.png", image)
Создание двумерного штрих-кода (QR-кода) на Python
Spire.Barcode также позволяет создавать двумерные штрих-коды, такие как QR-коды. Вы можете регулировать поля, уровень коррекции ошибок и даже добавлять логотип в центр кода.
Ниже приведён пример создания QR-кода на Python:
from spire.barcode import *
# Запись байтов в файл
def WriteAllBytes(fname: str, data):
with open(fname, «wb») as fp:
fp.write(data)
fp.close()
# Применение лицензионного ключа
License.SetLicenseKey("license key")
# Создание объекта настроек
barcodeSettings = BarcodeSettings()
# Указание типа и данных штрих-кода
barcodeSettings.Type = BarCodeType.QRCode
barcodeSettings.Data2D = «Hello, World»
# Настройка полей и разрешения
barcodeSettings.LeftMargin = 0.5
barcodeSettings.RightMargin = 0.5
barcodeSettings.TopMargin = 0.5
barcodeSettings.BottomMargin = 0.5
barcodeSettings.DpiX = 500
barcodeSettings.DpiY = 500
# Уровень коррекции ошибок и скрытие текста
barcodeSettings.QRCodeECL = QRCodeECL.M
barcodeSettings.ShowText = False
# Генерация QR-кода
barCodeGenerator = BarCodeGenerator(barcodeSettings)
image = barCodeGenerator.GenerateImage()
# Сохранение изображения
WriteAllBytes("output/QRCode.png", image)
Считывание изображения штрих-кода на Python
Помимо генерации, Spire.Barcode for Python позволяет распознавать и считывать штрих-коды с изображений.
Класс BarcodeScanner предоставляет следующие методы:
- ScanOneFile() — для считывания одного штрих-кода из изображения
- ScanFile() — для считывания нескольких штрих-кодов
- ScanStream() — для распознавания из потоков данных
Пример считывания данных из изображения штрих-кода:
from spire.barcode import *
# Применение лицензионного ключа
License.SetLicenseKey("license key")
# Сканирование изображения с одним штрих-кодом
result = BarcodeScanner.ScanOneFile("C:\\Users\\Administrator\\Desktop\\QRCode.png")
# Вывод результата
print(result)
Если изображение содержит несколько штрих-кодов, используйте ScanFile() для получения всех результатов.
Заключение
В этом руководстве вы узнали, как создавать и считывать штрих-коды на Python с помощью Spire.Barcode for Python.
Мы рассмотрели:
- Генерацию 1D и 2D штрих-кодов (Code25, QR-код)
- Настройку параметров — отступов, разрешения и коррекции ошибок
- Сканирование изображений штрих-кодов и извлечение данных
Используя эти методы, вы сможете интегрировать функции генерации и распознавания штрих-кодов в свои Python-проекты — для учёта товаров, маркировки документов, QR-ссылок и других задач автоматизации.