browser.documentScan

Описание

Используйте chrome.documentScan API, чтобы находить и получать изображения с подключенных сканеров документов.

Document Scan API позволяет приложениям и расширениям просматривать содержимое бумажных документов на подключенном сканере документов.

Разрешения

documentScan

Доступность

Chrome 44+ browser.* начиная с Chrome 148 Только ChromeOS
Доступность участников API, добавленных позже, показывается вместе с этими участниками.

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

Этот API поддерживает два способа сканирования документов. Если для вашего сценария подходит любой сканер и не требуется управление конфигурацией, используйте метод scan(). В более сложных случаях требуется сочетание методов, которые поддерживаются только в Chrome 124 и более поздних версиях.

Простое сканирование

Для простых случаев, когда можно использовать любой сканер и не требуется управлять конфигурацией, вызовите scan(). Этот метод принимает объект ScanOptions и возвращает объект Promise, который разрешается с помощью объекта ScanResults. Возможности этого варианта ограничены количеством сканирований и MIME-типами, которые будут приняты вызывающим абонентом. Результаты сканирования возвращаются в виде URL, которые можно показывать в теге <img> в пользовательском интерфейсе.

Сложное сканирование

Сложное сканирование выполняется в три этапа, описанных в этом разделе. В этом описании не указаны все аргументы методов и все свойства, возвращаемые в ответе. Оно предназначено только для того, чтобы дать вам общее представление о написании кода сканера.

Discovery

  1. Позвоните по номеру getScannerList(). Доступные сканеры возвращаются в Promise, который разрешается с помощью GetScannerListResponse.

    • Объект ответа содержит массив объектов ScannerInfo.
    • Массив может содержать несколько записей для одного сканера, если он поддерживает несколько протоколов или способов подключения.
  2. Выберите сканер из возвращенного массива и сохраните значение его свойства scannerId.

    Чтобы различать несколько объектов для одного сканера, используйте свойства отдельных объектов ScannerInfo. Объекты, полученные с одного сканера, будут иметь одинаковое значение свойства deviceUuid. ScannerInfo также содержит свойство imageFormats, которое включает массив поддерживаемых типов изображений.

Конфигурация сканера

  1. Вызовите openScanner(), передав сохраненный идентификатор сканера. Возвращает объект Promise, который распознается с помощью OpenScannerResponse. Объект ответа содержит:

    • свойство scannerHandle, которое нужно сохранить.

    • Свойство options, содержащее свойства, относящиеся к сканеру, которые необходимо задать. Подробную информацию можно найти в разделе "Получение параметров сканера".

  2. Если пользователю нужно указать значения для параметров сканера, создайте пользовательский интерфейс. Вам понадобятся параметры сканера, полученные на предыдущем шаге, и группы параметров, полученные от сканера. Подробнее о том, как создать пользовательский интерфейс…

  3. Создайте массив объектов OptionSetting, используя программные или предоставленные пользователем значения. Подробную информацию вы найдете в разделе "Как настроить сканер".

  4. Передайте массив объектов OptionSetting в setOptions(), чтобы задать параметры сканера. Она возвращает объект Promise, который распознается с помощью SetOptionsResponse. Этот объект содержит обновленную версию параметров сканера, полученных на шаге 1 настройки сканера.

    Поскольку изменение одного параметра может повлиять на ограничения другого, возможно, вам придется повторить эти шаги несколько раз.

Сканирование

  1. Создайте объект StartScanOptions и передайте его в startScan(). Она возвращает объект Promise, который распознается с помощью StartScanResponse. Свойство job – это дескриптор, который вы будете использовать для чтения данных сканирования или отмены сканирования.

  2. Передайте дескриптор задания в readScanData(). Он возвращает объект Promise, который разрешается с помощью объекта ReadScanDataResponse. Если данные были прочитаны успешно, свойство result равно SUCCESS, а свойство data содержит ArrayBuffer с частью сканирования. Обратите внимание, что estimatedCompletion содержит расчетный процент от общего объема данных, которые были переданы на данный момент.

  3. Повторяйте предыдущий шаг, пока свойство result не станет равно EOF или не возникнет ошибка.

Когда сканирование завершится, вызовите closeScanner() с дескриптором сканера, сохраненным на шаге 3. Возвращает объект Promise, который распознается с помощью CloseScannerResponse. Вызов cancelScan() в любой момент после создания задания завершит сканирование.

