Files
SnapOtter/apps/docs/ru/tools/image/qr-generate.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

77 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: "Генерация QR-кодов с пользовательскими цветами и уровнями коррекции ошибок."
i18n_source_hash: 096ef4d90da5
i18n_provenance: human
i18n_output_hash: 7bc1811d0874
---
# Генератор QR-кодов {#qr-code-generator}
Генерация изображений QR-кодов из текста или URL с настраиваемым размером, уровнем коррекции ошибок и пользовательскими цветами переднего плана/фона.
## Эндпоинт API {#api-endpoint}
`POST /api/v1/tools/image/qr-generate`
Принимает **JSON-тело** (не multipart). Загрузка файла не требуется.
## Параметры {#parameters}
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|-----------|------|----------|---------|-------------|
| text | string | Да | - | Содержимое для кодирования в QR-код (от 1 до 2000 символов) |
| size | number | Нет | `400` | Ширина/высота выходного изображения в пикселях (от 100 до 10000) |
| errorCorrection | string | Нет | `"M"` | Уровень коррекции ошибок: `L` (7%), `M` (15%), `Q` (25%), `H` (30%) |
| foreground | string | Нет | `"#000000"` | Цвет переднего плана/модулей QR-кода в hex (`#RRGGBB`) |
| background | string | Нет | `"#FFFFFF"` | Цвет фона QR-кода в hex (`#RRGGBB`) |
| logoDataUri | string | Нет | - | Изображение логотипа как data URI (`data:image/png;base64,...` или `data:image/jpeg;base64,...`, максимум 700 КБ). Центрируется на QR-коде при 22% от размера QR. Принудительно устанавливает коррекцию ошибок в `H` |
### Уровни коррекции ошибок {#error-correction-levels}
| Уровень | Восстановление | Сценарий использования |
|-------|----------|----------|
| `L` | ~7% | Максимальная плотность данных |
| `M` | ~15% | Сбалансированный (по умолчанию) |
| `Q` | ~25% | Хорошо подходит для печатных кодов |
| `H` | ~30% | Лучше всего для кодов с наложением логотипа |
## Пример запроса {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/qr-generate \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "https://snapotter.com", "size": 500, "errorCorrection": "H"}'
```
Брендированный QR-код с пользовательскими цветами:
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/qr-generate \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "Hello World", "size": 300, "foreground": "#1a365d", "background": "#f7fafc"}'
```
## Пример ответа {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/qrcode.png",
"originalSize": 0,
"processedSize": 4520
}
```
## Примечания {#notes}
- Этот эндпоинт принимает JSON, а не multipart form data, поскольку загрузка изображения не нужна.
- Вывод всегда представляет собой изображение PNG.
- Имя выходного файла всегда `qrcode.png`.
- `originalSize` всегда равен 0, поскольку этот инструмент генерирует изображения с нуля.
- Вокруг QR-кода включается тихая зона (отступ) в 2 модуля.
- Максимальная длина текста — 2000 символов. Фактическая ёмкость зависит от уровня коррекции ошибок и кодировки символов.
- Более высокие уровни коррекции ошибок позволяют QR-коду оставаться считываемым, даже если он частично скрыт, но уменьшают ёмкость данных.
- Когда указан `logoDataUri`, коррекция ошибок автоматически принудительно устанавливается в `H` (30%), чтобы QR-код оставался считываемым, несмотря на закрытие центра логотипом.