Простой QR-код ======================== [](https://travis-ci.org/SimpleSoftwareIO/simple-qrcode) [](https://packagist.org/packages/simplesoftwareio/simple-qrcode) [](https://packagist.org/packages/simplesoftwareio/simple-qrcode) [](https://packagist.org/packages/simplesoftwareio/simple-qrcode) [](https://packagist.org/packages/simplesoftwareio/simple-qrcode) - [Введение](#docs-introduction) - [Переводы](#docs-translations) - [Конфигурация](#docs-configuration) - [Простые Идеи](#docs-ideas) - [Употребление](#docs-usage) - [Хелперы](#docs-helpers) - [Распространенное использование QR-кода](#docs-common-usage) - [Использование за пределами Laravel](#docs-outside-laravel) ## Введение Обычный QR-код простой в использовании обертки для популярных рамок Laravel на основе превосходный работы, предоставленной [Bacon/BaconQrCode](https://github.com/Bacon/BaconQrCode). Мы создали интерфейс, который привычный и простой в установке для пользователей Laravel. ## Переводы Мы ищем пользователей, говорящих на китайском, корейском или японском языках, которые могут помочь перевести этот документ. Пожалуйста, создайте пул реквест, если вы способны сделать перевод! ## Конфигурация #### Composer Во-первых, добавьте пакет простого QR-код к `require` в файле `composer.json`: "require": { "simplesoftwareio/simple-qrcode": "~1" } Затем запустите команду `composer update`. #### Поставщик Услуг ###### Laravel 4 Зарегистрируйте `SimpleSoftwareIO\QrCode\QrCodeServiceProvider` в `app/config/app.php` в пределах массива `providers`. ###### Laravel 5 Зарегистрируйте `SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class` в `config/app.php` в пределах массива `providers`. #### Псевдонимы ###### Laravel 4 И, наконец, зарегистрируйте `'QrCode' => 'SimpleSoftwareIO\QrCode\Facades\QrCode'` в `app/config/app.php` файл конфигурации в пределах массива `aliases`. ###### Laravel 5 В конце, зарегистрируйте `'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class` в `config/app.php` файл конфигурации в пределах массива `aliases`. ## Простые Идеи #### Предварительный Просмотр Печати Иметь QR-код во всех предварительных просмотрах является одним из основных элементов, для которых мы используем этот пакет. Это позволяет нашим клиентам, вернуться на исходную страницу после того, как она будет напечатана с помощью сканирования кода. Мы добились этого, добавив footer.blade.php в наш файл.
Сканируйте меня, чтобы вернуться на исходную страницу.
## Употребление
#### Основное Использование
Использовать генератор для QR-код очень легко. Самый основной синтаксис:
QrCode::generate('Сделайте меня QR-кодом!');
Это создаст QR-код говоря "Сделайте меня QR-кодом!"
#### Генератора
`Generate` используется, чтобы создать QR-код.
QrCode::generate('Сделайте меня QR-кодом!');
> Внимание! Этот метод должен быть вызван в конце если используются в последовательности.
`Generate` по умолчанию возвращает строку изображение в формате SVG. Вы можете напечатать это прямо в современный браузер внутри системы Blade в Laravel как указано далее:
{!! QrCode::generate('Сделайте меня QR-кодом!'); !!}
Метод `generate` имеет второй параметр, который будет принимать имя файла и путь для сохранения QR-код.
QrCode::generate('Сделайте меня QR-кодом!', '../public/qrcodes/qrcode.svg');
#### Изменение Формата
> Генератор QR-код установлен для возврата изображения в формате SVG по умолчанию.
> Будьте осторожны! Метод `format` должен вызываться перед всеми остальными параметрами форматирования, такими как: `size`, `color`, `backgroundColor`, и `margin`.
Три формата на данный момент поддерживаются; PNG, EPS, и SVG. Для изменения формата используйте следующий код:
QrCode::format('png'); // Возвращает изображение в формате PNG
QrCode::format('eps'); // Возвращает изображение в формате EPS
QrCode::format('svg'); // Возвращает изображение в формате SVG
#### Изменение Размера
> Генератор QR-код по умолчанию будет возвращать наименьший размер в пикселях возможных для создания QR-код.
Вы можете изменить размер QR-код с помощью метода `size`. Просто укажите размер желаемого в пикселях, используя следующий синтаксис:
QrCode::size(100);
#### Изменение цвета
> Будьте осторожны при изменении цвета в QR-код. Некоторым читателям очень сложно читать QR-код в цвете.
Все QR-коды должны быть выражены в красном, зеленом или синем цвете. Вы можете изменить цвет QR-код с помощью следующих действий:
QrCode::color(255,0,255);
Изменения цвета фона также поддерживаются и должны быть выражены таким же образом.
QrCode::backgroundColor(255,255,0);
#### Изменение поля
Возможность изменения поля вокруг QR-кода также поддерживается. Просто укажите желаемый запас, используя следующий синтаксис:
QrCode::margin(100);
#### Исправление ошибок
Изменять уровень коррекции ошибок легко. Просто используйте следующий синтаксис:
QrCode::errorCorrection('H');
Указанное далее поддерживается в вариантах для метода `errorCorrection`.
| Исправление ошибок | Гарантия |
| --- | --- |
| L | 7% кодовых слов могут быть восстановлены.|
| M | 15% кодовых слов могут быть восстановлены.|
| Q | 25% кодовых слов могут быть восстановлены.|
| H | 30% кодовых слов могут быть восстановлены.|
> Чем больше коррекций ошибок используется; тем больше становится QR-код и тем меньше данных он может хранить. Подробнее читайте об [исправлении ошибок]( https://ru.wikipedia.org/wiki/QR-%D0%BA%D0%BE%D0%B4#.D0.9E.D0.B1.D1.89.D0.B0.D1.8F_.D1.82.D0.B5.D1.85.D0.BD.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B0.D1.8F_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D1.8F).
#### Кодирование
Измените кодировку,которая используется для создания QR-кода. По умолчанию `ISO-8859-1` выбран в качестве кодера. Подробнее читайте о [кодирование символов]( https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%B1%D0%BE%D1%80_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2). Вы можете изменить это на любое из следующих действий:
QrCode::encoding('UTF-8')->generate('‘Сделайте меня QR-кодом со специальными символами ♠♥!!');
| Набор Символов |
| --- |
| ISO-8859-1 |
| ISO-8859-2 |
| ISO-8859-3 |
| ISO-8859-4 |
| ISO-8859-5 |
| ISO-8859-6 |
| ISO-8859-7 |
| ISO-8859-8 |
| ISO-8859-9 |
| ISO-8859-10 |
| ISO-8859-11 |
| ISO-8859-12 |
| ISO-8859-13 |
| ISO-8859-14 |
| ISO-8859-15 |
| ISO-8859-16 |
| SHIFT-JIS |
| WINDOWS-1250 |
| WINDOWS-1251 |
| WINDOWS-1252 |
| WINDOWS-1256 |
| UTF-16BE |
| UTF-8 |
| ASCII |
| GBK |
| EUC-KR |
> Ошибка обозначена `Could not encode content to ISO-8859-1` означает, что неправильный тип кодировки был использован. Мы рекомендуем `UTF-8` если вы не уверены.
#### Merge
Метод `merge` объединяет изображение над QR-кодом. Это обычно используется для логотипов, размещенных в пределах QR-кода.
QrCode::merge($filename, $percentage, $absolute);
// Создает QR-код с изображением в центре.
QrCode::format('png')->merge('path-to-image.png')->generate();
// Создает QR-код с изображением в центре. Вставленное изображение занимает 30% QR-кода.
QrCode::format('png')->merge('path-to-image.png', .3)->generate();
// Создает QR-код с изображением в центре. Вставленное изображение занимает 30% QR-кода.
QrCode::format('png')->merge('http://www.google.com/someimage.png', .3, true)->generate();
> Метод `merge` поддерживает только формат PNG в это время.
> Путь к файлу является относительно базового приложения пути, если `$absolute` установлен к `false`. Измените эту переменную `true` чтоб использовать абсолютные пути.
> Вы должны использовать высокий уровень коррекции ошибок при использовании метода `merge` чтобы гарантировать, что QR-код остается читаемым. Мы рекомендуем использовать `errorCorrection('H')`.

#### Слияние Двоичной Строки
Метод `mergeString` может быть использован для достижения такой же, как вызов `merge` за исключением того, что позволяет обеспечить строковое представление файла вместо пути к файлу. Это полезно при работе с фасадом `Storage`. Этот интерфейс очень похож на вызов `merge`.
QrCode::mergeString(Storage::get('path/to/image.png'), $percentage);
// Создает QR-код с изображением в центре.
QrCode::format('png')->mergeString(Storage::get('path/to/image.png'))->generate();
// Создает QR-код с изображением в центре. Вставленное изображение занимает 30% QR-кода.
QrCode::format('png')->mergeString(Storage::get('path/to/image.png'), .3)->generate();
> Как и в случае нормального вызова `merge` только PNG поддерживается в это время. То же самое относится к коррекции ошибок, рекомендуется использовать высокие уровни.
#### Дополнительные Функции
Все методы поддержки формирование последовательности. Метод `generate` должен быть вызван последним и любое изменение формата должно быть вызвано в первую очередь. Например, вы можете запустить любое из следующих действий:
QrCode::size(250)->color(150,90,10)->backgroundColor(10,14,244)->generate('Сделайте меня QR-кодом!');
QrCode::format('png')->size(399)->color(40,40,40)->generate('Сделайте меня QR-кодом!');
Вы можете отобразить изображение в формате PNG без сохранения файла, предоставляя необработанную строку и кодирование с `base64_encode`.