Объекты ответов

Все методы возвращают объект Promise, который разрешается с помощью объекта ответа. Большинство из них содержат свойство result, значение которого является элементом OperationResult. Некоторые свойства объектов ответа не будут содержать значений, если у result нет определенного значения. Эти связи описаны в справочной информации для каждого объекта ответа.

Например, у свойства OpenScannerResponse.scannerHandle будет значение, только если свойство OpenScannerResponse.result эквивалентно свойству SUCCESS.

Параметры сканера

Настройки сканера могут значительно различаться в зависимости от устройства. Поэтому отразить настройки сканера непосредственно в documentScan API невозможно. Чтобы обойти это ограничение, OpenScannerResponse (полученный с помощью openScanner()) и SetOptionsResponse (объект ответа для setOptions()) содержат свойство options, которое является объектом, содержащим параметры, специфичные для сканера. Каждый параметр представляет собой сопоставление ключ-значение, где ключ – это параметр, относящийся к устройству, а значение – экземпляр ScannerOption.

Обычно структура выглядит следующим образом:

{
  "key1": { scannerOptionInstance }
  "key2": { scannerOptionInstance }
}

Например, сканер возвращает параметры с названиями "source" и "resolution". Структура возвращаемого объекта options будет выглядеть примерно так, как показано в примере ниже. Для простоты показаны только частичные ответы ScannerOption.

{
  "source": {
    "name": "source",
    "type": OptionType.STRING,
...
},
  "resolution": {
    "name": "resolution",
    "type": OptionType.INT,
...
  },
...
}

Создание пользовательского интерфейса

Хотя это и не обязательно для использования API, вы можете предложить пользователю выбрать значение для определенного параметра. Для этого требуется пользовательский интерфейс. Используйте OpenScannerResponse (открывается с помощью openScanner()), чтобы получить параметры подключенного сканера, как описано в предыдущем разделе.

На некоторых сканерах параметры сгруппированы по-другому. Они не влияют на поведение параметров, но поскольку эти группы могут упоминаться в документации по продукту сканера, такие группы должны быть показаны пользователю. Чтобы получить эти группы, вызовите метод getOptionGroups(). Возвращается объект Promise, который распознается как объект GetOptionGroupsResponse. Его свойство groups содержит массив групп, относящихся к сканеру. Используйте информацию в этих группах, чтобы упорядочить варианты в OpenScannerResponse для показа.

{
  scannerHandle: "123456",
  result: SUCCESS,
  groups: [
    {
      title: "Standard",
      members: [ "resolution", "mode", "source" ]
    }
  ]
}

Как указано в разделе "Конфигурация сканера", изменение одного параметра может повлиять на ограничения другого. Поэтому setOptionsResponse (объект ответа для setOptions()) содержит ещё одно свойство options. Используйте его, чтобы обновить пользовательский интерфейс. Повторите эти действия для всех нужных вариантов.

Как настроить сканер

Задайте параметры сканера, передав массив объектов OptionSetting в setOptions(). Пример приведен в разделе Сканирование одной страницы формата Letter.

Примеры

Получение страницы в виде большого двоичного объекта

В этом примере показано, как получить страницу со сканера в виде большого двоичного объекта, а также как использовать startScan() и readScanData() со значением OperationResult.

async function pageAsBlob(handle) {
  let response = await browser.documentScan.startScan(
      handle, {format: "image/jpeg"});
  if (response.result != browser.documentScan.OperationResult.SUCCESS) {
    return null;
  }
  const job = response.job;

  let imgParts = [];
  response = await browser.documentScan.readScanData(job);
  while (response.result == browser.documentScan.OperationResult.SUCCESS) {
    if (response.data && response.data.byteLength > 0) {
        imgParts.push(response.data);
    } else {
      // Delay so hardware can make progress.
      await new Promise(r => setTimeout(r, 100));
    }
    response = await browser.documentScan.readScanData(job);
  }
  if (response.result != browser.documentScan.OperationResult.EOF) {
    return null;
  }
  if (response.data && response.data.byteLength > 0) {
    imgParts.push(response.data);
  }
  return new Blob(imgParts, { type: "image/jpeg" });
}

