chrome.documentScan

Описание

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

Разрешения

documentScan

Доступность

Chrome 44+ (только ChromeOS)

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

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

Типы

CancelScanResponse

Chrome 125+

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

  • работа

    нить

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

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

CloseScannerResponse

Chrome 125+

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

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

  • scannerHandle

    нить

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

Configurability

Chrome 125+

Как можно изменить тот или иной параметр.

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

"НЕ_НАСТРАИВАЕМО"
Данная опция доступна только для чтения.

"SOFTWARE_CONFIGURABLE"
Этот параметр можно настроить в программном обеспечении.

"НАСТРАИВАЕМОЕ ОБОРУДОВАНИЕ"
Этот параметр пользователь может установить, включив или нажав кнопку на сканере.

ConnectionType

Chrome 125+

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

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

«НЕ УКАЗАНО»

"USB"

"СЕТЬ"

ConstraintType

Chrome 125+

Тип данных ограничения, представленного объектом 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+

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

  • местный

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

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

  • безопасный

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

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

GetOptionGroupsResponse

Chrome 125+

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

  • группы

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

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

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

  • scannerHandle

    нить

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

GetScannerListResponse

Chrome 125+

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

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

  • сканеры

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

OpenScannerResponse

Chrome 125+

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

  • параметры

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

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

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

  • scannerHandle

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

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

  • scannerId

    нить

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

OperationResult

Chrome 125+

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

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

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

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

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

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

"УСТРОЙСТВО_ЗАНЯТО"
Устройство занято.

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

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

"EOF"
Дополнительные данные отсутствуют.

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

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

"COVER_OPEN"
Крышка платформы открыта.

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

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

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

"Недостижимо"
Устройство недоступно.

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

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

OptionConstraint

Chrome 125+

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

  • список

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

  • макс

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

  • мин

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

  • квант

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

OptionGroup

Chrome 125+

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

  • члены

    нить[]

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

  • заголовок

    нить

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

OptionSetting

Chrome 125+

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

  • имя

    нить

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

  • тип

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

  • ценить

    строка | число | логическое значение | массив чисел ( необязательно )

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

OptionType

Chrome 125+

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

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

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

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

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

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

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

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

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

OptionUnit

Chrome 125+

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

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

«БЕЗ ЕДИНИЦ»
Значение представляет собой безразмерное число. Например, это может быть пороговое значение.

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

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

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

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

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

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

ReadScanDataResponse

Chrome 125+

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

  • данные

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

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

  • оценочная завершенность

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

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

  • работа

    нить

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

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

ScannerInfo

Chrome 125+

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

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

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

  • deviceUuid

    нить

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

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

    нить[]

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

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

    нить

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

  • модель

    нить

    Укажите модель сканера (если она известна) или её общее описание.

  • имя

    нить

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

  • protocolType

    нить

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

  • scannerId

    нить

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

  • безопасный

    логический

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

ScannerOption

Chrome 125+

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

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

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

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

    Определяет OptionConstraint для текущей опции сканера.

  • описание

    нить

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

  • isActive

    логический

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

  • isAdvanced

    логический

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

  • isAutoSettable

    логический

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

  • isDetectable

    логический

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

  • isEmulated

    логический

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

  • имя

    нить

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

  • заголовок

    нить

    Заголовок в одну строку, который можно распечатать.

  • тип

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

  • единица

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

  • ценить

    строка | число | логическое значение | массив чисел ( необязательно )

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

ScanOptions

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

  • maxImages

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

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

  • mimeTypes

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

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

ScanResults

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

  • dataUrls

    нить[]

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

  • mimeType

    нить

    MIME-тип данных dataUrls .

SetOptionResult

Chrome 125+

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

  • имя

    нить

    Указывает название выбранной опции.

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

SetOptionsResponse

Chrome 125+

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

  • параметры

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

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

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

  • результаты

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

  • scannerHandle

    нить

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

StartScanOptions

Chrome 125+

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

  • формат

    нить

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

  • maxReadSize

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

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

StartScanResponse

Chrome 125+

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

  • работа

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

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

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

  • scannerHandle

    нить

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

Методы

cancelScan()

Promise Chrome 125+
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)
: Promise<CancelScanResponse>

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

Параметры

  • работа

    нить

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

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

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

    Параметр callback выглядит следующим образом:

    (response: CancelScanResponse) => void

Возвраты

  • Promise< CancelScanResponse >

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

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

closeScanner()

Promise Chrome 125+
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)
: Promise<CloseScannerResponse>

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

Параметры

  • scannerHandle

    нить

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

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

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

    Параметр callback выглядит следующим образом:

    (response: CloseScannerResponse) => void

Возвраты

  • Возвращает промис, который разрешается с результатом.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getOptionGroups()

Promise Chrome 125+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)
: Promise<GetOptionGroupsResponse>

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

Параметры

  • scannerHandle

    нить

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

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

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

    Параметр callback выглядит следующим образом:

    (response: GetOptionGroupsResponse) => void

Возвраты

  • Возвращает промис, который разрешается с результатом.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getScannerList()

Promise Chrome 125+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)
: Promise<GetScannerListResponse>

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

Параметры

  • фильтр

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

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

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

    Параметр callback выглядит следующим образом:

    (response: GetScannerListResponse) => void

Возвраты

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

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

openScanner()

Promise Chrome 125+
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)
: Promise<OpenScannerResponse>

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

Параметры

  • scannerId

    нить

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

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

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

    Параметр callback выглядит следующим образом:

    (response: OpenScannerResponse) => void

Возвраты

  • Возвращает промис, который разрешается с результатом.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

readScanData()

Promise Chrome 125+
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)
: Promise<ReadScanDataResponse>

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

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

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

Параметры

  • работа

    нить

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

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

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

    Параметр callback выглядит следующим образом:

    (response: ReadScanDataResponse) => void

Возвраты

  • Возвращает промис, который разрешается с результатом.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

scan()

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

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

Параметры

Возвраты

  • Promise< ScanResults >

    Chrome 96+

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

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

setOptions()

Promise Chrome 125+
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)
: Promise<SetOptionsResponse>

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

Параметры

  • scannerHandle

    нить

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

  • параметры

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

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

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

    Параметр callback выглядит следующим образом:

    (response: SetOptionsResponse) => void

Возвраты

  • Возвращает промис, который разрешается с результатом.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

startScan()

Promise Chrome 125+
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 и более поздних версий; для других платформ необходимо использовать колбэки.