Динамическая генерация QR-кодов, используя Google Chart API. Формат vCard

В чем удобство и преимущество QR-кода? В том, что его можно быстро распознать и использовать, с помощью специальных приложений в мобильных устройствах. Поэтому QR-код обрел такую большую популярность. В QR-код можно закодировать, например, адрес сайта, email, полную контактную информацию, географические координаты и т.д. Я рассмотрю способ генерации QR-кода, который содержит контактную информацию в формате vCard, используя Google Chart API. Пример полученного кода ниже (закодированы контактные данные вымышленного человека). Попробуйте распознать этот код с помощью своего смартфона — приложение предложит добавить данные в адресную книгу.

qr-code

Ну как? По моему, это круто! Не нужно вбивать вручную контакты человека, нужно просто распознать QR-код.  Давайте детально разберем, как у нас так получилось.

Формат vCard

vCard — это специальный формат, который разработан для обмена контактными данными (визитками) в электронном виде. В него могут быть добавлены: email, телефон, адрес сайта, дата рождения, фото, аудио-данные и др. Пример данных, которые мы закодировали в QR-код в формате vCard:

BEGIN:VCARD
VERSION:3.0
FN:Иван Иванов
ADR:ул. Артема, 1; Донецк; Донецкая область; Украина
TEL;TYPE=WORK:+380501111111
CATEGORIES:Бизнес
URL:http://google.com.ua
END:VCARD

Более подробнее об этом формате читайте тут.

Google Chart API

Эти данные в формате vCard далее в качестве параметра передаем в Google Chart API и на выходе получаем QR-код. Синтаксис обращения к API такой:

https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=<текст>

Параметры, которые передаются:

  • chs — размер картинки в пикселях
  • chl — данные, которые будут закодированы в QR-код.

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

Запись опубликована в рубрике php, Без рубрики с метками , , , . Добавьте в закладки постоянную ссылку.
  • Андрей Витовтов

    Сканер показывает пусто

    $vCard = «BEGIN:VCARDn
    VERSION:3.0n
    FN:Иван Ивановn
    TEL:+380111111111n
    URL:http://google.com.uan
    END:VCARD»;

    echo «»;

    Что не так?