Сканировать одну страницу формата Letter

В этом примере показано, как выбрать сканер, задать его параметры и открыть его. Затем он извлекает содержимое одной страницы и закрывает сканер. В этом примере используются getScannerList(), openScanner(), setOptions() и closeScanner(). Обратите внимание, что содержимое страницы извлекается путем вызова функции pageAsBlob() из предыдущего примера.

async function scan() {
    let response = await browser.documentScan.getScannerList({ secure: true });
    let scanner = await browser.documentScan.openScanner(
        response.scanners[0].scannerId);
    const handle = scanner.scannerHandle;

    let options = [];
    for (source of scanner.options["source"].constraint.list) {
        if (source.includes("ADF")) {
            options.push({
                name: "source",
                type: browser.documentScan.OptionType.STRING,
                value: { value: source }
            });
            break;
        }
    }
    options.push({
        name: "tl-x",
        type: browser.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-x",
        type: browser.documentScan.OptionType.FIXED,
        value: 215.9  // 8.5" in mm
    });
    options.push({
        name: "tl-y",
        type: browser.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-y",
        type: browser.documentScan.OptionType.FIXED,
        value: 279.4  // 11" in mm
    });
    response = await browser.documentScan.setOptions(handle, options);

    let imgBlob = await pageAsBlob(handle);
    if (imgBlob != null) {
        // Insert imgBlob into DOM, save to disk, etc
    }
    await browser.documentScan.closeScanner(handle);
}

Показать конфигурацию

Как уже говорилось, чтобы показать пользователю параметры конфигурации сканера, необходимо вызвать getOptionGroups() в дополнение к параметрам сканера, возвращенным из вызова openScanner(). Это нужно, чтобы показывать пользователям варианты в группах, определенных производителем. В примере ниже показано, как это сделать.

async function showConfig() {
  let response = await browser.documentScan.getScannerList({ secure: true });
  let scanner = await browser.documentScan.openScanner(
      response.scanners[0].scannerId);
  let groups = await browser.documentScan.getOptionGroups(scanner.scannerHandle);

  for (const group of groups.groups) {
    console.log("=== " + group.title + " ===");
    for (const member of group.members) {
      const option = scanner.options[member];
      if (option.isActive) {
        console.log("  " + option.name + " = " + option.value);
      } else {
        console.log("  " + option.name + " is inactive");
      }
    }
  }
}

Типы

CancelScanResponse

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • работа

    string

    Предоставляет тот же дескриптор задания, который был передан в cancelScan().

  • Результат

    Результат отмены сканирования. Если результат – OperationResult.SUCCESS или OperationResult.CANCELLED, сканирование отменено и сканер готов к новому сканированию. Если результат – OperationResult.DEVICE_BUSY , сканер все ещё обрабатывает запрос на отмену. Подождите немного и повторите попытку. Другие значения указывают на постоянную ошибку, при которой не следует повторять попытку.

CloseScannerResponse

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • Результат

    Результат закрытия сканера. Даже если это значение не равно SUCCESS, дескриптор будет недействительным и не должен использоваться для дальнейших операций.

  • scannerHandle

    string

    Тот же дескриптор сканера, который был передан в closeScanner.

Configurability

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Как можно изменить вариант.

Перечисление

"NOT_CONFIGURABLE"
Параметр доступен только для чтения.

SOFTWARE_CONFIGURABLE
Параметр можно задать в программном обеспечении.

"HARDWARE_CONFIGURABLE"
Пользователь может задать параметр, нажав кнопку на сканере.

ConnectionType

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Указывает, как сканер подключен к компьютеру.

Перечисление

"UNSPECIFIED"

USB

"NETWORK"

ConstraintType

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Тип данных ограничения, представленный OptionConstraint.

Перечисление

"INT_RANGE"
Ограничение на диапазон значений OptionType.INT. Свойства min, max и quant объекта OptionConstraint будут иметь значение long, а свойство list не будет задано.

"FIXED_RANGE"
Ограничение на диапазон значений OptionType.FIXED. Свойства min, max и quant объекта OptionConstraint будут иметь значение double, а свойство list не будет задано.

"INT_LIST"
Ограничение на определенный список значений OptionType.INT. Свойство OptionConstraint.list будет содержать значения long, а другие свойства не будут заданы.

