chrome.documentScan

Description

Utilisez l'API chrome.documentScan pour découvrir et récupérer des images à partir des scanners de documents connectés.

Autorisations

documentScan

Garantie de disponibilité

Chrome 44 et versions ultérieures ChromeOS uniquement

API Document Scan

L'API Document Scan est conçue pour permettre aux applications et aux extensions d'afficher le contenu de documents papier sur un scanner de documents connecté.

Types

CancelScanResponse

Chrome 125 et versions ultérieures

Propriétés

  • job

    chaîne

    Fournit le même identifiant de tâche que celui transmis à cancelScan().

  • résultat

    Résultat de l'annulation de l'analyse du backend. Si le résultat est OperationResult.SUCCESS ou OperationResult.CANCELLED, cela signifie que l'analyse a été annulée et que le scanner est prêt à en lancer une nouvelle. Si le résultat est OperationResult.DEVICE_BUSY , l'outil d'analyse est encore en train de traiter l'annulation demandée. L'appelant doit attendre un court instant avant de réessayer. Les autres valeurs de résultat indiquent une erreur permanente qui ne doit pas être relancée.

CloseScannerResponse

Chrome 125 et versions ultérieures

Propriétés

  • résultat

    Résultat de la fermeture du scanner. Même si cette valeur n'est pas SUCCESS, l'identifiant ne sera pas valide et ne doit pas être utilisé pour d'autres opérations.

  • scannerHandle

    chaîne

    Le même handle d'analyse que celui transmis à closeScanner

Configurability

Chrome 125 et versions ultérieures

Modalités de modification d'une option

Enum

"NOT_CONFIGURABLE"
L'option est en lecture seule.

"LOGICIEL_CONFIGURABLE"
L'option peut être définie dans le logiciel.

"HARDWARE_CONFIGURABLE"
L'option peut être définie en appuyant sur un bouton du scanner ou en activant l'option.

ConnectionType

Chrome 125 et versions ultérieures

Indique comment le scanner est connecté à l'ordinateur.

Enum

"UNSPECIFIED" (NON SPÉCIFIÉ)

"USB"

ConstraintType

Chrome 125 et versions ultérieures

Type de données de la contrainte représenté par un élément OptionConstraint.

Enum

"INT_RANGE"
Contrainte appliquée à une plage de valeurs OptionType.INT. Les propriétés min, max et quant de OptionConstraint seront définies sur long, et sa propriété list ne sera pas définie.

"FIXED_RANGE"
Contrainte appliquée à 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 appliquée à 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 appliquée à 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 appliquée à 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

Chrome 125 et versions ultérieures

Propriétés

  • local

    Booléen facultatif

    Ne renvoyez que les scanners directement branchés à l'ordinateur.

  • sécurisé

    Booléen facultatif

    Ne renvoyez que les scanners utilisant un transport sécurisé, comme USB ou TLS.

GetOptionGroupsResponse

Chrome 125 et versions ultérieures

Propriétés

  • groupes

    OptionGroup[] facultatif

    Si result est défini sur SUCCESS, fournit une liste de groupes d'options dans l'ordre fourni par le pilote du scanner.

  • résultat

    Résultat obtenu avec les groupes d'options. Si la valeur est SUCCESS, la propriété groups est renseignée.

  • scannerHandle

    chaîne

    Le même handle d'analyse que celui transmis à getOptionGroups

GetScannerListResponse

Chrome 125 et versions ultérieures

Propriétés

  • résultat

    Résultat de l'énumération. Notez que des résultats partiels peuvent être renvoyés, même si cela indique une erreur.

  • scanners

    Liste peut-être vide d'analyseurs correspondant au DeviceFilter fourni.

OpenScannerResponse

Chrome 125 et versions ultérieures

Propriétés

  • options

    objet facultatif

    Si result est défini sur SUCCESS, fournit un mappage clé-valeur où la clé est une option spécifique à l'appareil et la valeur une instance de ScannerOption.

  • résultat

    Résultat de l'ouverture du scanner. Si la valeur est SUCCESS, les propriétés scannerHandle et options sont renseignées.

  • scannerHandle

    string facultatif

    Si result est défini sur SUCCESS, un handle vers l'outil d'analyse peut être utilisé pour d'autres opérations.

  • scannerId

    chaîne

    ID de scanner transmis à openScanner().

OperationResult

Chrome 125 et versions ultérieures

Énumération indiquant le résultat de chaque opération.

Enum

"UNKNOWN"
Une erreur inconnue ou générique s'est produite.

"SUCCÈS"
L'opération a réussi.

"UNSUPPORTED"
L'opération n'est pas prise en charge.

"CANCELLED"
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 ne correspond pas au type de données de l'option sous-jacente.

"EOF"
Plus de données disponibles.

"ADF_JAMMED"
Le chargeur de document est bloqué.

"ADF_EMPTY"
Le chargeur de document est vide.

"COVER_OPEN"
Le rabat du plateau est ouvert.

"IO_ERROR"
Une erreur s'est produite lors de la communication avec l'appareil.

"ACCESS_DENIED"
L'appareil requiert une authentification.

