Answer the question
In order to leave comments, you need to log in
How to create a barcode?
How to create a barcode in Python or js? I know that there is a python-barcode library for Python, but only the stroke itself and numbers below it are created there, but it is necessary that you can still place your text under the numbers.
Answer the question
In order to leave comments, you need to log in
import barcode
from barcode.writer import ImageWriter
from io import BytesIO
from PIL import Image, ImageDraw, ImageFont
# Создаем файл в оперативной памяти
fp = BytesIO()
# Создаем основу баркода
EAN = barcode.get_barcode_class('ean13')
# Подключаем шрифт чтобы писать текст на русском
font = ImageFont.truetype("arial.ttf", size=32)
# Создаем баркод с на основе числа 012345678910
EAN('012345678910', writer=ImageWriter()).write(fp)
# Преобразовываем баркод в изображение
image = Image.open(fp)
# Сохраняем размеры изображения
width, height = image.size
# Увеличиваем изобраение вниз на 100 пикселей
image = image.crop((0, 0, width, height+100))
# Создаем объект рисовалки
draw = ImageDraw.Draw(image)
# Закрашиваем дорисованную часть изображения в белый
draw.rectangle((0, height, width, height+100), fill='white')
# Пишем текст
draw.text((75, height + 18), "Ваш текст", fill='black', font=font)
# Для центрирования текста по высоте, к высоте прибавить
# половину добавленного пространства минус размер шрифта
# (100 / 2 - 32 = 18)
# Раскоментировать и указать путь
# image.save("D:/barcode.png")
image.show()
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question