Питон генерация qr кода

Кодирование данных

Одну из популярных форм кодирования информации представляет QR-код (quick responce) — штрих-код в виде серии пикселей в квадратной сетке. Для генерации QR-кода в Python можно использовать различные библиотеки. Большинство из них двольно похожи по функционалу. Одной из распространенных библиотек для генерации QR-кодов в Python является Segno. Установим данную библиотеку с помощью пакетного менеджера pip:

Для создания qr-кода применяются функции segno.make() и segno.make_qr() . Эти функции в качестве обязательного параметра принимают кодируемое содержимое и возвращают созданный qr-код:

import segno qrcode = segno.make_qr("Hello METANIT.COM") qrcode2 = segno.make("Hello METANIT.COM", micro=False)

По умолчанию segno.make() создает микро-код. Чтобы создать обычный qr-код, указывается параметр micro=False

Далее созданный qr-код можно сохранить с помощью метода save() в один из следующих форматов: .svg, .png, .eps, и .pdf

import segno # создаем код qrcode = segno.make_qr("Hello METANIT.COM") # сохраняем его в файл "metanit_qr.png" qrcode.save("metanit_qr.png") # аналогично можно сохранить в другие форматы qrcode.save("metanit_qr.pdf") qrcode.save("metanit_qr.eps") qrcode.save("metanit_qr.svg")

Чтобы сразу же отобразить созданный код в программе просмотра по умолчанию, можно применить метод show() :

import segno qrcode = segno.make_qr("Hello METANIT.COM") qrcode.save("metanit_qr.png") qrcode.show()

