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))

 

Наконец, чтобы сохранить сгенерированный 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)

 

Обратите внимание, что это не работает с 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-коды для своих целей!

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



2021-10-20T00:02:16
Python