Files
SnapOtter/apps/docs/ru/tools/image/barcode-read.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

5.1 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Сканирование изображений на наличие QR-кодов, штрихкодов и 2D-кодов с аннотированным выводом. 97c9d395c257 human a1bfae5a8707

Сканер штрихкодов

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

Конечная точка API

POST /api/v1/tools/image/barcode-read

Принимает multipart form data с файлом изображения и необязательным полем JSON settings.

Параметры

Параметр Тип Обязательный По умолчанию Описание
tryHarder boolean Нет true Включить агрессивный режим сканирования для труднораспознаваемых штрихкодов (медленнее, но тщательнее)

Пример запроса

curl -X POST http://localhost:1349/api/v1/tools/image/barcode-read \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@receipt.jpg" \
  -F 'settings={"tryHarder": true}'

Пример ответа

{
  "filename": "receipt.jpg",
  "barcodes": [
    {
      "type": "QRCode",
      "text": "https://example.com/product/123",
      "position": {
        "topLeft": { "x": 100, "y": 50 },
        "topRight": { "x": 250, "y": 50 },
        "bottomLeft": { "x": 100, "y": 200 },
        "bottomRight": { "x": 250, "y": 200 }
      }
    },
    {
      "type": "EAN-13",
      "text": "5901234123457",
      "position": {
        "topLeft": { "x": 50, "y": 400 },
        "topRight": { "x": 300, "y": 400 },
        "bottomLeft": { "x": 50, "y": 450 },
        "bottomRight": { "x": 300, "y": 450 }
      }
    }
  ],
  "annotatedUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/annotated-receipt.png",
  "previewUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/annotated-receipt.png"
}

Поля ответа

Поле Тип Описание
filename string Исходное имя файла
barcodes array Массив объектов обнаруженных штрихкодов
annotatedUrl string или null URL для скачивания аннотированного изображения (null, если штрихкоды не найдены)
previewUrl string или null То же, что и annotatedUrl (для совместимости с предпросмотром во фронтенде)

Объект штрихкода

Поле Тип Описание
type string Формат штрихкода (QRCode, EAN-13, Code128, DataMatrix, PDF417 и т. д.)
text string Декодированное содержимое штрихкода
position object Ограничивающая рамка с координатами topLeft, topRight, bottomLeft, bottomRight

Поддерживаемые типы штрихкодов

1D-штрихкоды: Code128, Code39, Code93, Codabar, EAN-8, EAN-13, ITF, UPC-A, UPC-E

2D-штрихкоды: QRCode, DataMatrix, PDF417, Aztec, MaxiCode

Примечания

  • Использует библиотеку zxing-wasm для обнаружения штрихкодов.
  • Аннотированное изображение накладывает цветные многоугольные ограничивающие рамки и нумерованные метки на каждый обнаруженный штрихкод.
  • В одном изображении может быть обнаружено до 255 штрихкодов.
  • Если штрихкоды не найдены, barcodes представляет собой пустой массив, а annotatedUrl равен null.
  • Режим tryHarder выполняет более тщательное сканирование за счёт времени обработки. Отключите его для более быстрой обработки чистых, хорошо выровненных штрихкодов.
  • Аннотированный вывод всегда в формате PNG.
  • Входные данные HEIC, RAW, PSD и SVG автоматически декодируются перед сканированием.
  • Ориентация EXIF применяется автоматически перед обработкой.