Описание
 Используйте API chrome.documentScan для обнаружения и извлечения изображений из подключенных сканеров документов.
Разрешения
documentScanДоступность
API сканирования документов
API сканирования документов предназначен для того, чтобы приложения и расширения могли просматривать содержимое бумажных документов на подключенном сканере документов.
Типы
CancelScanResponse
Характеристики
- работанить Предоставляет тот же дескриптор задания, который был передан cancelScan().
- результатРезультат отмены сканирования бэкендом. Если результат — OperationResult.SUCCESSилиOperationResult.CANCELLED, сканирование отменено, и сканер готов начать новое. Если результат —OperationResult.DEVICE_BUSY, сканер всё ещё обрабатывает запрошенную отмену; вызывающему следует немного подождать и повторить запрос. Другие значения результата указывают на постоянную ошибку, которую не следует повторять.
CloseScannerResponse
Характеристики
- результатРезультат закрытия сканера. Даже если это значение не равно SUCCESS, дескриптор будет недействительным и не должен использоваться для дальнейших операций.
- Ручка сканеранить Тот же дескриптор сканера, который был передан closeScanner.
Configurability
Как можно изменить опцию.
Перечисление
 "НЕ_КОНФИГУРИРУЕМО"  "ПРОГРАММНОЕ_ОБЕСПЕЧЕНИЕ_КОНФИГУРИРУЕМОЕ"  "HARDWARE_CONFIGURABLE"
 Данная опция доступна только для чтения. 
 Эту опцию можно настроить программно. 
 Эту опцию пользователь может включить, переключив или нажав кнопку на сканере.
ConnectionType
Указывает, как сканер подключен к компьютеру.
Перечисление
 «НЕУКАЗАНО»   "USB"   "СЕТЬ" 
Перечисление
 "INT_RANGE"  "ФИКСИРОВАННЫЙ_ДИАПАЗОН"  "INT_LIST"  "ИСПРАВЛЕННЫЙ_СПИСОК"  "STRING_LIST"
 Ограничение на диапазон значений OptionType.INT . Свойства min , max и quant объекта OptionConstraint будут иметь long , а его свойство list будет неустановлено. 
 Ограничение на диапазон значений OptionType.FIXED . Свойства min , max и quant объекта OptionConstraint будут иметь double , а его свойство list будет отключено. 
 Ограничение на конкретный список значений OptionType.INT . Свойство OptionConstraint.list будет содержать long значения, а остальные свойства будут неустановлены. 
 Ограничение на конкретный список значений OptionType.FIXED . Свойство OptionConstraint.list будет содержать значения double , а остальные свойства будут отключены. 
 Ограничение на конкретный список значений OptionType.STRING . Свойство OptionConstraint.list будет содержать значения DOMString , а остальные свойства будут отключены.
