Генератор QR кодов

QR коды можно увидеть не только на банке колы, визитных карточек но и в различных веб-приложениях. Код QR это спецификация 2-мерный штрих-кодов, который был изобретен Denso Wave в Японии. Код запатентован! Но изобретатель, решил оставить открытым для использования.

Оглавление:
  1. Создать QR-код
  2. Особенности PHP кода в библиотеке QR
  3. Получить размер конечного QR кода
  4. Где применить QR коды
  5. Заключение

С тех пор код растёт в популярности из-за своей способности включают в себя много данных в одном изображении, и распространяется на смартфонах после сканировании приложений с кодом QR.

Демо

В этой статье показано, как можно легко создать PHP приложение для генерации QR кодов и поделиться некоторыми идеями о том, как и когда их использовать, мы будем использовать PHP QR Code, библиотека написана на PHP для генерации QR кодов и которая не требует никаких дополнений кроме стандартных расширений графики GD2 для создания изображений.

Создать QR-код

Начните с загрузки последней библиотеки кода PHP QR из GitHub. Если распаковали его успешно, заходим в http://localhost/phpqrcode в вашу среду разработки, чтобы найти демо-версию работы. Вы можете вставить любой текст в поле данных где вы хотите было преобразовано в изображение QR-кода, как показано на снимке ниже. Если у вас возникли проблемы, убедитесь, что у вас есть PHP и установлено расширение с GD2.

Создать генератор кодов QR c PHP

Генератор QR кодов

Создайте новый сценарий PHP со следующим кодом:

<?php
include "phpqrcode/qrlib.php";
// создать QR Код с этого текста и отобразить его
QRcode::png("Мой первый QR код");

Вы видите, как это просто? С помощью всего двух строк кода вы получите совершенно хороший QR код для вашего приложения. Возможности безграничны! Но подождите, это не всё, у библиотеки больше возможностей!

к меню ↑

Особенности PHP кода в библиотеке QR

Для полномасштабного применения например, попробуйте этот код:

<?php
QRcode::png("http://htmlhook.ru", "test.png", "L", 4, 4);

Первый параметр определяет текст или данные, которые будут закодированы в изображение и передается как обычная строка. Вторым параметром является название выходного файла для создаваемых изображений PNG, если таковые имеются. Значение по умолчанию false, в этом случае изображение будет в браузере.

Третьим параметром является уровень коррекции ошибок для с генерированного штрих-кода, переданный в качестве одной строки письма. Это определяет, сколько кодовых слов данных в (8-бит в кодовом слове) могут быть восстановлены для искаженных или поврежденных изображений QR код с помощью кода Рида-Соломона алгоритм коррекции ошибок. Чем выше уровень коррекции, тем меньше объем данных штрих-кода может быть для данного измерения. Ниже приведена таблица, отображающая уровни их восстановления проценты и строка констант, используемых при вызове QRcode::png(). ( Таблица составлена из статьи Википедии о QR-кодах и сигнатуру метода в коде PHP библиотеки QR).

уровни коррекции ошибок PHP QR кода

Четвертый параметр определяет размер каждого из штрих-кода кода квадраты измеряются в пикселях. Каждый код квадрат (также названный «pixels» или «modules») составляет 4 × 4 пикселя. Пятый параметр определяет границы белого поля вокруг штрих-кодов, измеряется в коде квадратов (например, 16px край с каждой стороны для 4 × 4 пикселя код квадрат).

Библиотека поддерживает экспорт PNG, SVG и EPS изображения, и вы можете создавать QR коды в любом из этих форматов, просто изменив название метода с png() для sag() или eps() и использовать правильное расширение для создаваемого изображения имя файла.

Кроме того, вы можете изменить фоновый и основной цвет, с дополнительными параметрами:

<?php
$backColor = 0xFFFF00;
$foreColor = 0xFF00FF;
// Создать QR Code и экспорт в SVG
QRcode::svg("http://htmlhook.ru", "test-me.svg", "L", 4, 4, false, $backColor, $foreColor);

Шестой параметр в примере выше false, похоже, бесполезный параметр. Возможно это может быть наверно для сохранения в файл из экспорта в браузере, но он просто не работает у меня после проверки его несколько раз, поэтому держите его false.

к меню ↑

Получить размер конечного QR кода

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

Image Size (px) = (Pixels per Module) × (Module Size + 8)

Где, как говорилось ранее, пиксели для модуля, указанный в вызове метода в качестве четвертого параметра и размер модуля выбирается из этих штрих-кодов размеров таблицы следующим образом:

  1. Выберите строку типа (биты данных, цифровой, буквенно-цифровой, двоичной или Kanji (Кандзи)). Указать максимальную длину данных, такого типа которые должны быть упакованы в определенный штрих-код. Раньше буквенно-цифровой, но если вы используете UTF-8 закодированных строк, то вы можете использовать вместо бинарного типа. Кандзи для японцев, но это не тестируется в библиотеке автора.
  2. Выберите нужный уровень коррекции ошибок и для вашей длины строки, найти минимальный номер версии, которая может обрабатывать по крайней мере, многие символы. Например использовались 24 или более буквенно-цифровых символов типа на уровне L, поэтому значение будет версия 1 первого ряда.
  3. Получить модуль для версии, которую вы выбрали, вот это будет модуль 21 × 21, где модуль размер будет 21. PHP QR код библиотеки принимает следующую версию вверх, а не больше места, как безопасность, так что потом подняться на один больше.

Если рассчитать размер модуля для версии для примера, вы обнаружите, что полученный размер изображения должен быть:

Image Size = 4 × (21 + 8) = 116 × 116px

Но изображение, формируемое составляет 132 × 132px вместо этого. PHP QR Code приняли следующую версию (версии 2, а версия 1, или просто модуля 25 × 25), так что фактически размер будет:

Image Size = 4 × (25 + 8) = 132 × 132px
к меню ↑

Где применить QR коды

Чаще всего QR коды применяют для кодирования URL-адреса веб-сайта, как, например, на странице Facebook поклонник Вашего последнего продукта, вашей компании и т.д. варианты бесконечны. Можно использовать его на визитной карточке и кодировать URL в профиль LinkedIn.

QR коды можно хранить номера телефонов, vCards и адреса электронной почты. Некоторые сайты положить в качестве закладки.

Когда дело доходит до использования QR кодов, ваш единственный предел объем данных.

к меню ↑

Заключение

В этой статье вы видели, как генерировать QR-коды с PHP для различных печатных и веб-приложений. Также показано, как рассчитать окончательный размер изображения которое генерируются заранее, так как библиотека не обеспечивает такой установки. Короче говоря, работа с QR кодом может открыть много возможностей. Как вы можете улучшить своё приложение PHP с QR кодом?

htmlhook.ru | Скрипты для веб-приложений