QR-код: генерация из ссылок¶
QR-код (англ. Quick Response Code, «быстрый отклик») — двумерный штрихкод, разработанный в 1994 году японской компанией Denso Wave для маркировки деталей в автомобильной промышленности. Код хранит цифровую информацию (URL, текст, контактные данные) в виде матрицы из чёрных и белых модулей и считывается специальными оптическими сканерами или камерами смартфонов. Из ссылки (URL) QR-код создаётся с помощью генераторов — программ или онлайн-сервисов, которые преобразуют строку адреса в графическую матрицу по стандарту ISO/IEC 18004.
¶Принцип работы
QR-код представляет собой квадратную матрицу модулей. Стандарт поддерживает четыре уровня коррекции ошибок (L, M, Q, H), позволяющих восстановить до 7, 15, 25 или 30 % повреждённых модулей соответственно. Более высокий уровень коррекции увеличивает плотность кода, но повышает устойчивость к загрязнению и деформации носителя.
В структуре кода выделяют:
- позиционные узоры — три квадрата в углах, определяющие положение и ориентацию;
- синхрополосы — чередующиеся модули между позиционными узорами;
- выравнивающие узоры — для кодов размером 25×25 модулей и более;
- информационные модули — непосредственно данные и биты коррекции ошибок.
При сканировании камера считывает матрицу, декодирует байты и выдаёт результат: чаще всего это строка URL, по которому устройство переходит автоматически.
¶Способы создания QR-кода из ссылки
¶Онлайн-генераторы
Самый распространённый способ. Пользователь вставляет ссылку в поле формы, сервис формирует изображение в формате PNG, SVG или EPS. К типичным функциям относятся:
- выбор уровня коррекции ошибок;
- подбор цвета и встраивание логотипа в центр кода;
- задание размера и полей (quiet zone) вокруг матрицы;
- создание динамических кодов с возможностью менять конечный URL без перепечатки носителя.
Популярные сервисы: QR Code Generator, QRStuff, GoQR.me, Unitag. Многие из них бесплатны для базовых функций; расширенные возможности (статистика переходов, редактирование ссылки после публикации) доступны по подписке.
¶Офлайн-программы и мобильные приложения
Для генерации без подключения к сети используются десктопные утилиты (например, QR Code Studio, Kaspersky QR Scanner) и встроенные средства операционных систем. В iOS камера распознаёт QR-коды нативно; в Android поддержка появилась в приложении «Камера» начиная с Android 8.0. Существуют приложения, создающие коды офлайн: QR & Barcode Scanner, QR Tiger, «Генератор QR-кодов».
¶Программные библиотеки
Для автоматизации в веб-разработке и серверных сценариях используются библиотеки:
- Python:
qrcode,segno,pyqrcode; - JavaScript:
qrcode.js,qr-code-styling,node-qrcode; - PHP:
phpqrcode,endroid/qr-code; - Java/Kotlin: ZXing («Zebra Crossing»), ZBar.
Пример минимального кода на Python с библиотекой qrcode:
``python import qrcode img = qrcode.make("https://example.com") img.save("code.png") ``
Библиотеки позволяют задавать уровень коррекции, цвет, размер, логотип и формат выходного файла, а также генерировать коды в потоковом режиме для массовой маркировки.
¶Форматы хранения
QR-код сохраняют в двух основных форматах:
| Формат | Особенности |
|---|---|
| PNG | растровый, подходит для печати и вставки в документы; при масштабировании теряет чёткость |
| SVG | векторный, масштабируется без потери качества; предпочтителен для наружной рекламы и крупноформатной печати |
Для профессиональной полиграфии также используют EPS и PDF. Рекомендуемый минимальный размер для печати — 2×2 см, для считывания с расстояния — размер модуля должен быть не меньше 1/10 расстояния до камеры.
¶Применение
QR-коды из ссылок используются в маркетинге (переход на лендинг с упаковки), в меню ресторанов, в билетных системах, в оплате (СБП в России использует QR-стандарт), в визитках, на транспортных остановках, в образовательных материалах. В России технология получила широкое распространение с 2020 года, в частности в системе вменённого дохода (ККТ печатают QR-код чека) и в платежах через Систему быстрых платежей.
¶Ограничения и безопасность
QR-код не шифрует данные: содержимое считывается любым сканером. Скрытые URL-сокращатели могут маскировать вредоносные адреса — фишинговые кампании с QR-кодами («quishing») используются для кражи учётных данных. Рекомендуется проверять расшифрованный адрес перед переходом и использовать сканеры с предупреждением о подозрительных доменах.
Источники:
- ISO/IEC 18004:2015 «Information technology — Automatic identification and data capture techniques — Code for two-dimensional symbology specifications»
- Denso Wave Incorporated — официальный разработчик стандарта QR
- ГОСТ Р ИСО/МЭК 18004-2013 «Информационные технологии. Технологии распознавания и сбора данных. Спецификация символики QR-код»
- ZXing Project — open-source библиотека распознавания штрихкодов
