Описание
Используйте 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 и более поздних версий, на других платформах необходимо использовать обратные вызовы.