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