"FIXED_LIST"
Ограничение на определенный список значений OptionType.FIXED. Свойство OptionConstraint.list будет содержать значения double, а другие свойства не будут заданы.

"STRING_LIST"
Ограничение на определенный список значений OptionType.STRING. Свойство OptionConstraint.list будет содержать значения DOMString, а другие свойства не будут заданы.

DeviceFilter

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • локальный

    Логическое значение (необязательно)

    Возвращать только сканеры, подключенные непосредственно к компьютеру.

  • безопасно

    Логическое значение (необязательно)

    Возвращать только сканеры, использующие безопасный транспорт, например USB или TLS.

GetOptionGroupsResponse

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • группы

    OptionGroup[] необязательный

    Если result – SUCCESS, предоставляет список групп параметров в порядке, заданном драйвером сканера.

  • Результат

    Результат получения групп вариантов. Если значение равно SUCCESS, будет заполнено свойство groups.

  • scannerHandle

    string

    Тот же дескриптор сканера, который был передан в getOptionGroups.

GetScannerListResponse

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • Результат

    Результат перечисления. Обратите внимание, что даже если возвращается ошибка, результаты могут быть получены частично.

  • сканеры

    Список сканеров, соответствующих указанному DeviceFilter (может быть пустым).

OpenScannerResponse

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • Параметры

    Объект (необязательно)

    Если result – это SUCCESS, предоставляет сопоставление ключ-значение, где ключ – это параметр, относящийся к устройству, а значение – экземпляр ScannerOption.

  • Результат

    Результат открытия сканера. Если значение этого поля – SUCCESS, будут заполнены свойства scannerHandle и options.

  • scannerHandle

    Строка (необязательно)

    Если result – SUCCESS, дескриптор сканера, который можно использовать для дальнейших операций.

  • scannerId

    string

    Идентификатор сканера, переданный в openScanner().

OperationResult

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Перечисление, указывающее результат каждой операции.

Перечисление

UNKNOWN
Произошла неизвестная или общая ошибка.

SUCCESS
Операция выполнена успешно.

"UNSUPPORTED"
Операция не поддерживается.

"CANCELLED"
Операция отменена.

"DEVICE_BUSY"
Устройство занято.

INVALID
Данные или аргумент, переданные методу, недействительны.

"WRONG_TYPE"
Указанное значение относится к неправильному типу данных для базового варианта.

EOF
Данные больше недоступны.

ADF_JAMMED
Замятие бумаги в устройстве подачи документов.

"ADF_EMPTY"
Устройство автоматической подачи документов пусто.

"COVER_OPEN"
Крышка планшетного сканера открыта.

"IO_ERROR"
При взаимодействии с устройством произошла ошибка.

ACCESS_DENIED
Устройство требует аутентификации.

"NO_MEMORY"
На устройстве Chromebook недостаточно памяти для выполнения операции.

UNREACHABLE
Устройство недоступно.

"MISSING"
Устройство отключено.

INTERNAL_ERROR
Произошла ошибка за пределами вызывающего приложения.

OptionConstraint

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • list

    string[] | number[] необязательно

  • Функция max

    number (необязательно)

  • мин.

    number (необязательно)

  • quant

    number (необязательно)

OptionGroup

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • участники

    string[]

    Массив названий вариантов в порядке, указанном водителем.

  • название

    string

    Предоставляет заголовок для печати, например "Параметры геометрии".

OptionSetting

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • name

    string

    Указывает название параметра, который нужно задать.

  • тип

    Указывает тип данных параметра. Запрошенный тип данных должен соответствовать реальному типу данных базового параметра.

  • value

    string | number | boolean | number[] optional

    Указывает значение, которое нужно задать. Если оставить поле пустым, то для параметров, у которых включено свойство autoSettable, будет запрашиваться автоматическая настройка. Тип данных, указанный для value, должен соответствовать type.

OptionType

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Тип данных параметра.

Перечисление

UNKNOWN
Тип данных параметра неизвестен. Свойство value будет удалено.

BOOL
Свойство value будет иметь значение truefalse.

INT
32-битное целое число со знаком. Свойство value будет иметь тип long или long[] в зависимости от того, принимает ли параметр более одного значения.

