Код 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-кодов! В этом примере мы будем использовать 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-кода (среди множества их) – 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-коде.
Для начала установим нужный нам модуль:
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-коды для своих целей!
Удачного кодирования!