Descripción
Usa la API de chrome.documentScan
para descubrir y recuperar imágenes de los escáneres de documentos adjuntos.
Permisos
documentScan
Disponibilidad
API de Document Scan
La API de Document Scan está diseñada para permitir que las aplicaciones y extensiones vean el contenido de documentos en papel en un escáner de documentos adjunto.
Tipos
CancelScanResponse
Propiedades
-
trabajo
string
Proporciona el mismo controlador de trabajo que se pasó a
cancelScan()
. -
resultado
El resultado del análisis de cancelación del backend. Si el resultado es
OperationResult.SUCCESS
oOperationResult.CANCELLED
, significa que se canceló el análisis y está listo para iniciar un análisis nuevo. Si el resultado esOperationResult.DEVICE_BUSY
, el escáner aún está procesando la cancelación solicitada. el llamador debe esperar un momento y volver a enviar la solicitud. Otros valores de resultado indican un error permanente que no se debe reintentar.
CloseScannerResponse
Propiedades
-
resultado
El resultado de cerrar el escáner. Incluso si este valor no es
SUCCESS
, el identificador no será válido y no se debe usar para ninguna otra operación. -
scannerHandle
string
El mismo controlador del escáner que se pasó a
closeScanner
Configurability
Cómo se puede cambiar una opción
Enum
"NOT_CONFIGURABLE"
La opción es de solo lectura.
"SOFTWARE_CONFIGURABLE"
La opción se puede configurar en software.
"HARDWARE_CONFIGURABLE"
La opción se puede configurar cuando el usuario activa o presiona un botón del escáner.
ConnectionType
Indica cómo está conectado el escáner a la computadora.
Enum
"UNSPECIFIED"
"USB"
"RED"
ConstraintType
El tipo de datos de restricción representado por un OptionConstraint
.
Enum
"INT_RANGE"
Es la restricción en un rango de valores OptionType.INT
. Las propiedades min
, max
y quant
de OptionConstraint
serán long
, y no se establecerá la propiedad list
.
"FIXED_RANGE"
Es la restricción en un rango de valores OptionType.FIXED
. Las propiedades min
, max
y quant
de OptionConstraint
serán double
, y su propiedad list
se desactivará.
"INT_LIST"
Es la restricción sobre una lista específica de valores OptionType.INT
. La propiedad OptionConstraint.list
contendrá valores long
y las demás propiedades no se establecerán.
"FIXED_LIST"
Es la restricción de una lista específica de valores OptionType.FIXED
. La propiedad OptionConstraint.list
contendrá valores double
y las demás propiedades no se establecerán.
"STRING_LIST"
Es la restricción de una lista específica de valores OptionType.STRING
. La propiedad OptionConstraint.list
contendrá valores DOMString
y las demás propiedades no se establecerán.
DeviceFilter
Propiedades
-
local
booleano opcional
Solo devuelve escáneres que estén directamente conectados a la computadora.
-
seguro
booleano opcional
Devuelve únicamente escáneres que usen un transporte seguro, como USB o TLS.
GetOptionGroupsResponse
Propiedades
-
grupos
OptionGroup[] opcional
Si
result
esSUCCESS
, proporciona una lista de grupos de opciones en el orden que proporciona el controlador del análisis. -
resultado
El resultado de obtener los grupos de opciones. Si el valor es
SUCCESS
, se propagará la propiedadgroups
. -
scannerHandle
string
El mismo controlador del escáner que se pasó a
getOptionGroups
GetScannerListResponse
Propiedades
-
resultado
Es el resultado de la enumeración. Ten en cuenta que se pueden mostrar resultados parciales incluso si esto indica un error.
-
escáneres
Una lista posiblemente vacía de escáneres que coinciden con el
DeviceFilter
proporcionado.
OpenScannerResponse
Propiedades
-
opciones
objeto opcional
Si
result
esSUCCESS
, proporciona una asignación de par clave-valor en la que la clave es una opción específica del dispositivo y el valor es una instancia deScannerOption
. -
resultado
El resultado de abrir el escáner. Si el valor es
SUCCESS
, se propagarán las propiedadesscannerHandle
yoptions
. -
scannerHandle
string opcional
Si
result
esSUCCESS
, un controlador para el escáner que se puede usar en otras operaciones. -
scannerId
string
El ID del escáner que se pasa a
openScanner()
.
OperationResult
Una enumeración que indica el resultado de cada operación.
Enum
"UNKNOWN"
Se produjo un error desconocido o genérico.
"SUCCESS"
La operación se realizó correctamente.
"UNSUPPORTED"
No se admite la operación.
“CANCELLED”
Se canceló la operación.
"DEVICE_BUSY"
El dispositivo está ocupado.
"INVALID"
Los datos o un argumento que se pasó al método no son válidos.
"WRONG_TYPE"
El valor proporcionado es un tipo de datos incorrecto para la opción subyacente.
"EOF"
No hay más datos disponibles.
"ADF_JAMMED"
El alimentador de documentos está atascado.
"ADF_EMPTY"
El alimentador de documentos está vacío.
"COVER_OPEN"
La cubierta plana está abierta.
"IO_ERROR"
Se produjo un error durante la comunicación con el dispositivo.
"ACCESS_DENIED"
El dispositivo requiere autenticación.
"NO_MEMORY"
La Chromebook no tiene suficiente memoria disponible para completar la operación.
"UNREACHABLE"
No se puede acceder al dispositivo.
"MISSING"
El dispositivo está desconectado.
"INTERNAL_ERROR"
Se produjo un error en un lugar distinto de la aplicación que realiza la llamada.
OptionConstraint
Propiedades
-
list
string[] | number[] opcional
-
máx.
número opcional
-
min
número opcional
-
cuant.
número opcional
-
tipo
OptionGroup
Propiedades
-
miembros
string[]
Un array de nombres de opciones en el orden proporcionado por el controlador.
-
título
string
Proporciona un título imprimible, por ejemplo, "Opciones de geometría".
OptionSetting
Propiedades
-
nombre
string
Indica el nombre de la opción que se establecerá.
-
tipo
Indica el tipo de datos de la opción. El tipo de datos solicitado debe coincidir con el tipo de datos real de la opción subyacente.
-
valor
string | número | boolean | number[] opcional
Indica el valor que se debe configurar. No estableces la opción para solicitar la configuración automática de las opciones que tienen habilitado
autoSettable
. El tipo de datos proporcionado paravalue
debe coincidir contype
.
OptionType
Es el tipo de datos de una opción.
Enum
"UNKNOWN"
El tipo de datos de la opción es desconocido. No se establecerá la propiedad value
.
"BOOL"
La propiedad value
será uno de true
false.
"INT"
Un número entero de 32 bits con firma. La propiedad value
será larga o larga[], dependiendo de si la opción toma más de un valor.
"FIXED"
Un doble en el rango -32768-32767.9999 con una resolución de 1/65535. La propiedad value
será doble o doble [], según si la opción toma más de un valor. Los valores dobles que no se pueden representar de forma exacta se redondearán al rango y la precisión disponibles.
"STRING"
Una secuencia de cualquier bytes excepto NUL ("\0"). La propiedad value
será una DOMString.
"BUTTON"
Una opción de este tipo no tiene valor. En cambio, configurar una opción de este tipo causa un efecto secundario específico de la opción en el controlador del escáner. Por ejemplo, el controlador de escáner podría usar una opción de tipo botón para seleccionar los valores predeterminados o indicarle a un alimentador automático de documentos que avance a la siguiente hoja de papel.
"GROUP"
Opción de agrupación. Sin valor. Esto se incluye por razones de compatibilidad, pero, por lo general, no se mostrará en los valores ScannerOption
. Usa getOptionGroups()
para recuperar la lista de grupos con sus opciones de miembros.
Enum
"UNITLESS"
El valor es un número sin unidades. Por ejemplo, puede ser un umbral.
"PIXEL"
El valor es una cantidad de píxeles, por ejemplo, dimensiones de escaneo.
"BIT"
El valor es la cantidad de bits, por ejemplo, la profundidad de color.
"MM"
El valor se mide en milímetros, por ejemplo, las dimensiones del escaneo.
"DPI"
El valor se mide en puntos por pulgada, por ejemplo, resolución.
"PERCENT"
El valor es un porcentaje, por ejemplo, brillo.
"MICROSEGUNDO"
El valor se mide en microsegundos, por ejemplo, el tiempo de exposición.
ReadScanDataResponse
Propiedades
-
datos
ArrayBuffer opcional
Si
result
esSUCCESS
, contiene el siguiente fragmento de datos de imagen escaneada. Siresult
esEOF
, contiene el último fragmento de datos de la imagen analizada. -
estimatedCompletion
número opcional
Si
result
esSUCCESS
, una estimación de la cantidad total de datos de análisis que se entregaron hasta el momento, en el rango de 0 a 100. -
trabajo
string
Proporciona el controlador del trabajo que se pasa a
readScanData()
. -
resultado
Es el resultado de la lectura de los datos. Si su valor es
SUCCESS
, entoncesdata
contiene el fragmento siguiente (posiblemente de longitud cero) de datos de imagen que está listo para leerse. Si su valor esEOF
,data
contiene el último fragmento de datos de la imagen.
ScannerInfo
Propiedades
-
connectionType
Indica cómo está conectado el escáner a la computadora.
-
deviceUuid
string
Para buscar coincidencias con otras entradas de
ScannerInfo
que apunten al mismo dispositivo físico -
imageFormats
string[]
Una matriz de tipos de MIME que se puede solicitar para los análisis devueltos.
-
fabricante
string
El fabricante del escáner.
-
modelo
string
El modelo del escáner (si está disponible) o una descripción genérica
-
nombre
string
Un nombre legible para que el escáner lo muestre en la IU.
-
protocolType
string
Una descripción legible del protocolo o el controlador que se usa para acceder al escáner, como Mopria, WSD o epsonds. Esto es principalmente útil para permitir que un usuario elija entre protocolos si un dispositivo admite varios protocolos.
-
scannerId
string
El ID de un escáner específico.
-
seguro
boolean
Si es verdadero, un objeto de escucha pasivo, como TLS o USB, no puede interceptar el transporte de la conexión del escáner.
ScannerOption
Propiedades
-
capacidad de configuración
Indica si se puede cambiar la opción y de qué manera.
-
restricción
OptionConstraint opcional
Define
OptionConstraint
en la opción del análisis actual. -
descripción
string
Es una descripción más larga de la opción.
-
Está activo
boolean
Indica que la opción está activa y se puede configurar o recuperar. Si es falso, no se establecerá la propiedad
value
. -
isAdvanced
boolean
Indica que la IU no debe mostrar esta opción de forma predeterminada.
-
isAutoSettable
boolean
El controlador del escáner puede configurarlo automáticamente.
-
isDetectable
boolean
Indica que esta opción puede detectarse desde software.
-
isEmulated
boolean
Emulado por el controlador del escáner si es verdadero.
-
nombre
string
El nombre de la opción con letras minúsculas ASCII, números y guiones. No se permiten signos diacríticos.
-
título
string
Título imprimible de una línea.
-
tipo
El tipo de datos que contiene la propiedad
value
, que es necesario para configurar esta opción. -
Unidad
Es la unidad de medida para esta opción.
-
valor
string | número | boolean | number[] opcional
El valor actual de la opción, si corresponde. Ten en cuenta que el tipo de datos de esta propiedad debe coincidir con el tipo de datos especificado en
type
.
ScanOptions
Propiedades
-
maxImages
número opcional
Es la cantidad permitida de imágenes analizadas. El valor predeterminado es 1.
-
mimeTypes
string[] opcional
Son los tipos de MIME que acepta el emisor.
ScanResults
Propiedades
-
dataUrls
string[]
Un array de URLs de imágenes de datos en un formato que se puede pasar como “src” valor a una etiqueta de imagen.
-
mimeType
string
Es el tipo de MIME de
dataUrls
.
SetOptionResult
Propiedades
-
nombre
string
Indica el nombre de la opción que se estableció.
-
resultado
Indica el resultado de configurar la opción.
SetOptionsResponse
Propiedades
-
opciones
objeto opcional
Una asignación de pares clave-valor actualizada de nombres de opciones a valores
ScannerOption
que contienen la configuración nueva después de intentar establecer todas las opciones suministradas Tiene la misma estructura que la propiedadoptions
enOpenScannerResponse
.Esta propiedad se establecerá incluso si algunas opciones no se establecieron correctamente, pero se desactivará si falla la recuperación de la configuración actualizada (por ejemplo, si se desconecta el escáner durante el análisis).
-
resultados
Un array de resultados, uno por cada
OptionSetting
que se pasó. -
scannerHandle
string
Proporciona el controlador del escáner que se pasa a
setOptions()
.
StartScanOptions
Propiedades
-
formato
string
Especifica el tipo de MIME en el que se mostrarán los datos analizados.
-
maxReadSize
número opcional
Si se especifica un valor distinto de cero, limita la cantidad máxima de bytes analizados que se muestran en una sola respuesta
readScanData
a ese valor. El valor más pequeño permitido es 32,768 (32 KB). Si no se especifica esta propiedad, el tamaño de un fragmento devuelto puede ser tan grande como toda la imagen escaneada.
StartScanResponse
Propiedades
-
trabajo
string opcional
Si
result
esSUCCESS
, proporciona un controlador que se puede usar para leer los datos del análisis o cancelar el trabajo. -
resultado
Es el resultado del inicio de un análisis. Si el valor es
SUCCESS
, se propagará la propiedadjob
. -
scannerHandle
string
Proporciona el mismo controlador de escáner que se pasó a
startScan()
.
Métodos
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
)
Cancela un análisis iniciado y muestra una promesa que se resuelve con un objeto CancelScanResponse
. Si se usa una devolución de llamada, se le pasa el objeto en su lugar.
Parámetros
-
trabajo
string
El controlador de un trabajo de análisis activo que antes se mostró mediante una llamada a
startScan
. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(response: CancelScanResponse) => void
-
respuesta
-
Muestra
-
Promise<CancelScanResponse>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
)
Cierra el escáner con el controlador pasado y muestra una promesa que se resuelve con un objeto CloseScannerResponse
. Si se usa una devolución de llamada, se le pasa el objeto en su lugar. Incluso si la respuesta no es exitosa, el controlador proporcionado deja de ser válido y no debe usarse para otras operaciones.
Parámetros
-
scannerHandle
string
Especifica el controlador de un escáner abierto que se mostró antes desde una llamada a
openScanner
. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(response: CloseScannerResponse) => void
-
respuesta
-
Muestra
-
Promise<CloseScannerResponse>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
)
Obtiene los nombres de los grupos y las opciones de miembros de un escáner que openScanner
abrió antes. Este método muestra una promesa que se resuelve con un objeto GetOptionGroupsResponse
. Si se pasa una devolución de llamada a esta función, los datos que se muestran se le pasan a ella.
Parámetros
-
scannerHandle
string
El controlador de un escáner abierto que se muestra desde una llamada a
openScanner
. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(response: GetOptionGroupsResponse) => void
-
respuesta
-
Muestra
-
Promise<GetOptionGroupsResponse>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
)
Obtiene la lista de analizadores disponibles y muestra una promesa que se resuelve con un objeto GetScannerListResponse
. Si se pasa una devolución de llamada a esta función, los datos que se muestran se le pasan a ella.
Parámetros
-
filter
Un
DeviceFilter
que indica qué tipos de escáneres se deben mostrar -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(response: GetScannerListResponse) => void
-
respuesta
-
Muestra
-
Promise<GetScannerListResponse>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
)
Abre un escáner para obtener acceso exclusivo y muestra una promesa que se resuelve con un objeto OpenScannerResponse
. Si se pasa una devolución de llamada a esta función, los datos que se muestran se le pasan a ella.
Parámetros
-
scannerId
string
El ID de un escáner que se abrirá. Este valor es el que se muestra en una llamada anterior a
getScannerList
. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(response: OpenScannerResponse) => void
-
respuesta
-
Muestra
-
Promise<OpenScannerResponse>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
)
Lee el siguiente fragmento de datos de imagen disponibles desde un controlador de trabajo activo y muestra una promesa que se resuelve con un objeto ReadScanDataResponse
. Si se usa una devolución de llamada, se le pasa el objeto en su lugar.
**Nota:**Es válido que el resultado de una respuesta sea SUCCESS
con un miembro data
de longitud cero. Esto significa que el escáner sigue funcionando, pero aún no tiene datos adicionales listos. El emisor debe esperar un momento y volver a intentarlo.
Cuando se complete el trabajo de análisis, la respuesta tendrá el valor de resultado EOF
. Esta respuesta puede contener un miembro data
final distinto de cero.
Parámetros
-
trabajo
string
Controlador de trabajo activo que antes mostraba
startScan
. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(response: ReadScanDataResponse) => void
-
respuesta
-
Muestra
-
Promise<ReadScanDataResponse>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
)
Realiza un análisis de documento y muestra una promesa que se resuelve con un objeto ScanResults
. Si se pasa una devolución de llamada a esta función, los datos devueltos se pasan allí.
Parámetros
-
opciones
Un objeto que contiene parámetros de análisis.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(result: ScanResults) => void
-
resultado
-
Muestra
-
Promise<ScanResults>
Chrome 96 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
)
Establece opciones en el análisis especificado y muestra una promesa que se resuelve con un objeto SetOptionsResponse
que contiene el resultado de intentar establecer cada valor en el orden del objeto OptionSetting
pasado. Si se usa una devolución de llamada, se le pasa el objeto en su lugar.
Parámetros
-
scannerHandle
string
El controlador del escáner para configurar las opciones. Debe ser un valor que se mostró antes de una llamada a
openScanner
. -
opciones
Una lista de objetos
OptionSetting
que se aplicarán al escáner. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(response: SetOptionsResponse) => void
-
respuesta
-
Muestra
-
Promise<SetOptionsResponse>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
)
Inicia un análisis en el escáner especificado y muestra una promesa que se resuelve con StartScanResponse
. Si se usa una devolución de llamada, se le pasa el objeto en su lugar. Si la llamada se realizó correctamente, la respuesta incluye un identificador de trabajo que puede usarse en llamadas posteriores para leer datos de análisis o cancelarlo.
Parámetros
-
scannerHandle
string
El controlador de un escáner abierto. Debe ser un valor que se mostró antes de una llamada a
openScanner
. -
opciones
Un objeto
StartScanOptions
que indica las opciones que se usarán para el análisis. La propiedadStartScanOptions.format
debe coincidir con una de las entradas que se muestran en elScannerInfo
del escáner. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(response: StartScanResponse) => void
-
respuesta
-
Muestra
-
Promise<StartScanResponse>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.