"FIXED"
Число с плавающей запятой двойной точности в диапазоне от -32768 до 32767,9999 с разрешением 1/65535. Свойство value будет иметь тип double или double[] в зависимости от того, принимает ли параметр более одного значения. Значения с двойной точностью, которые не могут быть представлены точно, будут округлены до доступного диапазона и точности.

"STRING"
Последовательность любых байтов, кроме NUL ('\0'). Свойство value будет иметь тип DOMString.

"BUTTON"
У параметра этого типа нет значения. Вместо этого установка параметра такого типа вызывает побочный эффект, характерный для этого параметра, в драйвере сканера. Например, драйвер сканера может использовать параметр типа "кнопка", чтобы предоставить возможность выбора значений по умолчанию или указать устройству автоматической подачи документов перейти к следующему листу бумаги.

"GROUP"
Вариант группировки. Значение не задано. Этот параметр включен для совместимости, но обычно не возвращается в значениях ScannerOption. Используйте getOptionGroups(), чтобы получить список групп с параметрами участников.

OptionUnit

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Указывает тип данных для ScannerOption.unit.

Перечисление

"UNITLESS"
Значение является числом без единицы измерения. Например, это может быть пороговое значение.

"PIXEL"
Значение в пикселях, например размеры сканирования.

"BIT"
Значение – количество битов, например глубина цвета.

"MM"
Значение измеряется в миллиметрах, например размеры сканирования.

DPI
Значение измеряется в точках на дюйм, например разрешение.

PERCENT
Значение в процентах, например яркость.

"MICROSECOND"
Значение измеряется в микросекундах, например время экспозиции.

ReadScanDataResponse

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • делал.

    ArrayBuffer (необязательно)

    Если result – SUCCESS, содержит следующий фрагмент данных отсканированного изображения. Если result имеет значение EOF, содержит последний фрагмент данных отсканированного изображения.

  • estimatedCompletion

    number (необязательно)

    Если result – SUCCESS, то это приблизительная доля от общего объема данных сканирования, доставленных на данный момент (от 0 до 100).

  • работа

    string

    Предоставляет дескриптор задания, переданный в readScanData().

  • Результат

    Результат чтения данных. Если значение равно SUCCESS, то data содержит следующий (возможно, нулевой длины) фрагмент данных изображения, готовый для чтения. Если значение равно EOF, то data содержит последний фрагмент данных изображения.

ScannerInfo

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • connectionType

    Указывает, как сканер подключен к компьютеру.

  • deviceUuid

    string

    Для сопоставления с другими записями ScannerInfo, указывающими на то же физическое устройство.

  • imageFormats

    string[]

    Массив MIME-типов, которые можно запросить для возвращенных сканов.

  • производитель

    string

    Производитель сканера.

  • модель

    string

    Модель сканера (если доступна) или общее описание.

  • name

    string

    Человекочитаемое название сканера, которое будет показываться в интерфейсе.

  • protocolType

    string

    Человекочитаемое описание протокола или драйвера, используемого для доступа к сканеру, например Mopria, WSD или epsonds. Это полезно, если устройство поддерживает несколько протоколов и пользователю нужно выбрать один из них.

  • scannerId

    string

    Идентификатор определенного сканера.

  • безопасно

    Логическое значение

    Если установлено значение True, транспортное соединение сканера не может быть перехвачено пассивным прослушивателем, например TLS или USB.

ScannerOption

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • настраиваемость

    Указывает, можно ли изменить параметр и как это сделать.

  • ограничение

    OptionConstraint необязательный

    Определяет OptionConstraint для текущего параметра сканера.

  • описание

    string

    Подробное описание варианта.

  • isActive

    Логическое значение

    Указывает, что параметр активен и его можно задать или получить. Если задано значение false, свойство value не будет установлено.

  • isAdvanced

    Логическое значение

    Указывает, что этот вариант не должен показываться в интерфейсе по умолчанию.

  • isAutoSettable

    Логическое значение

    Может быть автоматически задано драйвером сканера.

  • isDetectable

    Логическое значение

    Указывает, что этот параметр может быть обнаружен программным обеспечением.

  • isEmulated

    Логическое значение

    Если установлено значение True, эмулируется драйвером сканера.

  • name

    string

    Название варианта, состоящее из строчных букв ASCII, цифр и дефисов. Диакритические знаки не допускаются.

  • название

    string

    Название, которое можно напечатать в одну строку.

  • тип

    Тип данных, содержащийся в свойстве value, который необходим для настройки этого параметра.

  • единицы

    Единица измерения для этого варианта.

  • value

    string | number | boolean | number[] optional

    Текущее значение параметра (если применимо). Обратите внимание, что тип данных этого свойства должен соответствовать типу данных, указанному в type.

