Description
Utilisez l'API chrome.documentScan
pour découvrir et récupérer des images à partir des scanners de documents associés.
L'API Document Scan est conçue pour permettre aux applications et aux extensions d'afficher les le contenu d'un document papier sur un scanner de documents joint.
Autorisations
documentScan
Disponibilité
Concepts et utilisation
Cette API accepte deux méthodes pour scanner des documents. Si votre cas d'utilisation peut fonctionner
avec n'importe quel analyseur et ne nécessite aucun contrôle de la configuration, utilisez
scan()
. Les cas d'utilisation plus complexes
nécessitent une combinaison de méthodes,
qui ne sont compatibles qu'avec Chrome 124 et versions ultérieures.
Numérisation simple
Pour les cas d'utilisation simples, c'est-à-dire ceux qui fonctionnent avec n'importe quel scanner
nécessitent le contrôle de la configuration, appelez scan()
. Cette méthode utilise
ScanOptions
et renvoie une promesse qui se résout avec une ScanResults
. Les capacités de cette option sont limitées au nombre d'analyses
les types MIME qui seront
acceptés par l'appelant. Les analyses sont renvoyées sous forme d'URL
à afficher dans une balise <img>
pour une interface utilisateur.
Analyse complexe
Les analyses complexes sont réalisées en trois phases, comme décrit dans cette section. Cette description ne décrit pas chaque argument de méthode ni chaque propriété renvoyée dans une réponse. Il ne s'agit que de conseils généraux sur l'écriture de code du code source.
Discovery
Appelez
getScannerList()
. Les scanners disponibles sont renvoyées dans une promesse qui se résout avec uneGetScannerListResponse
- L'objet de réponse contient un tableau de
ScannerInfo
d'objets. - Le tableau peut contenir plusieurs entrées pour un même scanner si celui-ci prend en charge plusieurs protocoles ou méthodes de connexion.
- L'objet de réponse contient un tableau de
Sélectionnez un scanner dans le tableau renvoyé et enregistrez la valeur de son
scannerId
.Utiliser les propriétés des objets
ScannerInfo
individuels pour faire la distinction entre plusieurs objets pour un même scanner. Objets du aura la même valeur pour la propriétédeviceUuid
.ScannerInfo
contient également une propriétéimageFormats
contenant un tableau de types d'images pris en charge.
Configuration du scanner
Appelez
openScanner()
en transmettant l'ID de scanner enregistré. Elle renvoie une promesse qui se résout avec unOpenScannerResponse
. L'objet de réponse contient:Une propriété
scannerHandle
, que vous devrez enregistrer.une propriété "options" contenant des propriétés spécifiques à l'analyseur, à définir. Pour en savoir plus, consultez "Récupérer les options d'analyse".
(Facultatif) Si vous souhaitez que l'utilisateur fournit des valeurs pour les options de l'analyseur, créer une interface utilisateur. Vous aurez besoin des options d'analyse fournies par le à l'étape précédente, et vous devrez récupérer les groupes d'options fournis par d'analyse. Pour en savoir plus, consultez Créer une interface utilisateur.
Construire un tableau d'objets
OptionSetting
à l'aide de programmatiques ou fournies par l'utilisateur. Pour en savoir plus, consultez "Définir les options du scanner" des informations.Transmettez le tableau d'objets
OptionSetting
àsetOptions()
pour définir les options de l'outil d'analyse. Il renvoie une promesse qui se résout avec uneSetOptionsResponse
Cet objet contient une version mise à jour des options de l'analyseur récupérées à l'étape 1 de l'analyseur configuration.Depuis le changement peut modifier les contraintes d'une autre option, vous devrez peut-être répéter ces plusieurs fois.
analyses
Construire un objet
StartScanOptions
et le transmettre parstartScan()
. Elle renvoie une promesse qui résout avec unStartScanResponse
. Sa propriétéjob
est un handle que vous utiliserez pour lire les données d'analyse ou annuler l'analyse.Transmettez le handle de tâche à
readScanData()
. Elle renvoie un Une promesse qui se résout avec objetReadScanDataResponse
. Si les données ont été lues avec succès, sa propriétéresult
est égale àSUCCESS
et sa propriétédata
contient unArrayBuffer
avec une partie de l'analyse. Notez queestimatedCompletion
contient une estimation pourcentage du total des données qui ont été livrées jusqu'à présent.Répétez l'étape précédente jusqu'à ce que la propriété
result
soit égale àEOF
ou qu'une erreur soit renvoyée.
Une fois l'analyse terminée, appelez
closeScanner()
avec la poignée du scanner enregistrée à l'étape
3. Elle renvoie une promesse qui se résout avec une
CloseScannerResponse
Appel en cours
cancelScan()
après la création du job
terminer l'analyse.
Objets de réponse
Toutes les méthodes renvoient une promesse qui se résout avec un objet de réponse quelconque.
La plupart d'entre eux contiennent une propriété result
dont la valeur est membre de
OperationResult
Certaines propriétés des objets de réponse
ne contiendra aucune valeur, sauf si la valeur de result
a une valeur spécifique. Ces
sont décrites dans la documentation de référence de chaque objet de réponse.
Par exemple, OpenScannerResponse.scannerHandle
n'a de valeur que si
OpenScannerResponse.result
correspond à SUCCESS
.
Options du scanner
Les options de scanner varient considérablement d'un appareil à l'autre. Par conséquent, il n'est pas possible
reflètent les options du scanner directement dans l'API documentScan. Pour vous déplacer
ceci, le OpenScannerResponse
(récupéré à l'aide de
openScanner()
) et
SetOptionsResponse
(objet de réponse pour
setOptions()
) contient une propriété options
qui est
contenant des options spécifiques à l'analyseur. Chaque option est un mappage clé-valeur
où la clé est une option spécifique à l'appareil et la valeur est une instance de
ScannerOption
La structure se présente généralement comme suit:
{
"key1": { scannerOptionInstance }
"key2": { scannerOptionInstance }
}
Prenons l'exemple d'un outil d'analyse qui renvoie des options nommées "source". et
"résolution". La structure de l'objet options
renvoyé se présente comme suit :
comme dans l'exemple suivant. Pour plus de simplicité, n'utilisez qu'une ScannerOption
partielle.
de réponses s'affichent.
{
"source": {
"name": "source",
"type": OptionType.STRING,
...
},
"resolution": {
"name": "resolution",
"type": OptionType.INT,
...
},
...
}
Créer une interface utilisateur
Bien que cela ne soit pas obligatoire pour utiliser cette API, vous pouvez souhaiter qu'un utilisateur choisisse la valeur
une option particulière. Cette opération nécessite une interface utilisateur. Utilisez les
OpenScannerResponse
(ouvert par
openScanner()
) pour récupérer les options de la clé jointe
comme décrit dans la section précédente.
Certains scanners regroupent les options de manière spécifique à chaque appareil. Ils n'affectent pas les options
mais ces groupes peuvent être mentionnés dans le code produit
documentation, ces groupes
doivent être présentés à l’utilisateur. Vous pouvez les récupérer
des groupes en appelant getOptionGroups()
. Cela renvoie un
Une promesse qui se résout avec
objet GetOptionGroupsResponse
. C'est groups
contient un tableau de groupes spécifique à l'analyseur. Utilisez les informations contenues dans
ces groupes pour organiser les options
OpenScannerResponse
pour l'affichage.
{
scannerHandle: "123456",
result: SUCCESS,
groups: [
{
title: "Standard",
members: [ "resolution", "mode", "source" ]
}
]
}
Comme indiqué dans la section "Configuration du scanner", la modification d'une option peut modifier les contraintes
sur une autre option. C'est pourquoi
setOptionsResponse
(objet de réponse pour
setOptions()
) contient une autre propriété options
. Utilisez
pour mettre à jour
l'interface utilisateur. Répétez ensuite l'opération autant de fois que nécessaire jusqu'à ce que toutes les options soient
défini.
Définir les options du scanner
Définissez les options de l'analyseur en transmettant un tableau de
des objets OptionSetting
pour
setOptions()
Pour obtenir un exemple, consultez la section Analyser une page au format lettre.
Exemples
Récupérer une page sous forme de blob
Cet exemple présente une façon de récupérer une page du scanner sous la forme d'un blob.
illustre l'utilisation de startScan()
et readScanData()
avec la valeur de
OperationResult
async function pageAsBlob(handle) {
let response = await chrome.documentScan.startScan(
handle, {format: "image/jpeg"});
if (response.result != chrome.documentScan.OperationResult.SUCCESS) {
return null;
}
const job = response.job;
let imgParts = [];
response = await chrome.documentScan.readScanData(job);
while (response.result == chrome.documentScan.OperationResult.SUCCESS) {
if (response.data && response.data.byteLength > 0) {
imgParts.push(response.data);
} else {
// Delay so hardware can make progress.
await new Promise(r => setTimeout(r, 100));
}
response = await chrome.documentScan.readScanData(job);
}
if (response.result != chrome.documentScan.OperationResult.EOF) {
return null;
}
if (response.data && response.data.byteLength > 0) {
imgParts.push(response.data);
}
return new Blob(imgParts, { type: "image/jpeg" });
}
Scanner une page au format lettre
Cet exemple montre comment sélectionner un scanner, définir ses options et l'ouvrir. Il
puis récupère le contenu d'une seule page
et ferme l'analyse. Ce processus
montre comment utiliser getScannerList()
, openScanner()
, setOptions()
et
closeScanner()
Notez que le contenu de la page est récupéré en appelant
la fonction pageAsBlob()
de l'exemple précédent.
async function scan() {
let response = await chrome.documentScan.getScannerList({ secure: true });
let scanner = await chrome.documentScan.openScanner(
response.scanners[0].scannerId);
const handle = scanner.scannerHandle;
let options = [];
for (source of scanner.options["source"].constraint.list) {
if (source.includes("ADF")) {
options.push({
name: "source",
type: chrome.documentScan.OptionType.STRING,
value: { value: source }
});
break;
}
}
options.push({
name: "tl-x",
type: chrome.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-x",
type: chrome.documentScan.OptionType.FIXED,
value: 215.9 // 8.5" in mm
});
options.push({
name: "tl-y",
type: chrome.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-y",
type: chrome.documentScan.OptionType.FIXED,
value: 279.4 // 11" in mm
});
response = await chrome.documentScan.setOptions(handle, options);
let imgBlob = await pageAsBlob(handle);
if (imgBlob != null) {
// Insert imgBlob into DOM, save to disk, etc
}
await chrome.documentScan.closeScanner(handle);
}
Afficher la configuration
Comme indiqué ailleurs, présenter les options de configuration
d'un analyseur à un utilisateur nécessite
appeler getOptionGroups()
en plus des options d'analyse renvoyées par un
à openScanner()
. Ainsi, les options peuvent
être présentées aux utilisateurs dans
groupes définis par le fabricant. Cet exemple montre comment procéder.
async function showConfig() {
let response = await chrome.documentScan.getScannerList({ secure: true });
let scanner = await chrome.documentScan.openScanner(
response.scanners[0].scannerId);
let groups = await chrome.documentScan.getOptionGroups(scanner.scannerHandle);
for (const group of groups.groups) {
console.log("=== " + group.title + " ===");
for (const member of group.members) {
const option = scanner.options[member];
if (option.isActive) {
console.log(" " + option.name + " = " + option.value);
} else {
console.log(" " + option.name + " is inactive");
}
}
}
}
Types
CancelScanResponse
Propriétés
-
job
chaîne
Fournit le même identifiant de tâche que celui transmis à
cancelScan()
. -
résultat
Résultat de l'analyse d'annulation du backend. Si le résultat est
OperationResult.SUCCESS
ouOperationResult.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 estOperationResult.DEVICE_BUSY
, cela signifie que l'outil d'analyse traite toujours l'annulation demandée. l'appelant doit attendre quelques instants avant de relancer la requête. D'autres valeurs de résultats indiquent une erreur permanente qui ne doit pas faire l'objet d'une nouvelle tentative.
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 doit pas être utilisé pour d'autres opérations. -
scannerHandle
chaîne
Le même identifiant d'analyse que celui transmis à
closeScanner
.
Configurability
Manière dont une option peut être modifiée.
Énumération
"NOT_CONFIGURABLE"
L'option est en lecture seule.
"SOFTWARE_CONFIGURABLE"
L'option peut être définie dans un logiciel.
"HARDWARE_CONFIGURABLE"
L'utilisateur peut activer ou désactiver un bouton du scanner pour définir cette option.
ConnectionType
Indique comment le scanner est connecté à l'ordinateur.
Énumération
"UNSPECIFIED"
"USB"
"RÉSEAU"
ConstraintType
Type de données d'une contrainte représentée par un OptionConstraint
.
Énumération
"INT_RANGE"
Contrainte appliquée à 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 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
Propriétés
-
local
Booléen facultatif
Ne renvoyez que les scanners directement connectés à l'ordinateur.
-
sécurisé
Booléen facultatif
Renvoyez uniquement les scanners qui utilisent un transport sécurisé, comme USB ou TLS.
GetOptionGroupsResponse
Propriétés
-
groupes
OptionGroup[] facultatif
Si
result
est défini surSUCCESS
, fournit une liste de groupes d'options dans l'ordre fourni par le pilote de l'outil d'analyse. -
résultat
Résultat de l'obtention des groupes d'options. Si la valeur de cet élément est
SUCCESS
, la propriétégroups
sera renseignée. -
scannerHandle
chaîne
Le même identifiant d'analyse 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 cela indique une erreur.
-
scanners
Liste éventuellement vide d'analyseurs correspondant au
DeviceFilter
fourni.
OpenScannerResponse
Propriétés
-
options
objet facultatif
Si
result
est défini surSUCCESS
, fournit un mappage clé-valeur dans lequel 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 de cet élément est
SUCCESS
, les propriétésscannerHandle
etoptions
seront renseignées. -
scannerHandle
chaîne facultatif
Si
result
est défini surSUCCESS
, il s'agit d'un handle vers l'analyseur qui peut être utilisé pour d'autres opérations. -
scannerId
chaîne
ID du scanner transmis à
openScanner()
.
OperationResult
Une énumération qui indique 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.
"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"
Le type de données de la valeur fournie est incorrect pour l'option sous-jacente.
"EOF"
Aucune donnée disponible.
"ADF_JAMMED"
Le chargeur de document est bloqué.
"ADF_EMPTY"
Le chargeur de document est vide.
"COVER_OPEN"
Le rabat plat 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"
La mémoire disponible sur le Chromebook est insuffisante pour effectuer l'opération.
"UNREACHABLE"
L'appareil n'est pas joignable.
"MANQUANT"
L'appareil est déconnecté.
"INTERNAL_ERROR"
Une erreur autre que l'application appelante s'est produite.
OptionConstraint
Propriétés
-
list
string[] | number[] facultatif
-
max
numéro facultatif
-
min
numéro facultatif
-
Quant
numéro facultatif
-
type
OptionGroup
Propriétés
-
membres
chaîne[]
Tableau de noms d'options dans l'ordre fourni par le conducteur.
-
titre
chaîne
Indique 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 | numéro | boolean | number[] facultatif
Indique la valeur à définir. Ne la configurez pas afin de 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
est définie sur true
false.
"INT"
Entier signé de 32 bits. La propriété value
sera longue ou longue[], 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 de n'importe quels octets, à l'exception de NUL ('\0'). La propriété value
sera une DOMString.
"BOUTON"
Une option de ce type n'a aucune valeur. En revanche, la définition d'une option de ce type entraîne un effet secondaire spécifique à l'option dans le pilote de l'outil d'analyse. Par exemple, une option de type bouton peut être utilisée par un pilote de scanner pour fournir un moyen 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 sera normalement pas renvoyé dans les valeurs ScannerOption
. Utilisez getOptionGroups()
pour récupérer la liste des groupes avec leurs options de membre.
Énumération
"UNITLESS"
La valeur est un nombre sans unité. Il peut s'agir, par exemple, 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 (dimensions du scan, par exemple).
"DPI"
La valeur est mesurée en points par pouce (par exemple, résolution).
"PERCENT"
La valeur est un pourcentage (par exemple, la luminosité).
"MICROSECOND"
La valeur est mesurée en microsecondes (par exemple, la durée d'exposition).
ReadScanDataResponse
Propriétés
-
données
ArrayBuffer facultatif
Si
result
est défini surSUCCESS
, contient le fragment suivant des données d'image analysées. Siresult
est défini surEOF
, contient le dernier fragment des données d'image analysées. -
estimatedCompletion
numéro facultatif
Si la valeur de
result
estSUCCESS
, il s'agit d'une estimation de la quantité totale de données d'analyse livrée jusqu'à présent, 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
,data
contient le fragment prochain (éventuellement de longueur nulle) de données d'image prêt à être lu. Si sa valeur estEOF
,data
contient le dernier fragment 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 des types MIME pouvant être demandés pour les analyses renvoyées.
-
fabricant
chaîne
Fabricant du scanner.
-
modèle
chaîne
Modèle d'analyse (s'il est disponible) ou description générique.
-
nom
chaîne
Nom lisible que l'outil d'analyse affichera dans l'interface utilisateur.
-
protocolType
chaîne
Description lisible du protocole ou du pilote utilisé pour accéder à l'outil d'analyse (Mopria, WSD ou epsonds, par exemple). Cela est principalement utile pour permettre à un utilisateur de choisir entre différents protocoles si un appareil est compatible avec plusieurs protocoles.
-
scannerId
chaîne
Identifiant d'un scanner spécifique.
-
sécurisé
booléen
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
Propriétés
-
configurabilité
Indique si l'option peut être modifiée et comment.
-
contrainte
OptionConstraint facultatif
Définit
OptionConstraint
sur l'option d'analyse actuelle. -
description
chaîne
Description plus détaillée 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'interface utilisateur ne doit pas afficher cette option par défaut.
-
isAutoSettable
booléen
Peuvent être définis automatiquement par le pilote du scanner.
-
isDetectable
booléen
Indique que cette option peut être détectée à partir d'un logiciel.
-
isEmulated
booléen
Émulé par le pilote du scanner si la valeur est "true".
-
nom
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.
-
titre
chaîne
Titre imprimable en 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 | numéro | 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
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 "src" en tag d'image.
-
mimeType
chaîne
Type MIME du
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
objet facultatif
Un mappage clé-valeur mis à jour des noms d'options vers les valeurs
ScannerOption
contenant la nouvelle configuration après avoir tenté de définir toutes les options fournies. Elle présente la même structure que la propriétéoptions
dansOpenScannerResponse
.Cette propriété sera définie même si certaines options n'ont pas pu être définies, mais ne sera pas définie si la récupération de la configuration mise à jour échoue (par exemple, si l'outil d'analyse est déconnecté en cours d'analyse).
-
résultats
Tableau de résultats, un pour chaque
OptionSetting
transmis. -
scannerHandle
chaîne
Fournit le handle d'analyse transmis à
setOptions()
.
StartScanOptions
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és 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 aussi grande que l'ensemble de l'image analysée.
StartScanResponse
Propriétés
-
job
chaîne facultatif
Si
result
est défini surSUCCESS
, fournit un handle qui peut être utilisé pour lire les données d'analyse ou annuler la tâche. -
résultat
Résultat du lancement d'une analyse. Si la valeur de cet élément est
SUCCESS
, la propriétéjob
sera renseignée. -
scannerHandle
chaîne
Fournit le même identifiant d'analyse que celui transmis à
startScan()
.
Méthodes
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
)
Annule une analyse en cours 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é par un appel à
startScan
. -
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(response: CancelScanResponse) => void
-
réponse
-
Renvoie
-
Promise<CancelScanResponse>
Les promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
closeScanner()
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, le handle 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
function facultatif
Le paramètre
callback
se présente comme suit:(response: CloseScannerResponse) => void
-
réponse
-
Renvoie
-
Promise<CloseScannerResponse>
Les promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
)
Récupère les noms de groupe et les options de membres à partir d'une analyse précédemment ouverte 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.
Paramètres
-
scannerHandle
chaîne
Identifiant d'un outil d'analyse ouvert renvoyé par un appel à
openScanner
. -
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(response: GetOptionGroupsResponse) => void
-
réponse
-
Renvoie
-
Promise<GetOptionGroupsResponse>
Les promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
)
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.
Paramètres
-
filtre
Un
DeviceFilter
indiquant les types d'analyseurs à renvoyer. -
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(response: GetScannerListResponse) => void
-
réponse
-
Renvoie
-
Promise<GetScannerListResponse>
Les promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
)
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.
Paramètres
-
scannerId
chaîne
Identifiant d'un scanner à ouvrir. Cette valeur est renvoyée par un appel précédent à
getScannerList
. -
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(response: OpenScannerResponse) => void
-
réponse
-
Renvoie
-
Promise<OpenScannerResponse>
Les promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
readScanData()
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 possible qu'un résultat de réponse soit 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 prêtes. L'appelant doit attendre quelques instants avant de réessayer.
Une fois la tâche d'analyse terminée, la réponse renvoie la valeur EOF
. Cette réponse peut contenir un membre data
final non nul.
Paramètres
-
job
chaîne
Poignée de tâche active précédemment renvoyée par
startScan
. -
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(response: ReadScanDataResponse) => void
-
réponse
-
Renvoie
-
Promise<ReadScanDataResponse>
Les promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
scan()
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.
Paramètres
-
options
Objet contenant des paramètres d'analyse.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: ScanResults) => void
-
résultat
-
Renvoie
-
Promise<ScanResults>
Chrome 96 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
)
Définit les options de 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 de l'analyseur sur laquelle définir les options. Il doit s'agir d'une valeur précédemment renvoyée par un appel à
openScanner
. -
options
Liste des objets
OptionSetting
à appliquer à l'outil d'analyse. -
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(response: SetOptionsResponse) => void
-
réponse
-
Renvoie
-
Promise<SetOptionsResponse>
Les promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
)
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 réussi, la réponse inclut un handle de tâche qui peut être utilisé dans les appels suivants pour lire des données d'analyse ou annuler une analyse.
Paramètres
-
scannerHandle
chaîne
La poignée 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 le fichierScannerInfo
de l'outil d'analyse. -
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(response: StartScanResponse) => void
-
réponse
-
Renvoie
-
Promise<StartScanResponse>
Les promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.