DeviceFilter
Характеристики
- местныйлогическое необязательное Возвращайте только те сканеры, которые напрямую подключены к компьютеру. 
- безопасныйлогическое необязательное Возвращайте только те сканеры, которые используют безопасный протокол передачи данных, такой как USB или TLS. 
GetOptionGroupsResponse
Характеристики
- группыOptionGroup [] необязательно Если result—SUCCESS, выводится список групп параметров в порядке, указанном драйвером сканера.
- результатРезультат получения параметра groups. Если значение этого параметра равно SUCCESS, свойствоgroupsбудет заполнено.
- Ручка сканеранить Тот же дескриптор сканера, который был передан getOptionGroups.
GetScannerListResponse
Характеристики
- результатРезультат перечисления. Обратите внимание, что могут быть возвращены частичные результаты, даже если это указывает на ошибку. 
- сканерыScannerInfo [] Возможно пустой список сканеров, соответствующих предоставленному DeviceFilter.
OpenScannerResponse
Характеристики
- параметрыобъект необязательный Если result—SUCCESS, предоставляется сопоставление ключ-значение, где ключ — это параметр, специфичный для устройства, а значение — экземплярScannerOption.
- результатРезультат открытия сканера. Если значение — SUCCESS, будут заполнены свойстваscannerHandleиoptions.
- Ручка сканерастрока необязательная Если result—SUCCESS, дескриптор сканера, который можно использовать для дальнейших операций.
- идентификатор сканеранить Идентификатор сканера, переданный в openScanner().
OperationResult
Перечисление, указывающее результат каждой операции.
Перечисление
 "НЕИЗВЕСТНЫЙ"  "УСПЕХ"  «НЕПОДДЕРЖИВАЕТСЯ»  «ОТМЕНЕНО»  "DEVICE_BUSY"  "НЕВЕРНЫЙ"  "НЕВЕРНЫЙ_ТИП"  "EOF"  "ADF_JAMMED"  "ADF_EMPTY"  "КРЫШКА_ОТКРЫТА"  "IO_ERROR"  "ДОСТУП ЗАПРЕЩЕН"  "НЕТ_ПАМЯТИ"  «НЕДОСТУПНЫЙ»  "ОТСУТСТВУЮЩИЙ"  "ВНУТРЕННЯЯ_ОШИБКА"
 Произошла неизвестная или общая ошибка. 
 Операция прошла успешно. 
 Операция не поддерживается. 
 Операция была отменена. 
 Устройство занято. 
 Либо данные, либо аргумент, переданные методу, недействительны. 
 Предоставленное значение имеет неверный тип данных для базового параметра. 
 Более данных нет. 
 Застрял лоток подачи документов. 
 Устройство подачи документов пусто. 
 Крышка планшета открыта. 
 Произошла ошибка при связи с устройством. 
 Устройство требует аутентификации. 
 На Chromebook недостаточно памяти для завершения операции. 
 Устройство недоступно. 
 Устройство отключено. 
 Ошибка произошла где-то за пределами вызывающего приложения.
OptionConstraint
Характеристики
- списокстрока[] | число[] необязательно 
- максномер необязательно 
- минномер необязательно 
- квантномер необязательно 
- тип
OptionGroup
Характеристики
- членынить[] Массив названий опций в порядке, указанном драйвером. 
- заголовокнить Предоставляет печатное название, например, «Параметры геометрии». 
OptionSetting
Характеристики
- имянить Указывает имя устанавливаемой опции. 
- типУказывает тип данных опциона. Запрашиваемый тип данных должен соответствовать фактическому типу данных базового опциона. 
- ценитьстрока | число | логическое значение | число[] необязательно Указывает значение, которое необходимо задать. Не устанавливайте значение, чтобы запросить автоматическую настройку для параметров, для которых включена autoSettable. Тип данных, указанный дляvalueдолжен соответствоватьtype.
OptionType
Тип данных опциона.
Перечисление
 "НЕИЗВЕСТНЫЙ"  "БУЛ"  "ИНТ"  "ЗАФИКСИРОВАННЫЙ"  "НИТЬ"  "КНОПКА"  "ГРУППА"
 Тип данных параметра неизвестен. value свойства будет сброшено. 
 Свойство value будет иметь значение true false. 
 Знаковое 32-битное целое число. Свойство value может быть long или long[], в зависимости от того, принимает ли опция более одного значения. 
 Число типа Double в диапазоне от -32768 до 32767,9999 с разрешением 1/65535. Свойство value будет иметь тип double или double[] в зависимости от того, принимает ли опция более одного значения. Значения типа Double, которые невозможно представить точно, будут округлены до доступного диапазона и точности. 
 Последовательность любых байтов, кроме NUL ('\0'). value свойства будет DOMString. 
 Параметр этого типа не имеет значения. Вместо этого, установка параметра этого типа вызывает побочный эффект, специфичный для этого параметра, в драйвере сканера. Например, параметр, вводимый с помощью кнопки, может использоваться драйвером сканера для выбора значений по умолчанию или для подачи сигнала устройству автоматической подачи документов о необходимости перехода к следующему листу бумаги. 
 Параметр группировки. Нет значения. Он включен для совместимости, но обычно не возвращается в значениях ScannerOption . Используйте getOptionGroups() для получения списка групп с параметрами их участников.