ScanOptions

Свойства

  • maxImages

    number (необязательно)

    Допустимое количество отсканированных изображений. Значение по умолчанию – 1.

  • mimeTypes

    string[] необязательно

    MIME-типы, которые принимаются вызывающим объектом.

ScanResults

Свойства

  • dataUrls

    string[]

    Массив URL изображений в форме, которая может быть передана в качестве значения src в тег изображения.

  • mimeType

    string

    MIME-тип dataUrls.

SetOptionResult

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • name

    string

    Название заданного параметра.

  • Результат

    Указывает результат настройки параметра.

SetOptionsResponse

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • Параметры

    Объект (необязательно)

    Обновленное сопоставление ключ-значение, в котором названиям параметров соответствуют значения ScannerOption, содержащие новую конфигурацию, полученную после попытки задать все указанные параметры. Структура этого свойства такая же, как у свойства options в OpenScannerResponse.

    Это свойство будет задано, даже если некоторые параметры не были установлены успешно, но будет отменено, если не удастся получить обновленную конфигурацию (например, если сканер отключится в процессе сканирования).

  • результаты

    Массив результатов, по одному для каждого переданного OptionSetting.

  • scannerHandle

    string

    Предоставляет дескриптор сканера, переданный в setOptions().

StartScanOptions

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • format

    string

    Указывает MIME-тип, в котором возвращаются отсканированные данные.

  • maxReadSize

    number (необязательно)

    Если указано ненулевое значение, ограничивает максимальное количество отсканированных байтов, возвращаемых в одном ответе readScanData, этим значением. Минимальное допустимое значение – 32768 (32 КБ). Если это свойство не указано, размер возвращаемого фрагмента может быть равен размеру всего отсканированного изображения.

StartScanResponse

Chrome 125 и более поздние версии browser.* начиная с Chrome 148

Свойства

  • работа

    Строка (необязательно)

    Если result – SUCCESS, предоставляет дескриптор, который можно использовать для чтения данных сканирования или отмены задания.

  • Результат

    Результат запуска сканирования. Если значение равно SUCCESS, будет заполнено свойство job.

  • scannerHandle

    string

    Предоставляет тот же дескриптор сканера, который был передан в startScan().

Методы

cancelScan()

Chrome 125 и более поздние версии browser.* начиная с Chrome 148
browser.documentScan.cancelScan(
  job: string,
)
: Promise<CancelScanResponse>

Отменяет начатое сканирование и возвращает объект Promise, который разрешается с объектом CancelScanResponse. Если используется обратный вызов, объект передается ему.

Параметры

  • работа

    string

    Дескриптор активного задания сканирования, ранее возвращенный вызовом startScan.

Возвраты

  • Возвращает объект Promise, который распознается с результатом.

closeScanner()

Chrome 125 и более поздние версии browser.* начиная с Chrome 148
browser.documentScan.closeScanner(
  scannerHandle: string,
)
: Promise<CloseScannerResponse>

Закрывает сканер с переданным дескриптором и возвращает объект Promise, который разрешается с объектом CloseScannerResponse. Если используется обратный вызов, объект передается ему. Даже если ответ не будет успешным, предоставленный дескриптор станет недействительным и его нельзя будет использовать для дальнейших операций.

Параметры

  • scannerHandle

    string

    Указывает дескриптор открытого сканера, который ранее был возвращен из вызова openScanner.

Возвраты

  • Возвращает объект Promise, который распознается с результатом.

getOptionGroups()

Chrome 125 и более поздние версии browser.* начиная с Chrome 148
browser.documentScan.getOptionGroups(
  scannerHandle: string,
)
: Promise<GetOptionGroupsResponse>

Получает названия групп и параметры участников из сканера, ранее открытого с помощью openScanner. Этот метод возвращает объект Promise, который распознается как объект GetOptionGroupsResponse. Если этой функции передается обратный вызов, возвращенные данные передаются ему.

