Spec-Zone.ru › Web APIs

API распознавания штрих-кодов

Ограниченная доступность

Эта функция не относится к Baseline, так как не работает в некоторых из наиболее широко используемых браузеров.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Экспериментальная: Это экспериментальная технология
Перед использованием в рабочей среде внимательно проверьте таблицу совместимости браузеров.

API распознавания штрих-кодов определяет линейные и двумерные штрих-коды на изображениях.

Основные понятия и использование

Поддержка распознавания штрих-кодов в веб-приложениях открывает широкий спектр вариантов использования через поддерживаемые форматы штрих-кодов. QR-коды могут использоваться для онлайн-платежей, навигации по сайтам или установления социальных связей, коды Aztec могут использоваться для сканирования посадочных талонов, а приложения для покупок могут использовать штрих-коды EAN или UPC для сравнения цен на физические товары.

Распознавание выполняется с помощью метода detect(), который принимает объект изображения; это может быть один из следующих объектов: HTMLImageElement, SVGImageElement, HTMLVideoElement, HTMLCanvasElement, ImageBitmap, OffscreenCanvas, VideoFrame, Blob или ImageData. В конструктор BarcodeDetector можно передать необязательные параметры, чтобы указать, какие форматы штрих-кодов следует распознавать.

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

API распознавания штрих-кодов поддерживает следующие форматы штрих-кодов:

Формат Описание Изображение
aztec Квадратный двумерный матричный код, соответствующий стандарту iso24778, с квадратным центральным кругом, напоминающим ацтекскую пирамиду. Не требует окружающего пустого поля. A sample image of an Aztec barcode. A square with smaller black and white squares inside
code_128 Линейный (одномерный), двунаправленно декодируемый, самопроверяемый штрих-код, соответствующий стандарту iso15417, способный кодировать все 128 символов ASCII (отсюда и название). An image of a code-128 barcode. A horizontal distribution of vertical black and white lines
code_39 Линейный (одномерный), самопроверяемый штрих-код, соответствующий стандарту iso16388. Это дискретный и переменной длины тип штрих-кода. An image of a code-39 barcode. A horizontal distribution of vertical black and white lines
code_93 Линейная, непрерывная символика с переменной длиной, соответствующая стандарту bc5. Предлагает более высокую плотность информации, чем Code 128 и визуально похожий Code 39. Code 93 используется в основном почтой Канады для кодирования дополнительной информации о доставке. An image of a code 93 format barcode. A horizontal distribution of white and black horizontal lines
codabar Линейный штрих-код, представляющий символы от 0 до 9, A-D и символы - . $ / + An image of a codabar format barcode. A horizontal distribution of black and white vertical lines
data_matrix Двумерный штрих-код, независимый от ориентации, составленный из черных и белых модулей, расположенных в квадратной или прямоугольной форме, соответствующий стандарту iso16022. An example of a data matrix barcode. A square filled with smaller black and white squares
ean_13 Линейный штрих-код, основанный на стандарте UPC-A и определенный в iso15420. An image of an EAN-13 format barcode. A horizontal distribution of white and black lines
ean_8 Линейный штрих-код, определенный в iso15420 и производный от EAN-13. An image of an EAN-8 format barcode. A horizontal distribution of vertical black and white lines
itf Непрерывный, самопроверяемый, двунаправленно декодируемый штрих-код. Он всегда кодирует 14 цифр. An image of an ITF Barcode. A horizontal distribution of white and black lines
pdf417 Двумерный формат непрерывной штрих-кодовой символики с несколькими строками и столбцами. Он двунаправленно декодируется и использует стандарт iso15438. An example of a pdf417 barcode format. A rectangle of smaller black and white squares
qr_code Двумерный штрих-код, использующий стандарт iso18004. Кодируемая информация может быть текстом, URL или другими данными. An example of a QR code. A square of smaller black and white squares
upc_a Один из самых распространенных типов линейных штрих-кодов, широко применяемых в розничной торговле в США. Определенный в iso15420, он представляет цифры полосками черных и белых полос и пробелов, каждая цифра связана с уникальным шаблоном из 2 полос и 2 пробелов, ширина которых переменная. UPC-A может кодировать 12 цифр, уникально присвоенных каждому торговому предмету, и технически является подмножеством EAN-13 (коды UPC-A представлены в EAN-13 с первым символом, установленным в 0). An image of a upc-a barcode. A rectangle of black and white vertical lines with numbers underneath
upc_e Вариант UPC-A, определенный в iso15420, сжатый за счет удаления ненужных нулей для более компактного штрих-кода. An image of a upc-e barcode. A rectangle of black and white vertical lines
unknown Это значение используется платформой для обозначения того, что она не знает или не определяет, какой формат штрих-кода распознается или поддерживается.