"NO_MEMORY"
Le Chromebook ne dispose pas de suffisamment de mémoire pour effectuer l'opération.

"UNREACHABLE"
L'appareil n'est pas accessible.

"MISSING"
L'appareil est déconnecté.

"INTERNAL_ERROR"
Une erreur s'est produite ailleurs que dans l'application appelante.

OptionConstraint

Chrome 125 et versions ultérieures

Propriétés

  • list

    string[]|number[] optional

  • max

    numéro facultatif

  • min

    numéro facultatif

  • quantifier

    numéro facultatif

OptionGroup

Chrome 125 et versions ultérieures

Propriétés

  • membres

    chaîne[]

    Tableau de noms d'options dans l'ordre fourni par le conducteur.

  • title

    chaîne

    Fournit un titre imprimable, par exemple "Options de géométrie".

OptionSetting

Chrome 125 et versions ultérieures

Propriétés

  • name

    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[] optional

    Indique la valeur à définir. Ne configurez pas ce paramètre afin de demander le paramètre automatique pour les options où autoSettable est activé. Le type de données fourni pour value doit correspondre à type.

OptionType

Chrome 125 et versions ultérieures

Type de données d'une option.

Enum

"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 aura la valeur truefalse.

"INT"
Un entier signé de 32 bits. La propriété value sera longue ou longue[], selon que l'option accepte plusieurs valeurs ou non.

"FIXED"
Un double de 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 sont arrondies à la plage et à la précision disponibles.

"STRING"
Séquence de tous les octets, à l'exception de NUL ("\0"). La propriété value sera une chaîne DOMString.

"BOUTON"
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 de sélectionner des valeurs par défaut ou pour indiquer à un chargeur de document automatique de passer à la feuille de papier suivante.

"GROUP"
Option de regroupement. Aucune valeur. Cet élément est inclus pour des raisons de compatibilité, mais il ne s'affiche normalement pas dans les valeurs ScannerOption. Utilisez getOptionGroups() pour récupérer la liste des groupes avec leurs options de membres.

OptionUnit

Chrome 125 et versions ultérieures

Indique le type de données pour ScannerOption.unit.

Enum

"UNITLESS"
La valeur est un nombre sans unité. Il peut s'agir d'un seuil, par exemple.

"PIXEL"
La valeur est un nombre de pixels, par exemple les dimensions de l'analyse.

"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 balayage.

"PPP"
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 se mesure en microsecondes, par exemple le temps d'exposition.

ReadScanDataResponse

Chrome 125 et versions ultérieures

Propriétés

  • données

    ArrayBuffer facultatif

    Si result est défini sur SUCCESS, contient le fragment prochain de données d'image analysées. Si result est défini sur EOF, il contient le dernier fragment de données d'image analysées.

  • estimatedCompletion

    numéro facultatif

    Si result est défini sur SUCCESS, il s'agit d'une estimation de la quantité totale de données d'analyse déjà livrée (comprise entre 0 et 100).

  • job

    chaîne

    Fournit le handle de tâche transmis à readScanData().

  • résultat

    Résultat de la lecture des données. Si sa valeur est SUCCESS, alors data contient le prochain fragment de données d'image (peut-être de longueur nulle) prêt à être lu. Si sa valeur est EOF, data contient le dernier fragment de données d'image.

ScannerInfo

Chrome 125 et versions ultérieures

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 des types MIME pouvant être demandés pour les analyses renvoyées.

  • fabricant

    chaîne

    Fabricant du scanner.

  • model

    chaîne

    Le modèle de l'analyseur (s'il est disponible) ou une description générique.

  • name

    chaîne

    Nom lisible de l'analyseur à afficher dans l'UI.

  • protocolType

    chaîne

    Description lisible du protocole ou du pilote utilisé pour accéder au scanner (Mopria, WSD ou epsonds). Cela est particulièrement utile pour permettre à un utilisateur de choisir entre les protocoles si son appareil est compatible avec plusieurs protocoles.

  • scannerId

    chaîne

    Identifiant d'un scanner spécifique.

  • sécurisé

    boolean

    Si la valeur est "true", le transport de la connexion du scanner ne peut pas être intercepté par un écouteur passif, tel que TLS ou USB.

ScannerOption

Chrome 125 et versions ultérieures

Propriétés

  • configurabilité

    Indique si l'option peut être modifiée et comment.

  • contrainte

    OptionConstraint facultatif

    Définit OptionConstraint pour l'option d'analyse actuelle.

  • description

    chaîne

    Description plus longue de l'option.

  • isActive

    boolean

    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 n'est pas définie.

  • isAdvanced

    boolean

    Indique que l'interface utilisateur ne doit pas afficher cette option par défaut.

  • isAutoSettable

    boolean

    Peut être automatiquement défini par le pilote du scanner.

  • isDetectable

    boolean

    Indique que cette option peut être détectée à partir du logiciel.

  • isEmulated

    boolean

    Émulé par le pilote du scanner si "true".

  • name

    chaîne

    Nom de l'option composé de lettres ASCII minuscules, de chiffres et de tirets. Les caractères diacritiques ne sont pas autorisés.

  • title

    chaîne

    Titre d'une ligne imprimable.

  • 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[] optional

    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

    numéro facultatif

    Nombre d'images numérisées autorisé. 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" à une balise d'image.

  • mimeType

    chaîne

    Type MIME du dataUrls.