При сохранении в файл в метод save() можно передать ряд параметров. Некоторые из них:

  • scale : коэффициент увеличения изображения
  • border : размер границы
  • dark : цвет темной части QR кода в виде кортежа (R, G, B) или строки с именем цвета (например, «red») или с шестнадцатеричным значением цвета, например, (#RGB и #RRGGBB)
  • light : цвет светлой части QR кода
import segno qrcode = segno.make_qr("Hello METANIT.COM") # цвет - #2980B9, граница - 4, масштабирование - в 5 раз qrcode.save("metanit_qr.png", dark="#2980B9", border=4, scale=5)

В итоге будет создан следующее изображение:

Читайте также:  Python text recognition library

Создание qr-кода в Python

Из интересных возможностей, представляемых библиотекой, можно отметить наличие встроенных функций-хелперов для кодирования определенной информации. Некоторые из них:

segno.helpers.make_email(to, cc=None, bcc=None, subject=None, body=None) # Параметры: # to - кому письмо # cc - список получателей копии письма # bcc - список получателей слепой копии письма # subject - тема письма # body - текст письма
segno.helpers.make_geo(lat, lng) # Параметры: # lat - широта # lng - долгота
segno.helpers.make_wifi(ssid, password=None, security=None, hidden=False) # Параметры: # ssid - SSID сети # password - пароль # security - тип аутентификации ("WEP" или "WPA"). # hidden - является ли сеть скрытой
segno.helpers.make_mecard(name, reading=None, email=None, phone=None, videophone=None, memo=None, nickname=None, birthday=None, url=None, pobox=None, roomno=None, houseno=None, city=None, prefecture=None, zipcode=None, country=None)
segno.helpers.make_vcard(name, displayname, email=None, phone=None, fax=None, videophone=None, memo=None, nickname=None, birthday=None, url=None, pobox=None, street=None, city=None, region=None, zipcode=None, country=None, org=None, lat=None, lng=None, source=None, rev=None, title=None, photo_uri=None, cellphone=None, homephone=None, workphone=None)

Например, кодирование email:

from segno import helpers qrcode = helpers.make_email("tom@gmail.com", cc=None, bcc=None, subject="Тема письма", body="Содержимое письма") qrcode.save("email_qr.png", scale=5)

Или кодирование настроек wifi:

from segno import helpers qrcode = helpers.make_wifi(ssid="MyWifi", password="1234567890", security="WPA") qrcode.save("wifi-access.png", scale=10)

Источник

Создаем QR-коды с помощью Python

Нас всюду окружают QR-коды. Это удобный способ передать пользователю ссылку на сайт в рекламе, пароль от Wi-Fi или страницу загрузки меню в кафе. Их используют, чтобы получить номер в очереди, подтвердить вакцинацию, быстро проверить документы. QR-коды на достопримечательностях позволяют загрузить их изображения, трехмерные модели, информацию и даже музыку (как, например, шопеновские лавочки в Варшаве), расширяющие наш опыт туризма. Они могут заменить увесистую стопку скидочных карточек и упростить авторизацию в мессенджере.

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

Создаем QR-коды

Для начала, нам нужно установить модуль qrcode. Он использует библиотеку Pillow, так что мы загрузим все разом:

Теперь нам даже необязательно писать программу, чтобы создать QR-код. Мы можем сделать это прямо в командной строке.

qr "https://okumy.com/" > okumy.png 

В результате мы получим такое изображение:

image

В Python мы можем воспользоваться функцией qrcode.make() :

import qrcode img = qrcode.make('https://okumy.com/') type(img) # qrcode.image.pil.PilImage img.save("okumy.png") 

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

import qrcode def main(): start = int(input('Введите первый номер:')) stop = int(input('Введите последний номер:')) for i in range(start, stop + 1): value = '#' + str(i).rjust(8, '0') qrcode.make(value).save(value + '.png') if __name__ == '__main__': main() 

Теперь можно держать все инвентарные номера в базе данных, и управлять списанием прямо с телефона.

Продвинутые QR-коды

Если вы хотите большего, можно воспользоваться классом qrcode.QRCode . Он позволяет настраивать разные параметры.

import qrcode qr = qrcode.QRCode( version=10, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=15, border=6, ) qr.add_data('https://okumy.com/') qr.make(fit=True) img = qr.make_image(fill_color=(75, 0, 75), back_color=(190, 190, 255)).save('ok.png') 

version — число от 1 до 40, отвечающее за размер поля QR-кода. Единица задает матрицу 21 на 21 квадрат. None позволяет автоматически подстраивать размер.

error_correction — определяет избыточность QR-кода, допустимый процент ошибок. Варьируется от 7% ( ERROR_CORRECT_L ) до 30% ( ERROR_CORRECT_H ), по умолчанию — 15%.

box_size — размер квадратов в пикселях.

border — определяет толщину границы. Не может быть меньше 4 (значение по умолчанию).

fill_color , black_color — это цвет фона и квадратов. Желательно делать их контрастными, иначе камера телефона не сможет прочесть QR-код. Помимо текста, они могут принимать RGB-кортежи.

image

Заключение

Модуль qrcode позволяет генерировать QR-коды в Python или прямо из командной строки. Базовая функция make() позволяет создать QR-код в одну строку, а использование класса QRCode позволит контролировать разнообразные параметры. Этому модулю можно найти множество самых разнообразных применений, от эффектной рекламы до граффити.

Практический Python для начинающих

Практический Python для начинающих

Станьте junior Python программистом за 7 месяцев

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Welcome to our QR Code Generator repository! This is a Python implementation of a QR Code generator, with a user interface created using the Tkinter library. In this project, we aimed to create a simple, yet powerful tool for generating QR Codes for various purposes such as marketing, event management, or personal use.

CodeStudio-Content/QR-Code-Generator-Python

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

This is a simple QR code generator made using Python and Tkinter. It allows you to generate QR codes for URL that you input, and save them as image files.

Check out our project blog post for more information on the development process and our thoughts on the QR Code Generator project:

  • Clone this repository to your local machine.
  • Open a terminal window and navigate to the cloned repository.
  • Run the following command to start the game: python3 qr.py
  1. Enter the text or URL that you want to generate a QR code for and click the «Generate QR Code» button.
  2. Your QR code will be displayed on the screen. Click the «Save QR Code» button to save the QR code image as a PNG file.
  3. Choose a location to save the QR code image by using the file dialog box that appears. Enter a file name and click the «Save» button.
  1. creating the user interface and handling user input.
  2. The init method initializes the user interface by creating and configuring the label, entry, and button widgets.
  3. The generate_qr_code method generates a QR code based on the user input, and the save_qr_code method saves the QR code as a PNG image file.
  4. Finally, the root variable creates the main window and runs the QRCodeGenerator class.

Made with ❤️ , Python, and Tkinter. Enjoy!

About

Welcome to our QR Code Generator repository! This is a Python implementation of a QR Code generator, with a user interface created using the Tkinter library. In this project, we aimed to create a simple, yet powerful tool for generating QR Codes for various purposes such as marketing, event management, or personal use.

Источник

Оцените статью