chrome.documentScan

Описание

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

Разрешения

documentScan

Доступность

Только Chrome OS 44+

API сканирования документов

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

Типы

CancelScanResponse

Хром 125+

Характеристики

  • работа

    нить

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

  • результат

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

CloseScannerResponse

Хром 125+

Характеристики

  • результат

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

  • Ручка сканера

    нить

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

Configurability

Хром 125+

Как можно изменить опцию.

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

"НЕ_КОНФИГУРИРУЕМО"
Данная опция доступна только для чтения.

"ПРОГРАММНОЕ_ОБЕСПЕЧЕНИЕ_КОНФИГУРИРУЕМОЕ"
Эту опцию можно настроить программно.

"HARDWARE_CONFIGURABLE"
Эту опцию пользователь может включить, переключив или нажав кнопку на сканере.

ConnectionType

Хром 125+

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

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

«НЕУКАЗАНО»

"USB"

"СЕТЬ"

ConstraintType

Хром 125+

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

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

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

"ФИКСИРОВАННЫЙ_ДИАПАЗОН"
Ограничение на диапазон значений OptionType.FIXED . Свойства min , max и quant объекта OptionConstraint будут иметь double , а его свойство list будет отключено.

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

"ИСПРАВЛЕННЫЙ_СПИСОК"
Ограничение на конкретный список значений OptionType.FIXED . Свойство OptionConstraint.list будет содержать значения double , а остальные свойства будут отключены.

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

DeviceFilter

Хром 125+

Характеристики

  • местный

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

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

  • безопасный

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

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

GetOptionGroupsResponse

Хром 125+

Характеристики

  • группы

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

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

  • результат

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

  • Ручка сканера

    нить

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

GetScannerListResponse

Хром 125+

Характеристики

  • результат

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

  • сканеры

    Возможно пустой список сканеров, соответствующих предоставленному DeviceFilter .

OpenScannerResponse

Хром 125+

Характеристики

  • параметры

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

    Если resultSUCCESS , предоставляется сопоставление ключ-значение, где ключ — это параметр, специфичный для устройства, а значение — экземпляр ScannerOption .

  • результат

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

  • Ручка сканера

    строка необязательная

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

  • идентификатор сканера

    нить

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

OperationResult

Хром 125+

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

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

"НЕИЗВЕСТНЫЙ"
Произошла неизвестная или общая ошибка.

"УСПЕХ"
Операция прошла успешно.

«НЕПОДДЕРЖИВАЕТСЯ»
Операция не поддерживается.

«ОТМЕНЕНО»
Операция была отменена.

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

"НЕВЕРНЫЙ"
Либо данные, либо аргумент, переданные методу, недействительны.

"НЕВЕРНЫЙ_ТИП"
Предоставленное значение имеет неверный тип данных для базового параметра.

"EOF"
Более данных нет.

"ADF_JAMMED"
Застрял лоток подачи документов.

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

"КРЫШКА_ОТКРЫТА"
Крышка планшета открыта.

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

"ДОСТУП ЗАПРЕЩЕН"
Устройство требует аутентификации.

"НЕТ_ПАМЯТИ"
На Chromebook недостаточно памяти для завершения операции.

«НЕДОСТУПНЫЙ»
Устройство недоступно.

"ОТСУТСТВУЮЩИЙ"
Устройство отключено.

"ВНУТРЕННЯЯ_ОШИБКА"
Ошибка произошла где-то за пределами вызывающего приложения.

OptionConstraint

Хром 125+

Характеристики

  • список

    строка[] | число[] необязательно

  • макс

    номер необязательно

  • мин

    номер необязательно

  • квант

    номер необязательно

OptionGroup

Хром 125+

Характеристики

  • члены

    нить[]

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

  • заголовок

    нить

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

OptionSetting

Хром 125+

Характеристики

  • имя

    нить

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

  • тип

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

  • ценить

    строка | число | логическое значение | число[] необязательно

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

OptionType

Хром 125+

Тип данных опциона.

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

"НЕИЗВЕСТНЫЙ"
Тип данных параметра неизвестен. value свойства будет сброшено.

"БУЛ"
Свойство value будет иметь значение true false.

"ИНТ"
Знаковое 32-битное целое число. Свойство value может быть long или long[], в зависимости от того, принимает ли опция более одного значения.

"ЗАФИКСИРОВАННЫЙ"
Число типа Double в диапазоне от -32768 до 32767,9999 с разрешением 1/65535. Свойство value будет иметь тип double или double[] в зависимости от того, принимает ли опция более одного значения. Значения типа Double, которые невозможно представить точно, будут округлены до доступного диапазона и точности.

"НИТЬ"
Последовательность любых байтов, кроме NUL ('\0'). value свойства будет DOMString.

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

"ГРУППА"
Параметр группировки. Нет значения. Он включен для совместимости, но обычно не возвращается в значениях ScannerOption . Используйте getOptionGroups() для получения списка групп с параметрами их участников.