SetOptionResult

Chrome 125 et versions ultérieures

Propriétés

  • name

    chaîne

    Indique le nom de l'option qui a été définie.

  • résultat

    Indique le résultat de la définition de l'option.

SetOptionsResponse

Chrome 125 et versions ultérieures

Propriétés

  • options

    objet facultatif

    Mise à jour du mappage de clé-valeur entre les noms d'option et les valeurs ScannerOption contenant la nouvelle configuration après la tentative de définition de toutes les options fournies. La structure est identique à celle de la propriété options dans OpenScannerResponse.

    Cette propriété sera définie même si certaines options n'ont pas été définies correctement, mais elle sera désactivée en cas d'échec de la récupération de la configuration mise à jour (par exemple, si l'analyseur est déconnecté en cours d'analyse).

  • résultats

    Tableau de résultats, un pour chaque valeur OptionSetting transmise.

  • scannerHandle

    chaîne

    Fournit le handle d'analyse transmis à setOptions().

StartScanOptions

Chrome 125 et versions ultérieures

Propriétés

  • format

    chaîne

    Spécifie le type MIME dans lequel renvoyer les données analysées.

  • maxReadSize

    numéro facultatif

    Si une valeur non nulle est spécifiée, limite le nombre maximal d'octets analysés renvoyé dans une seule réponse readScanData à cette valeur. 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 fragment renvoyé peut être égale à l'intégralité de l'image analysée.

StartScanResponse

Chrome 125 et versions ultérieures

Propriétés

  • job

    string facultatif

    Si result est défini sur SUCCESS, fournit un identifiant pouvant être utilisé pour lire les données d'analyse ou annuler la tâche.

  • résultat

    Résultat du démarrage d'une analyse. Si la valeur est SUCCESS, la propriété job est renseignée.

  • scannerHandle

    chaîne

    Fournit le même identifiant d'analyse que celui transmis à startScan().

Méthodes

cancelScan()

Promesse Chrome 125 et versions ultérieures
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

Annule une analyse lancée 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

    Identifiant d'une tâche d'analyse active précédemment renvoyée par un appel à startScan.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (response: CancelScanResponse)=>void

Renvoie

  • Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

closeScanner()

Promesse Chrome 125 et versions ultérieures
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

Ferme l'analyseur avec la poignée transmise 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 échoue, l'identifiant fourni devient non valide et ne doit pas être utilisé pour d'autres opérations.

Paramètres

  • scannerHandle

    chaîne

    Spécifie le handle d'un scanner ouvert précédemment renvoyé par un appel à openScanner.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (response: CloseScannerResponse)=>void

Renvoie

  • Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getOptionGroups()

Promesse Chrome 125 et versions ultérieures
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)

Récupère les noms des groupes et les options des membres à partir d'un outil d'analyse 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

Renvoie

  • Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getScannerList()

Promesse Chrome 125 et versions ultérieures
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

Récupère la liste des analyseurs 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

Renvoie

  • Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

openScanner()

Promesse Chrome 125 et versions ultérieures
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

Ouvre un outil d'analyse 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

    Identifiant d'un scanner à ouvrir. Cette valeur est renvoyée par un appel précédent à getScannerList.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (response: OpenScannerResponse)=>void

Renvoie

  • Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

readScanData()

Promesse Chrome 125 et versions ultérieures
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

Lit le fragment de données d'image suivant à partir d'un handle de tâche actif, puis 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 valide pour un résultat de réponse d'être SUCCESS avec un membre data de longueur nulle. Cela signifie que l'outil d'analyse fonctionne toujours, mais qu'il n'a pas encore de données supplémentaires. L'appelant doit patienter quelques instants avant de réessayer.

Une fois la tâche d'analyse terminée, la réponse prend la valeur de résultat EOF. Cette réponse peut contenir un membre data final différent de zéro.

Paramètres

Renvoie

  • Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

scan()

Promesse
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)

Effectue une analyse du 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 des paramètres d'analyse.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (result: ScanResults)=>void

Renvoie

  • Promise<ScanResults>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

setOptions()

Promesse Chrome 125 et versions ultérieures
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)

Définit des options sur l'analyseur 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

    Poignée du scanner sur laquelle 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 à l'outil d'analyse.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (response: SetOptionsResponse)=>void

Renvoie

  • Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

startScan()

Promesse Chrome 125 et versions ultérieures
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)

Lance une analyse sur l'outil d'analyse spécifié et renvoie une promesse qui se résout avec un élément 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

    Poignée d'un scanner ouvert. Il doit s'agir d'une valeur précédemment renvoyée par un appel à openScanner.

  • Objet StartScanOptions indiquant les options à utiliser pour l'analyse. La propriété StartScanOptions.format doit correspondre à l'une des entrées renvoyées dans le ScannerInfo de l'outil d'analyse.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (response: StartScanResponse)=>void

Renvoie

  • Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.