Перечисление
 "БЕЗЕД."  «ПИКСЕЛЬ»  "КУСОЧЕК"  "ММ"  "ДПИ"  "ПРОЦЕНТ"  «МИКРОСЕКУНД»
 Значение — безразмерное число. Например, это может быть пороговое значение. 
 Значение — количество пикселей, например, размеры сканирования. 
 Значение — это количество бит, например, глубина цвета. 
 Значение измеряется в миллиметрах, например, размеры сканирования. 
 Например, значение разрешения измеряется в точках на дюйм. 
 Значение — процент, например, яркость. 
 Значение измеряется в микросекундах, например, время экспозиции.
ReadScanDataResponse
Характеристики
- данныеArrayBuffer необязательный Если result—SUCCESS, содержит следующий фрагмент данных отсканированного изображения. Еслиresult—EOF, содержит последний фрагмент данных отсканированного изображения.
- предполагаемое завершениеномер необязательно Если result—SUCCESS, оценка того, какой объем данных сканирования был доставлен на данный момент, в диапазоне от 0 до 100.
- работанить Предоставляет дескриптор задания, переданный readScanData().
- результатРезультат чтения данных. Если его значение равно SUCCESS, тоdataсодержат следующий (возможно, нулевой длины) фрагмент изображения, готовый к чтению. Если его значение равноEOF, тоdataсодержат последний фрагмент изображения.
ScannerInfo
Характеристики
- тип соединенияУказывает, как сканер подключен к компьютеру. 
- deviceUuidнить Для сопоставления с другими записями ScannerInfo, указывающими на то же физическое устройство.
- Форматы изображенийнить[] Массив типов MIME, которые можно запросить для возвращаемых сканирований. 
- производительнить Производитель сканера. 
- модельнить Модель сканера, если она доступна, или общее описание. 
- имянить Понятное имя сканера, которое будет отображаться в пользовательском интерфейсе. 
- Тип протоколанить Удобочитаемое описание протокола или драйвера, используемого для доступа к сканеру, например, Mopria, WSD или epsonds. Это в первую очередь полезно для предоставления пользователю возможности выбора между протоколами, если устройство поддерживает несколько протоколов. 
- идентификатор сканеранить Идентификатор конкретного сканера. 
- безопасныйбулев Если значение равно true, то передача данных через сканер не может быть перехвачена пассивным прослушивателем, таким как TLS или USB. 
ScannerOption
Характеристики
- конфигурируемостьУказывает, можно ли изменить опцию и как это сделать. 
- ограничение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
Характеристики
- имянить Указывает название установленной опции. 
- результатУказывает результат установки опции. 
SetOptionsResponse
Характеристики
- параметрыобъект необязательный Обновлённое сопоставление «ключ-значение» между названиями параметров и значениями ScannerOption, содержащее новую конфигурацию после попытки задать все предоставленные параметры. Структура этого сопоставления совпадает со структурой свойстваoptionsвOpenScannerResponse.Это свойство будет установлено, даже если некоторые параметры не были установлены успешно, но будет отменено, если получить обновленную конфигурацию не удастся (например, если сканер отключится во время сканирования). 
- результатыМассив результатов, по одному для каждого переданного OptionSetting.
- Ручка сканеранить Предоставляет дескриптор сканера, переданный в setOptions().
StartScanOptions
Характеристики
- форматнить Указывает тип MIME для возврата отсканированных данных. 
- maxReadSizeномер необязательно Если указано ненулевое значение, ограничивает максимальное количество отсканированных байтов, возвращаемых в одном ответе readScanData, этим значением. Наименьшее допустимое значение — 32768 (32 КБ). Если это свойство не указано, размер возвращаемого фрагмента может соответствовать размеру всего отсканированного изображения.
StartScanResponse
Характеристики
- работастрока необязательная Если result—SUCCESS, предоставляется дескриптор, который можно использовать для чтения данных сканирования или отмены задания.
- результатРезультат запуска сканирования. Если значение равно SUCCESS, свойствоjobбудет заполнено.
- Ручка сканеранить Предоставляет тот же дескриптор сканера, который был передан startScan().
Методы
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
): Promise<CancelScanResponse>
 Отменяет начатое сканирование и возвращает Promise, который завершается объектом CancelScanResponse . Если используется обратный вызов, объект передаётся ему. 
