28 янв. 2013 г.

Генерируем QR код в python

В посте не будет описания алгоритмов генерации QR-кодов. Это муторно и не интеренсо. В конце концов, вам скорее всего нужно просто один раз сгенерировать код для сайта или визитки. Но если вам всеже очень интересно, как это делается, читайте по ссылкам из kcoding.net.
Конечно, можно воспользоваться Google Charts:
<img src="https://chart.googleapis.com/chart?chs=250x250&amp;cht=qr&amp;chl=кодируемаяфраза&amp;choe=UTF-8">
Вместо "кодируемаяфраза" вы можете подставить свой кодируемый текст или ссылку.
Однако, в pypi есть библиотека qrcode, с помощью которой можно сгенерировать QR код картинку у себя на сервере. Google в большинстве случае проще, но во втором подходе можно "зашить" в QR код например логин с паролем, которые будут сгенерированы под браузерную суссию и "прочитаны" на телефоне, например. По сети будет минимум хождения приватных данных, так что вариант безусловно полезный.

1. Ставим билиотеку себе:
easy_install qrcode
# OR 
pip install qrcode
Еще нам понадобится PIL:
easy_install PIL
# OR
pip install PIL
Код генерации файла с QR кодом может выглядеть например так:
# coding: utf-8

import qrcode


qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)
qr.add_data('http://adinch.com')
qr.make(fit=True)

img = qr.make_image()
img.save('qr.png')

1 комментарий:

Анонимный комментирует...

Спасибо. Несколько лет назад искал реализацию на Питоне, был только какой-то порт с Джавы, который у меня так и не завелся. С тех пор пользовался только Гуглом.