Description
Utilisez l'API chrome.documentScan
pour découvrir et récupérer les images des scanners de document connectés.
Autorisations
documentScan
Disponibilité
API Document Scan
L'API Document Scan est conçue pour permettre aux applications et aux extensions d'afficher le contenu des documents papier sur un scanner de documents connecté.
Types
CancelScanResponse
Propriétés
- job
chaîne
Fournit le même handle de job que celui transmis à
cancelScan()
. - résultat
Résultat de l'annulation de l'analyse du backend. Si le résultat est
OperationResult.SUCCESS
ouOperationResult.CANCELLED
, l'analyse a été annulée et le scanner est prêt à en lancer une nouvelle. Si le résultat estOperationResult.DEVICE_BUSY
, cela signifie que le scanner est toujours en train de traiter la demande d'annulation. L'appelant doit attendre un peu, puis réessayer. Les autres valeurs de résultat indiquent une erreur permanente qui ne doit pas être relancée.
CloseScannerResponse
Propriétés
- résultat
Résultat de la fermeture du scanner. Même si cette valeur n'est pas
SUCCESS
, le handle ne sera pas valide et ne devra pas être utilisé pour d'autres opérations. - scannerHandle
chaîne
Identifiant du même scanner que celui transmis à
closeScanner
.
Configurability
Comment modifier une option
Énumération
"NOT_CONFIGURABLE"
L'option est en lecture seule.
"SOFTWARE_CONFIGURABLE"
L'option peut être définie dans le logiciel.
"HARDWARE_CONFIGURABLE"
L'option peut être définie par l'utilisateur en activant ou en appuyant sur un bouton du lecteur.
ConnectionType
Indique comment le scanner est connecté à l'ordinateur.
Énumération
"UNSPECIFIED"
"USB"
"NETWORK"
ConstraintType
Type de données de la contrainte représentée par un OptionConstraint
.
Énumération
"INT_RANGE"
Contrainte sur une plage de valeurs OptionType.INT
. Les propriétés min
, max
et quant
de OptionConstraint
seront long
, et sa propriété list
ne sera pas définie.
"FIXED_RANGE"
Contrainte sur une plage de valeurs OptionType.FIXED
. Les propriétés min
, max
et quant
de OptionConstraint
seront double
, et sa propriété list
ne sera pas définie.
"INT_LIST"
Contrainte sur une liste spécifique de valeurs OptionType.INT
. La propriété OptionConstraint.list
contiendra des valeurs long
, et les autres propriétés ne seront pas définies.
"FIXED_LIST"
Contrainte sur une liste spécifique de valeurs OptionType.FIXED
. La propriété OptionConstraint.list
contiendra des valeurs double
, et les autres propriétés ne seront pas définies.
"STRING_LIST"
Contrainte sur une liste spécifique de valeurs OptionType.STRING
. La propriété OptionConstraint.list
contiendra des valeurs DOMString
, et les autres propriétés ne seront pas définies.
DeviceFilter
Propriétés
- local
booléen facultatif
Ne renvoie que les scanners directement connectés à l'ordinateur.
- sécurisé
booléen facultatif
Ne renvoyez que les scanners qui utilisent un transport sécurisé, tel que USB ou TLS.
GetOptionGroupsResponse
Propriétés
- groupes
OptionGroup[] facultatif
Si
result
est défini surSUCCESS
, une liste de groupes d'options est fournie dans l'ordre indiqué par le pilote du scanner. - résultat
Résultat de l'obtention des groupes d'options. Si la valeur est
SUCCESS
, la propriétégroups
sera renseignée. - scannerHandle
chaîne
Identifiant du même scanner que celui transmis à
getOptionGroups
.
GetScannerListResponse
Propriétés
- résultat
Résultat de l'énumération. Notez que des résultats partiels peuvent être renvoyés même si une erreur est indiquée.
- scanners
Liste éventuellement vide de scanners correspondant à l'
DeviceFilter
fourni.
OpenScannerResponse
Propriétés
- options
object facultatif
Si
result
estSUCCESS
, fournit un mappage clé-valeur où la clé est une option spécifique à l'appareil et la valeur est une instance deScannerOption
. - résultat
Résultat de l'ouverture du scanner. Si la valeur est
SUCCESS
, les propriétésscannerHandle
etoptions
seront renseignées. - scannerHandle
chaîne facultative
Si
result
correspond àSUCCESS
, il s'agit d'un handle vers le scanner qui peut être utilisé pour d'autres opérations. - scannerId
chaîne
ID du lecteur transmis à
openScanner()
.
OperationResult
Énumération indiquant le résultat de chaque opération.
Énumération
"UNKNOWN"
Une erreur inconnue ou générique s'est produite.
"SUCCESS"
L'opération a réussi.
"UNSUPPORTED"
L'opération n'est pas acceptée.
ANNULÉE
L'opération a été annulée.
"DEVICE_BUSY"
L'appareil est occupé.
"INVALID"
Les données ou un argument transmis à la méthode ne sont pas valides.
"WRONG_TYPE"
La valeur fournie n'est pas du bon type de données pour l'option sous-jacente.
EOF
Aucune autre donnée n'est disponible.
"ADF_JAMMED"
Le chargeur de documents est bloqué.
"ADF_EMPTY"
Le chargeur de documents est vide.
"COVER_OPEN"
Le couvercle du scanner à plat est ouvert.
"IO_ERROR"
Une erreur s'est produite lors de la communication avec l'appareil.
"ACCESS_DENIED"
L'appareil nécessite une authentification.
"NO_MEMORY"
Le Chromebook ne dispose pas de suffisamment de mémoire pour effectuer l'opération.
"INACCESSIBLE"
L'appareil est inaccessible.
"MISSING"
L'appareil est déconnecté.
"INTERNAL_ERROR"
Une erreur s'est produite ailleurs que dans l'application appelante.
OptionConstraint
Propriétés
- list
string[] | number[] facultatif
- max
number facultatif
- min
number facultatif
- quant
number facultatif
- type
OptionGroup
Propriétés
- membres
chaîne[]
Tableau de noms d'options dans l'ordre fourni par le pilote.
- titre
chaîne
Fournit un titre imprimable, par exemple "Options de géométrie".
OptionSetting
Propriétés
- nom
chaîne
Indique le nom de l'option à définir.
- type
Indique le type de données de l'option. Le type de données demandé doit correspondre au type de données réel de l'option sous-jacente.
- valeur
string | number | boolean | number[] facultatif
Indique la valeur à définir. Laissez la valeur non définie pour demander le paramètre automatique pour les options pour lesquelles
autoSettable
est activé. Le type de données fourni pourvalue
doit correspondre àtype
.
OptionType
Type de données d'une option.
Énumération
"UNKNOWN"
Le type de données de l'option est inconnu. La propriété value
ne sera pas définie.
"BOOL"
La propriété value
sera l'une des valeurs suivantes : true
false.
"INT"
Entier signé de 32 bits. La propriété value
sera de type long ou long[], selon que l'option accepte plusieurs valeurs ou non.
FIXED
Double dans la plage -32768 à 32767,9999 avec une résolution de 1/65535. La propriété value
sera double ou double[], selon que l'option accepte plusieurs valeurs ou non. Les valeurs doubles qui ne peuvent pas être représentées exactement seront arrondies à la plage et à la précision disponibles.
"STRING"
Séquence d'octets, à l'exception de NUL ('\0'). La propriété value
sera une DOMString.
"BUTTON"
Une option de ce type n'a aucune valeur. Au lieu de cela, la définition d'une option de ce type entraîne un effet secondaire spécifique à l'option dans le pilote du scanner. Par exemple, un pilote de scanner peut utiliser une option de type bouton pour permettre à l'utilisateur de sélectionner des valeurs par défaut ou pour indiquer à un chargeur automatique de documents de passer à la feuille de papier suivante.
"GROUP"
Option de regroupement. Aucune valeur. Cette valeur est incluse pour la compatibilité, mais ne sera normalement pas renvoyée dans les valeurs ScannerOption
. Utilisez getOptionGroups()
pour récupérer la liste des groupes et leurs options de membre.
Énumération
"UNITLESS"
La valeur est un nombre sans unité. Par exemple, il peut s'agir d'un seuil.
"PIXEL"
La valeur correspond à un nombre de pixels, par exemple les dimensions du scan.
"BIT"
La valeur correspond au nombre de bits, par exemple la profondeur de couleur.
"MM"
La valeur est mesurée en millimètres (par exemple, les dimensions de la numérisation).
"DPI"
La valeur est mesurée en points par pouce, par exemple, la résolution.
"PERCENT"
La valeur est un pourcentage (par exemple, la luminosité).
"MICROSECOND"
La valeur est mesurée en microsecondes (par exemple, le temps d'exposition).
ReadScanDataResponse
Propriétés
- données
ArrayBuffer facultatif
Si
result
est défini surSUCCESS
, contient le prochain bloc de données d'image numérisée. Siresult
est défini surEOF
, contient le dernier bloc de données d'image analysées. - estimatedCompletion
number facultatif
Si
result
est défini surSUCCESS
, une estimation de la quantité de données d'analyse totale qui a été fournie jusqu'à présent, dans la plage de 0 à 100. - job
chaîne
Fournit le handle de job transmis à
readScanData()
. - résultat
Résultat de la lecture des données. Si sa valeur est
SUCCESS
,data
contient le prochain bloc (éventuellement de longueur nulle) de données d'image prêt à être lu. Si sa valeur estEOF
,data
contient le dernier bloc de données d'image.
ScannerInfo
Propriétés
- connectionType
Indique comment le scanner est connecté à l'ordinateur.
- deviceUuid
chaîne
Pour la mise en correspondance avec d'autres entrées
ScannerInfo
qui pointent vers le même appareil physique. - imageFormats
chaîne[]
Tableau de types MIME pouvant être demandés pour les analyses renvoyées.
- manufacturer
chaîne
Fabricant du scanner.
- modèle
chaîne
Modèle du scanner, s'il est disponible, ou description générique.
- nom
chaîne
Nom lisible du scanner à afficher dans l'UI.
- protocolType
chaîne
Description lisible du protocole ou du pilote utilisé pour accéder au scanner, comme Mopria, WSD ou epsonds. Cela est surtout utile pour permettre à un utilisateur de choisir entre plusieurs protocoles si un appareil en prend en charge plusieurs.
- scannerId
chaîne
ID d'un scanner spécifique.
- sécurisé
booléen
Si la valeur est "true", le transport de la connexion du lecteur ne peut pas être intercepté par un écouteur passif, tel que TLS ou USB.
ScannerOption
Propriétés
- configurabilité
Indique si et comment l'option peut être modifiée.
- contrainte
OptionConstraint facultatif
Définit
OptionConstraint
sur l'option de scanner actuelle. - description
chaîne
Description plus longue de l'option.
- isActive
booléen
Indique que l'option est active et peut être définie ou récupérée. Si la valeur est "false", la propriété
value
ne sera pas définie. - isAdvanced
booléen
Indique que l'UI ne doit pas afficher cette option par défaut.
- isAutoSettable
booléen
Peut être défini automatiquement par le pilote du scanner.
- isDetectable
booléen
Indique que cette option peut être détectée par le logiciel.
- isEmulated
booléen
Émulé par le pilote du scanner si la valeur est "true".
- nom
chaîne
Nom de l'option utilisant des lettres ASCII minuscules, des chiffres et des tirets. Les signes diacritiques ne sont pas autorisés.
- titre
chaîne
Titre imprimable sur une ligne.
- type
Type de données contenu dans la propriété
value
, nécessaire pour définir cette option. - unité
Unité de mesure pour cette option.
- valeur
string | number | boolean | number[] facultatif
Valeur actuelle de l'option, le cas échéant. Notez que le type de données de cette propriété doit correspondre à celui spécifié dans
type
.
ScanOptions
Propriétés
- maxImages
number facultatif
Nombre d'images numérisées autorisées. La valeur par défaut est 1.
- mimeTypes
string[] facultatif
Types MIME acceptés par l'appelant.
ScanResults
Propriétés
- dataUrls
chaîne[]
Tableau d'URL d'images de données dans un format pouvant être transmis en tant que valeur "src" à un tag d'image.
- mimeType
chaîne
Type MIME de
dataUrls
.
SetOptionResult
Propriétés
- nom
chaîne
Indique le nom de l'option définie.
- résultat
Indique le résultat de la définition de l'option.
SetOptionsResponse
Propriétés
- options
object facultatif
Mappage clé/valeur mis à jour des noms d'option vers les valeurs
ScannerOption
contenant la nouvelle configuration après avoir tenté de définir toutes les options fournies. Cette propriété a la même structure que la propriétéoptions
dansOpenScannerResponse
.Cette propriété sera définie même si certaines options n'ont pas été définies correctement, mais elle sera supprimée si la récupération de la configuration mise à jour échoue (par exemple, si le scanner est déconnecté en cours de scan).
- résultats
Tableau de résultats, un pour chaque
OptionSetting
transmis. - scannerHandle
chaîne
Fournit le gestionnaire de scanner transmis à
setOptions()
.
StartScanOptions
Propriétés
- format
chaîne
Spécifie le type MIME dans lequel renvoyer les données analysées.
- maxReadSize
number facultatif
Si une valeur différente de zéro est spécifiée, elle limite à cette valeur le nombre maximal d'octets analysés renvoyés dans une seule réponse
readScanData
. La plus petite valeur autorisée est 32 768 (32 ko). Si cette propriété n'est pas spécifiée, la taille d'un bloc renvoyé peut être aussi grande que l'image numérisée entière.
StartScanResponse
Propriétés
- job
chaîne facultative
Si
result
est défini surSUCCESS
, fournit un handle qui peut être utilisé pour lire les données d'analyse ou annuler le job. - résultat
Résultat du démarrage d'une analyse. Si la valeur est
SUCCESS
, la propriétéjob
sera renseignée. - scannerHandle
chaîne
Fournit le même handle de scanner que celui transmis à
startScan()
.
Méthodes
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
): Promise<CancelScanResponse>
Annule un scan commencé et renvoie une promesse qui se résout avec un objet CancelScanResponse
. Si un rappel est utilisé, l'objet lui est transmis à la place.
Paramètres
- job
chaîne
Handle d'un job d'analyse actif renvoyé précédemment par un appel à
startScan
. - callback
function facultatif
Le paramètre
callback
se présente comme suit :(response: CancelScanResponse) => void
- réponse
-
Renvoie
-
Promise<CancelScanResponse>
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
): Promise<CloseScannerResponse>
Ferme le scanner avec le handle transmis et renvoie une promesse qui se résout avec un objet CloseScannerResponse
. Si un rappel est utilisé, l'objet lui est transmis à la place. Même si la réponse n'est pas positive, le handle fourni devient invalide et ne doit pas être utilisé pour d'autres opérations.
Paramètres
- scannerHandle
chaîne
Spécifie le handle d'un scanner ouvert qui a été renvoyé précédemment lors d'un appel à
openScanner
. - callback
function facultatif
Le paramètre
callback
se présente comme suit :(response: CloseScannerResponse) => void
- réponse
-
Renvoie
-
Promise<CloseScannerResponse>
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
): Promise<GetOptionGroupsResponse>
Obtient les noms de groupe et les options de membre à partir d'un scanner précédemment ouvert par openScanner
. Cette méthode renvoie une promesse qui se résout avec un objet GetOptionGroupsResponse
. Si un rappel est transmis à cette fonction, les données renvoyées lui sont transmises à la place.
Paramètres
- scannerHandle
chaîne
Handle d'un scanner ouvert renvoyé par un appel à
openScanner
. - callback
function facultatif
Le paramètre
callback
se présente comme suit :(response: GetOptionGroupsResponse) => void
- réponse
-
Renvoie
-
Promise<GetOptionGroupsResponse>
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
): Promise<GetScannerListResponse>
Récupère la liste des scanners disponibles et renvoie une promesse qui se résout avec un objet GetScannerListResponse
. Si un rappel est transmis à cette fonction, les données renvoyées lui sont transmises à la place.
Paramètres
- filtre
DeviceFilter
indiquant les types de scanners à renvoyer. - callback
function facultatif
Le paramètre
callback
se présente comme suit :(response: GetScannerListResponse) => void
- réponse
-
Renvoie
-
Promise<GetScannerListResponse>
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
): Promise<OpenScannerResponse>
Ouvre un scanner pour un accès exclusif et renvoie une promesse qui se résout avec un objet OpenScannerResponse
. Si un rappel est transmis à cette fonction, les données renvoyées lui sont transmises à la place.
Paramètres
- scannerId
chaîne
ID d'un scanner à ouvrir. Cette valeur est celle renvoyée par un appel précédent à
getScannerList
. - callback
function facultatif
Le paramètre
callback
se présente comme suit :(response: OpenScannerResponse) => void
- réponse
-
Renvoie
-
Promise<OpenScannerResponse>
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
): Promise<ReadScanDataResponse>
Lit le prochain bloc de données d'image disponibles à partir d'un handle de job actif et renvoie une promesse qui se résout avec un objet ReadScanDataResponse
. Si un rappel est utilisé, l'objet lui est transmis à la place.
**Remarque** : Il est possible qu'un résultat de réponse soit SUCCESS
avec un membre data
de longueur nulle. Cela signifie que le scanner fonctionne toujours, mais qu'il n'a pas encore de données supplémentaires à traiter. L'appelant doit patienter quelques instants, puis réessayer.
Une fois le job d'analyse terminé, la réponse aura la valeur de résultat EOF
. Cette réponse peut contenir un membre data
final non nul.
Paramètres
- job
chaîne
Handle de job actif précédemment renvoyé par
startScan
. - callback
function facultatif
Le paramètre
callback
se présente comme suit :(response: ReadScanDataResponse) => void
- réponse
-
Renvoie
-
Promise<ReadScanDataResponse>
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
): Promise<ScanResults>
Effectue une analyse de document et renvoie une promesse qui se résout avec un objet ScanResults
. Si un rappel est transmis à cette fonction, les données renvoyées lui sont transmises à la place.
Paramètres
- options
Objet contenant les paramètres d'analyse.
- callback
function facultatif
Le paramètre
callback
se présente comme suit :(result: ScanResults) => void
- résultat
-
Renvoie
-
Promise<ScanResults>
Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
): Promise<SetOptionsResponse>
Définit les options du scanner spécifié et renvoie une promesse qui se résout avec un objet SetOptionsResponse
contenant le résultat de la tentative de définition de chaque valeur dans l'ordre de l'objet OptionSetting
transmis. Si un rappel est utilisé, l'objet lui est transmis à la place.
Paramètres
- scannerHandle
chaîne
Handle du scanner sur lequel définir les options. Il doit s'agir d'une valeur précédemment renvoyée par un appel à
openScanner
. - options
Liste d'objets
OptionSetting
à appliquer au scanner. - callback
function facultatif
Le paramètre
callback
se présente comme suit :(response: SetOptionsResponse) => void
- réponse
-
Renvoie
-
Promise<SetOptionsResponse>
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
): Promise<StartScanResponse>
Démarre une analyse sur le scanner spécifié et renvoie une promesse qui se résout avec un StartScanResponse
. Si un rappel est utilisé, l'objet lui est transmis à la place. Si l'appel a abouti, la réponse inclut un handle de job qui peut être utilisé dans les appels suivants pour lire les données d'analyse ou annuler une analyse.
Paramètres
- scannerHandle
chaîne
Descripteur d'un scanner ouvert. Il doit s'agir d'une valeur précédemment renvoyée par un appel à
openScanner
. - options
Objet
StartScanOptions
indiquant les options à utiliser pour l'analyse. La propriétéStartScanOptions.format
doit correspondre à l'une des entrées renvoyées dans leScannerInfo
du scanner. - callback
function facultatif
Le paramètre
callback
se présente comme suit :(response: StartScanResponse) => void
- réponse
-
Renvoie
-
Promise<StartScanResponse>
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.