Вы можете проверить форматы, поддерживаемые пользовательским агентом, с помощью метода getSupportedFormats().

Интерфейсы

BarcodeDetector Экспериментальная

Интерфейс BarcodeDetector API распознавания штрих-кодов позволяет распознавать линейные и двумерные штрих-коды на изображениях.

Примеры

Создание детектора

Этот пример проверяет совместимость с браузером и создает новый объект детектора штрих-кодов с указанными поддерживаемыми форматами.

// check compatibility
if (!("BarcodeDetector" in globalThis)) {
  console.log("Barcode Detector is not supported by this browser.");
} else {
  console.log("Barcode Detector supported!");

  // create new detector
  const barcodeDetector = new BarcodeDetector({
    formats: ["code_39", "codabar", "ean_13"],
  });
}

Получение поддерживаемых форматов

Следующий пример вызывает метод getSupportedFormats() и регистрирует результаты в консоли.

// check supported types
BarcodeDetector.getSupportedFormats().then((supportedFormats) => {
  supportedFormats.forEach((format) => console.log(format));
});

Распознавание штрих-кодов

В этом примере используется метод detect() для распознавания штрих-кодов на заданном изображении. Эти штрих-коды перебираются, а данные штрих-кода регистрируются в консоли.

barcodeDetector
  .detect(imageEl)
  .then((barcodes) => {
    barcodes.forEach((barcode) => console.log(barcode.rawValue));
  })
  .catch((err) => {
    console.log(err);
  });

Спецификации

Спецификация
Ускоренное распознавание форм на изображениях
# barcode-detection-api

Совместимость браузеров

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
BarcodeDetector
88Поддерживается только на ChromeOS и macOS.
83–88Поддерживается только на macOS.
83Поддерживается только на macOS.
Нет
69Поддерживается только на macOS.
17 83 Нет 59 17 13.0 83
Barcode_Detection_API
88["Поддерживается только на ChromeOS и macOS.", "До Chrome 113, на macOS Ventura (13) и выше, этот интерфейс молчаливо завершался ошибкой. См. баг 40245611."]
83–88Поддерживается только на macOS.
83["Поддерживается только на macOS.", "До Chrome 113, на macOS Ventura (13) и выше, этот интерфейс молчаливо завершался ошибкой. См. баг 40245611."]
Нет
69["Поддерживается только на macOS.", "До Chrome 113, на macOS Ventura (13) и выше, этот интерфейс молчаливо завершался ошибкой. См. баг 40245611."]
17 83 Нет 59 17 13.0 83
detect
88Поддерживается только на ChromeOS и macOS.
83–88Поддерживается только на macOS.
83Поддерживается только на macOS.
Нет
69Поддерживается только на macOS.
17 83 Нет 59 17 13.0 83
getSupportedFormats_static
88Поддерживается только на ChromeOS и macOS.
83–88Поддерживается только на macOS.
83Поддерживается только на macOS.
Нет
69Поддерживается только на macOS.
17 83 Нет 59 17 13.0 83

См. также

  • barcodefaq.com: Сайт с информацией о различных штрихкодах и примерами различных типов.
  • API распознавания форм: изображение стоит тысячи слов, лиц и штрихкодов

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Barcode_Detection_API

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API