Spec-Zone.ru › Web APIs

BarcodeDetector

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

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

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

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

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

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

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

Конструкторы

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

Создаёт и возвращает объект BarcodeDetector, с необязательными BarcodeDetectorOptions.

Статические методы

getSupportedFormats() Экспериментальная

Возвращает Promise, который выполняется с массивом Array поддерживаемых типов форматов штрихкодов.

Методы экземпляров

detect() Экспериментальная

Возвращает Promise, который выполняется с массивом DetectedBarcode объектов со следующими свойствами:

  • boundingBox: A DOMRectReadOnly, который возвращает размеры прямоугольника, представляющего границы обнаруженного штрихкода, выровненного с изображением.
  • cornerPoints: Координаты x и y четырёх угловых точек обнаруженного штрихкода относительно изображения, начиная с левого верхнего угла и двигаясь по часовой стрелке. Может не быть квадратным из-за искажений перспективы на изображении.
  • format: Обнаруженный формат штрихкода. (Полный список форматов см. в списке поддерживаемых форматов штрихкодов).
  • rawValue: Строка, декодированная из данных штрихкода.

Примеры

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

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

// 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"],
  });
}

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

В следующем примере вызывается статический метод getSupportFormat() и результаты выводятся в консоль.

// 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
BarcodeDetector
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: Веб-сайт с информацией о различных штрих-кодах и примерами разных типов.
  • Ускоренное определение форм на изображениях

© 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/BarcodeDetector

Spec-Zone.ru

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