OptionUnit

Хром 125+

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

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

"БЕЗЕД."
Значение — безразмерное число. Например, это может быть пороговое значение.

«ПИКСЕЛЬ»
Значение — количество пикселей, например, размеры сканирования.

"КУСОЧЕК"
Значение — это количество бит, например, глубина цвета.

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

"ДПИ"
Например, значение разрешения измеряется в точках на дюйм.

"ПРОЦЕНТ"
Значение — процент, например, яркость.

«МИКРОСЕКУНД»
Значение измеряется в микросекундах, например, время экспозиции.

ReadScanDataResponse

Хром 125+

Характеристики

  • данные

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

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

  • предполагаемое завершение

    номер необязательно

    Если resultSUCCESS , оценка того, какой объем данных сканирования был доставлен на данный момент, в диапазоне от 0 до 100.

  • работа

    нить

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

  • результат

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

ScannerInfo

Хром 125+

Характеристики

  • тип соединения

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

  • deviceUuid

    нить

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

  • Форматы изображений

    нить[]

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

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

    нить

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

  • модель

    нить

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

  • имя

    нить

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

  • Тип протокола

    нить

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

  • идентификатор сканера

    нить

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

  • безопасный

    булев

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

ScannerOption

Хром 125+

Характеристики

  • конфигурируемость

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

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

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

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

  • описание

    нить

    Более подробное описание опции.

  • isActive

    булев

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

  • isAdvanced

    булев

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

  • isAutoSettable

    булев

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

  • isDetectable

    булев

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

  • isEmulated

    булев

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

  • имя

    нить

    Имя параметра должно содержать строчные буквы ASCII, цифры и тире. Диакритические знаки не допускаются.

  • заголовок

    нить

    Печатный однострочный заголовок.

  • тип

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

  • единица

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

  • ценить

    строка | число | логическое значение | число[] необязательно

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

ScanOptions

Характеристики

  • maxImages

    номер необязательно

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

  • MIME-типы

    строка[] необязательная

    Типы MIME, принимаемые вызывающей стороной.

ScanResults

Характеристики

  • dataUrls

    нить[]

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

  • mimeType

    нить

    Тип MIME dataUrls .

SetOptionResult

Хром 125+

Характеристики

  • имя

    нить

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

  • результат

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

SetOptionsResponse

Хром 125+

Характеристики

  • параметры

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

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

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

  • результаты

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

  • Ручка сканера

    нить

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

StartScanOptions

Хром 125+

Характеристики

  • формат

    нить

    Указывает тип MIME для возврата отсканированных данных.

  • maxReadSize

    номер необязательно

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

StartScanResponse

Хром 125+

Характеристики

  • работа

    строка необязательная

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

  • результат

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

  • Ручка сканера

    нить

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

Методы

cancelScan()

Обещание Chrome 125+
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)
: Promise<CancelScanResponse>

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

Параметры

  • работа

    нить

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (response: CancelScanResponse) => void

Возврат

  • Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

closeScanner()

Обещание Chrome 125+
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)
: Promise<CloseScannerResponse>

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

Параметры

  • Ручка сканера

    нить

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (response: CloseScannerResponse) => void

Возврат

  • Обещание< CloseScannerResponse >

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getOptionGroups()

Обещание Chrome 125+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)
: Promise<GetOptionGroupsResponse>

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

Параметры

  • Ручка сканера

    нить

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (response: GetOptionGroupsResponse) => void

Возврат

  • Обещание< GetOptionGroupsResponse >

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getScannerList()

Обещание Chrome 125+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)
: Promise<GetScannerListResponse>

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

Параметры

  • фильтр

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (response: GetScannerListResponse) => void

Возврат

  • Обещание< GetScannerListResponse >

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

openScanner()

Обещание Chrome 125+
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)
: Promise<OpenScannerResponse>

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

Параметры

  • идентификатор сканера

    нить

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (response: OpenScannerResponse) => void

Возврат

  • Обещание <OpenScannerResponse>

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

readScanData()

Обещание Chrome 125+
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)
: Promise<ReadScanDataResponse>

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

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

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

Параметры

  • работа

    нить

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (response: ReadScanDataResponse) => void

Возврат

  • Обещание< ReadScanDataResponse >

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

scan()

Обещать
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)
: Promise<ScanResults>

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

Параметры

Возврат

  • Хром 96+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

setOptions()

Обещание Chrome 125+
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)
: Promise<SetOptionsResponse>

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

Параметры

  • Ручка сканера

    нить

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

  • параметры

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (response: SetOptionsResponse) => void

Возврат

  • Обещание <SetOptionsResponse>

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

startScan()

Обещание Chrome 125+
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)
: Promise<StartScanResponse>

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

Параметры

  • Ручка сканера

    нить

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

  • параметры

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (response: StartScanResponse) => void

Возврат

  • Обещание< StartScanResponse >

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.