Параметры
- работанить Дескриптор активного задания сканирования, ранее возвращенного из вызова startScan.
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(response: CancelScanResponse) => void - ответ
 
Возврат
- Обещание< ОтменаСканированияОтвет > - Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
): Promise<CloseScannerResponse>
 Закрывает сканер с переданным дескриптором и возвращает Promise, который разрешается с объектом CloseScannerResponse . При использовании обратного вызова объект передаётся ему. Даже если ответ не удался, предоставленный дескриптор становится недействительным и не должен использоваться для дальнейших операций. 
Параметры
- Ручка сканеранить Указывает дескриптор открытого сканера, который был ранее возвращен из вызова openScanner.
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(response: CloseScannerResponse) => void - ответ
 
Возврат
- Обещание< CloseScannerResponse > - Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
): Promise<GetOptionGroupsResponse>
 Получает имена групп и параметры участников из сканера, ранее открытого openScanner . Этот метод возвращает Promise, который разрешается с помощью объекта GetOptionGroupsResponse . Если этой функции передаётся обратный вызов, возвращаемые данные передаются ей. 
Параметры
- Ручка сканеранить Дескриптор открытого сканера, возвращенный из вызова openScanner.
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(response: GetOptionGroupsResponse) => void - ответ
 
Возврат
- Обещание< GetOptionGroupsResponse > - Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
): Promise<GetScannerListResponse>
 Получает список доступных сканеров и возвращает Promise, который разрешается с помощью объекта GetScannerListResponse . Если этой функции передаётся обратный вызов, возвращаемые данные передаются ей. 
Параметры
- фильтрФильтр DeviceFilterуказывающий, какие типы сканеров следует вернуть.
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(response: GetScannerListResponse) => void - ответ
 
Возврат
- Обещание< GetScannerListResponse > - Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
): Promise<OpenScannerResponse>
 Открывает сканер для эксклюзивного доступа и возвращает Promise, который разрешается объектом OpenScannerResponse . Если этой функции передаётся обратный вызов, возвращаемые данные передаются ей. 
Параметры
- идентификатор сканеранить Идентификатор сканера, который нужно открыть. Это значение возвращается предыдущим вызовом getScannerList.
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(response: OpenScannerResponse) => void - ответ
 
Возврат
- Обещание <OpenScannerResponse> - Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
readScanData()
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 . Если этой функции передаётся обратный вызов, возвращаемые данные передаются ей. 
Параметры
- параметрыОбъект, содержащий параметры сканирования. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(result: ScanResults) => void - результат
 
Возврат
- Обещание< Результаты сканирования > Хром 96+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
setOptions()
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.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
): Promise<StartScanResponse>
 Запускает сканирование на указанном сканере и возвращает Promise, который разрешается с помощью StartScanResponse . При использовании обратного вызова объект передаётся ему. Если вызов был успешным, ответ включает дескриптор задания, который можно использовать в последующих вызовах для чтения данных сканирования или отмены сканирования. 
Параметры
- Ручка сканеранить Дескриптор открытого сканера. Это должно быть значение, ранее возвращённое вызовом openScanner.
- параметрыОбъект StartScanOptions, указывающий параметры сканирования. СвойствоStartScanOptions.formatдолжно соответствовать одному из значений, возвращаемых вScannerInfoсканера.
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(response: StartScanResponse) => void - ответ
 
Возврат
- Обещание< StartScanResponse > - Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.