Поиск по сайту:

Чтобы пробить стену лбом, нужен или большой разбег, или много лбов (А. Азольский).

QR и штрих-коды в Python

4 мин для чтения
FavoriteLoadingДобавить в избранное
20 октября 2021
QR и штрих-коды в Python

QR-коды, метод 1

Код QR (Quick Response) – это двухмерный код, содержащий информацию. Фактически, он может хранить больший объем информации, чем даже штрих-коды. Как правило, это пиксельный блок, черно-белый (черные пиксели на белом фоне). На самом деле QR-коды используются всевозможными организациями и фирмами для хранения большого количества данных о себе для своих клиентов. Итак, допустим, вы проходили мимо компании и хотели узнать о ней больше. Предположим также, что у них был QR-код на рекламном щите или визитной карточке. Как правило, вы отсканируете QR-код и получите доступ к хранящейся в нем информации. Затем мы спрашиваем, как мы можем записать информацию в QR-код? Что ж, это легкая часть; мы можем легко сделать это с помощью Python. В этом разделе мы узнаем, как сгенерировать QR-коды с помощью Python.

Первое, что нужно сделать, это установить qrcode. Также нам необходимо установить подушку для генерации изображения.

pip install qrcode [pil]

 

После того, как мы его установили, мы импортируем его.

import qrcode

 

Затем мы определяем веб-сайт или информацию, которую хотим сохранить в QR-коде.

h_url = """
www.google.com
This is a search engine. Another great search engine is
www.duckduckgo.com """

 

Теперь мы определяем переменную qr как qrcode.QRCode (), которая принимает не более 4 аргументов – версию, исправление ошибок, размер поля и границу. Параметр версии представляет собой размер QR-кода и находится в диапазоне от 1 до 40. Параметр размера блока, в частности, представляет собой размер каждого блока в пикселях. Параметр границы определяет толщину границы. Параметр исправления ошибок определяет контроль ошибок для QR-кода.

qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=20,
border=4,
)

 

После создания переменной qr мы добавляем информацию, которую хотим сохранить в ней, с помощью qr.add_data (). Для этого нужен один аргумент – информация, которую нужно добавить в QR-код.

qr.add_data(h_url)
qr.make(fit=True)

 

Затем мы создаем изображение и используем fill_color и back_color, чтобы определить цвета, которые мы хотим сделать для наших пикселей и фона. Однако здесь мы можем изменить цвета на RGB, если захотим.

image = qr.make_image(fill_color="black", back_color="white")
# image = qr.make_image(fill_color=(0,0,225), back_color=(125, 211, 124))

 

Читать  Как установить и использовать EasyOCR в Linux

Наконец, чтобы сохранить сгенерированный QR-код, мы используем save (), сохраняя его в каталоге python. Лучше всего хранить его как изображение png.

image.save("qrcode.png")

 

Весь код будет выглядеть примерно так:

import qrcode

h_url = """

www.google.com

This is a search engine. Another great search engine is

www.duckduckgo.com """

qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=20,
border=4,
)

qr.add_data(h_url)

qr.make(fit=True)

image = qr.make_image(fill_color="black", back_color="white")

image.save("qrcode.png")

QR-коды, метод 2

Есть много модулей для генерации QR-кодов! В этом примере мы будем использовать FoxHustle-QR.

Сначала установите его, используя:

pip install FoxHustle-QR

 

Полный код занимает всего три строки:

import FoxHustle_QR

QRGen = FoxHustle_QR.QRGenerator()
link = QRGen("https://www.duckduckgo.com", qr="colored light")
link.save('qrcode5.png')

 

В этом модуле требуется всего три строки кода вместо 10. Здесь мы использовали метод QRGenerator () для достижения этой цели. Затем мы передаем в QRGen два аргумента – контент, который вы хотите сохранить в QR-коде, и тип qr. Имейте в виду, что этот модуль дает QR-коды, которые иногда трудно декодировать с помощью декодеров QR-кодов.

 

QR-код, метод 3

Еще один генератор QR-кода (среди множества их) – qr-img.

Для начала установим нужный нам модуль:

pip install qr-img

 

Затем мы можем создать QR-код, используя следующий код:

import qr_img
image = "enemy.png"
out_image = "qrcode6.png"
data = "www.duckduckgo.com"
name = "Kalyani" # this can be anything, it’s there just for fun
saved = qr_img.qrpic(name, image, data, out_image)
print(saved)

 

Это генерирует QR-код с изображением в центре (в моем случае «own.png»). Немного необычно, но тем не менее работает. Здесь изображение – это изображение, которое вы хотите разместить в центре QR-кода. Out_image – это расположение и имя выходного изображения или QR-кода. Данные – это данные, которые вы хотите поместить в QR-код. И имя – это любое слово, какое захотите; это просто для удовольствия. Затем используйте метод qrpic () для генерации QR-кода, передав 4 аргумента – имя, изображение, данные и out_image.

QR-код декодер

Как бы здорово ни было создавать QR-коды, которые могут считывать телефонные приложения, было бы здорово создать декодер. Декодер QR-кода используется для чтения информации, содержащейся в QR-коде.

Для начала установим нужный нам модуль:

pip install qr-img

 

Затем мы декодируем с помощью метода qr_decode () и распечатываем его.

import qr_img

image = "qrcode.png"
text = qr_img.qr_decode(image)
print(text)

 

Читать  Как работать с CSV-файлами в Python

Обратите внимание, что это не работает с QR-кодами, созданными с помощью метода 2.

 

Штрих-коды

Штрих-код – это многострочный объект, который мы все видим практически на всем. Это то, что мы видим на наших пищевых продуктах, на продуктах, купленных в магазинах, и практически на всем, что мы можем купить. Эти штрих-коды, как и QR-коды, хранят информацию. Однако проблема со штрих-кодами заключается в том, что они ограничены примерно 20 буквенно-цифровыми символами. Здесь QR-коды – это решение проблемы. В этом разделе мы узнаем, как создавать штрих-коды с помощью Python.

Во-первых, начнем с установки модуля штрих-кода:

pip install "python-barcode[images]"

 

Этот конкретный модуль предлагает 11 различных типов штрих-кодов: EAN-8, EAN-13, EAN-14, UPC-A, JAN, ISBN-10, ISBN-13, ISSN, Code 39, Code 128 и PZN. В этом примере мы собираемся использовать EAN-13.

Чтобы сгенерировать штрих-код, нам нужно всего три строки кода:

import barcode

ean = barcode.get_barcode_class('ean13')
ean2 = ean('4502264821487')
ean2.save('barcode')

 

Здесь метод save используется для сохранения штрих-кода в изображение, и он принимает единственный аргумент – имя штрих-кода, который вы хотите сохранить. Эти три строки кода создают так называемый файл svg.

Но предположим, что вы хотите вместо изображения png, тогда используйте следующий код:

from barcode.writer import ImageWriter
import barcode

ean = barcode.get_barcode_class('ean13')
ean2 = ean('7581631153487', writer=ImageWriter())
ean2.save('barcode2')

 

И штрих-коды, и QR-коды широко используются для хранения информации о продукте, компании или другом материале. Разница между штрих-кодом и QR-кодом заключается в том, что QR-код может хранить примерно в 350 раз больше информации, чем штрих-код, и поэтому более широко используется в наши дни. В этом руководстве мы узнали, как с помощью Python создавать штрих-коды и QR-коды. Теперь вы можете создавать свои собственные штрих-коды и QR-коды для своих целей!

Удачного кодирования!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close