Параметры

  • scannerHandle

    string

    Дескриптор открытого сканера, возвращенный вызовом openScanner.

Возвраты

  • Возвращает объект Promise, который распознается с результатом.

getScannerList()

Chrome 125 и более поздние версии browser.* начиная с Chrome 148
browser.documentScan.getScannerList(
  filter: DeviceFilter,
)
: Promise<GetScannerListResponse>

Получает список доступных сканеров и возвращает объект Promise, который разрешается с помощью объекта GetScannerListResponse. Если этой функции передается обратный вызов, возвращенные данные передаются ему.

Параметры

  • фильтр

    DeviceFilter, указывающий, какие типы сканеров должны быть возвращены.

Возвраты

  • Возвращает объект Promise, который преобразуется в результат и список сканеров.

openScanner()

Chrome 125 и более поздние версии browser.* начиная с Chrome 148
browser.documentScan.openScanner(
  scannerId: string,
)
: Promise<OpenScannerResponse>

Открывает сканер для эксклюзивного доступа и возвращает объект Promise, который распознается как объект OpenScannerResponse. Если этой функции передается обратный вызов, возвращенные данные передаются ему.

Параметры

  • scannerId

    string

    Идентификатор сканера, который нужно открыть. Это значение возвращается из предыдущего вызова getScannerList.

Возвраты

  • Возвращает объект Promise, который распознается с результатом.

readScanData()

Chrome 125 и более поздние версии browser.* начиная с Chrome 148
browser.documentScan.readScanData(
  job: string,
)
: Promise<ReadScanDataResponse>

Считывает следующий фрагмент доступных данных изображения из активного дескриптора задания и возвращает объект Promise, который разрешается с помощью объекта ReadScanDataResponse. Если используется обратный вызов, объект передается ему.

**Примечание.**Ответ может содержать результат SUCCESS с элементом data нулевой длины. Это означает, что сканер все ещё работает, но у него пока нет дополнительных данных. Пользователю следует подождать некоторое время и повторить попытку.

Когда сканирование завершится, в ответе будет значение EOF. Этот ответ может содержать последний ненулевой элемент data.

Параметры

  • работа

    string

    Активный дескриптор задания, ранее возвращенный из startScan.

Возвраты

  • Возвращает объект Promise, который распознается с результатом.

scan()

browser.documentScan.scan(
  options: ScanOptions,
)
: Promise<ScanResults>

Сканирует документ и возвращает объект Promise, который преобразуется в объект ScanResults. Если этой функции передается обратный вызов, то вместо этого ему передаются возвращенные данные.

Параметры

  • Параметры

    Объект, содержащий параметры сканирования.

Возвраты

  • Promise<ScanResults>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

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

setOptions()

Chrome 125 и более поздние версии browser.* начиная с Chrome 148
browser.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
)
: Promise<SetOptionsResponse>

Задает параметры для указанного сканера и возвращает объект Promise, который разрешается с объектом SetOptionsResponse, содержащим результат попытки задать каждое значение в порядке переданного объекта OptionSetting. Если используется обратный вызов, объект передается ему.

Параметры

  • scannerHandle

    string

    Дескриптор сканера, для которого нужно задать параметры. Это должно быть значение, ранее возвращенное из вызова openScanner.

  • Параметры

    Список объектов OptionSetting, которые будут применены к сканеру.

Возвраты

  • Возвращает объект Promise, который распознается с результатом.

startScan()

Chrome 125 и более поздние версии browser.* начиная с Chrome 148
browser.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
)
: Promise<StartScanResponse>

Запускает сканирование на указанном сканере и возвращает объект Promise, который распознается с помощью StartScanResponse. Если используется обратный вызов, объект передается ему. Если вызов выполнен успешно, ответ включает дескриптор задания, который можно использовать в последующих вызовах для чтения данных сканирования или отмены сканирования.

Параметры

  • scannerHandle

    string

    Ручка открытого сканера. Это должно быть значение, ранее возвращенное из вызова openScanner.

  • Параметры

    Объект StartScanOptions, указывающий параметры, которые будут использоваться для сканирования. Свойство StartScanOptions.format должно соответствовать одной из записей, возвращенных в ScannerInfo сканера.

Возвраты

  • Возвращает объект Promise, который распознается с результатом.