Descrizione
Utilizza l'API chrome.documentScan per rilevare e recuperare immagini dagli scanner di documenti collegati.
L'API Document Scan è progettata per consentire ad app ed estensioni di visualizzare i contenuti dei documenti cartacei su uno scanner per documenti collegato.
Autorizzazioni
documentScanDisponibilità
Concetti e utilizzo
Questa API supporta due metodi di scansione dei documenti. Se il tuo caso d'uso può funzionare con qualsiasi scanner e non richiede il controllo della configurazione, utilizza il metodo scan(). I casi d'uso più complessi richiedono una combinazione di metodi, supportati solo in Chrome 124 e versioni successive.
Scansione semplice
Per casi d'uso semplici, ovvero quelli che possono funzionare con qualsiasi scanner e non richiedono il controllo della configurazione, chiama scan(). Questo metodo accetta un oggetto ScanOptions e restituisce una promessa che si risolve con un oggetto ScanResults. Le funzionalità di questa opzione sono limitate al numero di scansioni e ai tipi MIME che verranno accettati dal chiamante. Le scansioni vengono restituite come URL per la visualizzazione in un tag <img> per un'interfaccia utente.
Scansione complessa
Le scansioni complesse vengono eseguite in tre fasi, come descritto in questa sezione. Questo schema non descrive ogni argomento del metodo o ogni proprietà restituita in una risposta. Lo scopo è solo quello di fornire una guida generale per la scrittura del codice dello scanner.
Discovery
Chiama
getScannerList(). Gli scanner disponibili vengono restituiti in una Promise che si risolve con unGetScannerListResponse.- L'oggetto di risposta contiene un array di oggetti
ScannerInfo. - L'array può contenere più voci per un singolo scanner se questo supporta più protocolli o metodi di connessione.
- L'oggetto di risposta contiene un array di oggetti
Seleziona uno scanner dall'array restituito e salva il valore della relativa proprietà
scannerId.Utilizza le proprietà dei singoli oggetti
ScannerInfoper distinguere tra più oggetti per lo stesso scanner. Gli oggetti dello stesso scanner avranno lo stesso valore per la proprietàdeviceUuid.ScannerInfocontiene anche una proprietàimageFormatscontenente un array di tipi di immagini supportati.
Configurazione dello scanner
Chiama
openScanner(), passando l'ID scanner salvato. Restituisce una promessa che si risolve con unOpenScannerResponse. L'oggetto di risposta contiene:Una proprietà
scannerHandle, che dovrai salvare.Una proprietà options contenente proprietà specifiche dello scanner, che dovrai impostare. Per saperne di più, consulta Recupera le opzioni dello scanner.
(Facoltativo) Se l'utente deve fornire valori per le opzioni dello scanner, crea un'interfaccia utente. Avrai bisogno delle opzioni dello scanner fornite dal passaggio precedente e dovrai recuperare i gruppi di opzioni forniti dallo scanner. Per saperne di più, consulta Crea un'interfaccia utente.
Crea un array di oggetti
OptionSettingutilizzando valori programmatici o forniti dall'utente. Per saperne di più, consulta Imposta le opzioni dello scanner.Passa l'array di oggetti
OptionSettingasetOptions()per impostare le opzioni per lo scanner. Restituisce una promessa che si risolve con unSetOptionsResponse. Questo oggetto contiene una versione aggiornata delle opzioni dello scanner recuperate nel passaggio 1 della configurazione dello scanner.Poiché la modifica di un'opzione può alterare i vincoli di un'altra opzione, potrebbe essere necessario ripetere questi passaggi più volte.
Analisi in corso
Crea un oggetto
StartScanOptionse passalo astartScan(). Restituisce una Promise che si risolve con unStartScanResponse. La sua proprietàjobè un handle che utilizzerai per leggere i dati della scansione o annullarla.Passa l'handle del job a
readScanData(). Restituisce una Promise che si risolve con un oggettoReadScanDataResponse. Se i dati sono stati letti correttamente, la proprietàresultè uguale aSUCCESSe la proprietàdatacontiene unArrayBuffercon parte della scansione. Tieni presente cheestimatedCompletioncontiene una percentuale stimata dei dati totali inviati finora.Ripeti il passaggio precedente finché la proprietà
resultnon è uguale aEOFo non si verifica un errore.
Quando viene raggiunta la fine della scansione, chiama closeScanner() con l'handle dello scanner salvato nel passaggio 3. Restituisce una promessa che si risolve con un
CloseScannerResponse. La chiamata di cancelScan() in qualsiasi momento dopo la creazione del job interromperà la scansione.
Oggetti di risposta
Tutti i metodi restituiscono una Promise che si risolve con un oggetto di risposta di qualche tipo.
La maggior parte di questi contiene una proprietà result il cui valore è un membro di OperationResult. Alcune proprietà degli oggetti di risposta non conterranno valori, a meno che il valore di result non abbia un valore specifico. Queste relazioni sono descritte nel riferimento per ogni oggetto di risposta.
Ad esempio, OpenScannerResponse.scannerHandle avrà un valore solo quando OpenScannerResponse.result è uguale a SUCCESS.
Opzioni dello scanner
Le opzioni dello scanner variano notevolmente in base al dispositivo. Di conseguenza, non è possibile riflettere le opzioni dello scanner direttamente nell'API documentScan. Per aggirare questo problema, OpenScannerResponse (recuperato utilizzando openScanner()) e SetOptionsResponse (l'oggetto di risposta per setOptions()) contengono una proprietà options, ovvero un oggetto contenente opzioni specifiche per lo scanner. Ogni opzione è una mappatura chiave-valore in cui la chiave è un'opzione specifica del dispositivo e il valore è un'istanza di ScannerOption.
La struttura è generalmente la seguente:
{
"key1": { scannerOptionInstance }
"key2": { scannerOptionInstance }
}
Ad esempio, immagina uno scanner che restituisce opzioni denominate "source" e "resolution". La struttura dell'oggetto options restituito sarà simile al seguente esempio. Per semplicità, vengono mostrate solo risposte ScannerOption parziali.
{
"source": {
"name": "source",
"type": OptionType.STRING,
...
},
"resolution": {
"name": "resolution",
"type": OptionType.INT,
...
},
...
}
Costruisci un'interfaccia utente
Anche se non è obbligatorio per utilizzare questa API, potresti voler consentire a un utente di scegliere il valore per un'opzione specifica. Ciò richiede un'interfaccia utente. Utilizza
OpenScannerResponse (aperto da
openScanner()) per recuperare le opzioni per lo scanner
collegato, come descritto nella sezione precedente.
Alcuni scanner raggruppano le opzioni in modi specifici per il dispositivo. Non influiscono sui comportamenti delle opzioni, ma poiché questi gruppi potrebbero essere menzionati nella documentazione del prodotto di uno scanner, devono essere mostrati all'utente. Puoi recuperare questi gruppi chiamando getOptionGroups(). Viene restituita una
Promise che si risolve con un
oggetto GetOptionGroupsResponse. La sua proprietà groups contiene un array di gruppi specifico per lo scanner. Utilizza le informazioni di questi gruppi per organizzare le opzioni in OpenScannerResponse per la visualizzazione.
{
scannerHandle: "123456",
result: SUCCESS,
groups: [
{
title: "Standard",
members: [ "resolution", "mode", "source" ]
}
]
}
Come indicato in Configurazione dello scanner, la modifica di un'opzione può alterare i vincoli di un'altra opzione. Ecco perché setOptionsResponse (l'oggetto di risposta per setOptions()) contiene un'altra proprietà options. Utilizzalo per aggiornare l'interfaccia utente. Poi ripeti l'operazione in base alle necessità fino a quando non sono state impostate tutte le opzioni.
Imposta le opzioni dello scanner
Imposta le opzioni dello scanner passando un array di oggetti OptionSetting a setOptions(). Per un esempio, consulta la sezione Scansiona una singola pagina in formato Letter di seguito.
Esempi
Recupera una pagina come blob
Questo esempio mostra un modo per recuperare una pagina dallo scanner come blob e dimostra l'utilizzo di startScan() e readScanData() utilizzando il valore di OperationResult.
async function pageAsBlob(handle) {
let response = await browser.documentScan.startScan(
handle, {format: "image/jpeg"});
if (response.result != browser.documentScan.OperationResult.SUCCESS) {
return null;
}
const job = response.job;
let imgParts = [];
response = await browser.documentScan.readScanData(job);
while (response.result == browser.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 browser.documentScan.readScanData(job);
}
if (response.result != browser.documentScan.OperationResult.EOF) {
return null;
}
if (response.data && response.data.byteLength > 0) {
imgParts.push(response.data);
}
return new Blob(imgParts, { type: "image/jpeg" });
}
Scansiona una pagina in formato Letter
Questo esempio mostra come selezionare uno scanner, impostarne le opzioni e aprirlo. Poi recupera i contenuti di una singola pagina e chiude lo scanner. Questo processo mostra l'utilizzo di getScannerList(), openScanner(), setOptions() e closeScanner(). Tieni presente che i contenuti della pagina vengono recuperati chiamando la funzione pageAsBlob() dell'esempio precedente.
async function scan() {
let response = await browser.documentScan.getScannerList({ secure: true });
let scanner = await browser.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: browser.documentScan.OptionType.STRING,
value: { value: source }
});
break;
}
}
options.push({
name: "tl-x",
type: browser.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-x",
type: browser.documentScan.OptionType.FIXED,
value: 215.9 // 8.5" in mm
});
options.push({
name: "tl-y",
type: browser.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-y",
type: browser.documentScan.OptionType.FIXED,
value: 279.4 // 11" in mm
});
response = await browser.documentScan.setOptions(handle, options);
let imgBlob = await pageAsBlob(handle);
if (imgBlob != null) {
// Insert imgBlob into DOM, save to disk, etc
}
await browser.documentScan.closeScanner(handle);
}
Mostra la configurazione
Come indicato altrove, per mostrare a un utente le opzioni di configurazione di uno scanner è necessario chiamare getOptionGroups() oltre alle opzioni dello scanner restituite da una chiamata a openScanner(). In questo modo, le opzioni possono essere mostrate agli utenti in gruppi definiti dal produttore. Questo esempio mostra come fare.
async function showConfig() {
let response = await browser.documentScan.getScannerList({ secure: true });
let scanner = await browser.documentScan.openScanner(
response.scanners[0].scannerId);
let groups = await browser.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");
}
}
}
}
Tipi
CancelScanResponse
Proprietà
-
job
stringa
Fornisce lo stesso handle del job passato a
cancelScan(). -
risultato
Il risultato dell'annullamento della scansione del backend. Se il risultato è
OperationResult.SUCCESSoOperationResult.CANCELLED, la scansione è stata annullata e lo scanner è pronto per avviarne una nuova. Se il risultato èOperationResult.DEVICE_BUSY, lo scanner sta ancora elaborando l'annullamento richiesto; il chiamante deve attendere un breve periodo di tempo e riprovare a inviare la richiesta. Altri valori dei risultati indicano un errore permanente per cui non è necessario riprovare.
CloseScannerResponse
Proprietà
-
risultato
Il risultato della chiusura dello scanner. Anche se questo valore non è
SUCCESS, l'handle non sarà valido e non deve essere utilizzato per altre operazioni. -
scannerHandle
stringa
Lo stesso handle dello scanner passato a
closeScanner.
Configurability
Come è possibile modificare un'opzione.
Enum
"NOT_CONFIGURABLE"
L'opzione è di sola lettura.
"SOFTWARE_CONFIGURABLE"
L'opzione può essere impostata nel software.
"HARDWARE_CONFIGURABLE"
L'opzione può essere impostata dall'utente attivando/disattivando o premendo un pulsante sullo scanner.
ConnectionType
Indica come lo scanner è collegato al computer.
Enum
"UNSPECIFIED"
"USB"
"NETWORK"
ConstraintType
Il tipo di dati del vincolo rappresentato da un OptionConstraint.
Enum
"INT_RANGE"
Il vincolo su un intervallo di valori OptionType.INT. Le proprietà min, max e quant di OptionConstraint saranno long e la proprietà list non sarà impostata.
"FIXED_RANGE"
Il vincolo su un intervallo di valori OptionType.FIXED. Le proprietà min, max e quant di OptionConstraint saranno double e la proprietà list non verrà impostata.
"INT_LIST"
Il vincolo su un elenco specifico di valori OptionType.INT. La proprietà OptionConstraint.list conterrà i valori long e le altre proprietà non verranno impostate.
"FIXED_LIST"
Il vincolo su un elenco specifico di valori OptionType.FIXED. La proprietà OptionConstraint.list conterrà i valori double e le altre proprietà non verranno impostate.
"STRING_LIST"
Il vincolo su un elenco specifico di valori OptionType.STRING. La proprietà OptionConstraint.list conterrà i valori DOMString e le altre proprietà non verranno impostate.
DeviceFilter
Proprietà
-
local
boolean facoltativo
Restituisci solo gli scanner collegati direttamente al computer.
-
sicuro
boolean facoltativo
Restituisci solo gli scanner che utilizzano un trasporto sicuro, come USB o TLS.
GetOptionGroupsResponse
Proprietà
-
gruppi
OptionGroup[] facoltativo
Se
resultèSUCCESS, fornisce un elenco di gruppi di opzioni nell'ordine fornito dal driver dello scanner. -
risultato
Il risultato del recupero dei gruppi di opzioni. Se il valore è
SUCCESS, verrà compilata la proprietàgroups. -
scannerHandle
stringa
Lo stesso handle dello scanner passato a
getOptionGroups.
GetScannerListResponse
Proprietà
-
risultato
Il risultato dell'enumerazione. Tieni presente che potrebbero essere restituiti risultati parziali anche se questo indica un errore.
-
scanner
Un elenco, eventualmente vuoto, di scanner che corrispondono al valore
DeviceFilterfornito.
OpenScannerResponse
Proprietà
-
opzioni
object facoltativo
Se
resultèSUCCESS, fornisce una mappatura chiave-valore in cui la chiave è un'opzione specifica del dispositivo e il valore è un'istanza diScannerOption. -
risultato
Il risultato dell'apertura dello scanner. Se il valore è
SUCCESS, verranno compilate le proprietàscannerHandleeoptions. -
scannerHandle
stringa facoltativa
Se
resultèSUCCESS, un handle dello scanner che può essere utilizzato per ulteriori operazioni. -
scannerId
stringa
L'ID scanner passato a
openScanner().
OperationResult
Un enum che indica il risultato di ogni operazione.
Enum
"UNKNOWN"
Si è verificato un errore sconosciuto o generico.
"SUCCESS"
L'operazione è riuscita.
"UNSUPPORTED"
L'operazione non è supportata.
"CANCELLED"
L'operazione è stata annullata.
"DEVICE_BUSY"
Il dispositivo è occupato.
"INVALID"
I dati o un argomento passato al metodo non sono validi.
"WRONG_TYPE"
Il valore fornito è del tipo di dati errato per l'opzione sottostante.
"EOF"
Non sono disponibili altri dati.
"ADF_JAMMED"
L'alimentatore di documenti è inceppato.
"ADF_EMPTY"
L'alimentatore di documenti è vuoto.
"COVER_OPEN"
Il coperchio dello scanner è aperto.
"IO_ERROR"
Si è verificato un errore durante la comunicazione con il dispositivo.
"ACCESS_DENIED"
Il dispositivo richiede l'autenticazione.
"NO_MEMORY"
La memoria disponibile su Chromebook non è sufficiente per completare l'operazione.
"UNREACHABLE"
Il dispositivo non è raggiungibile.
"MISSING"
Il dispositivo è disconnesso.
"INTERNAL_ERROR"
Si è verificato un errore in un punto diverso dall'applicazione chiamante.
OptionConstraint
Proprietà
-
list
string[] | number[] facoltativo
-
max
number optional
-
min
number optional
-
quant
number optional
-
tipo
OptionGroup
Proprietà
-
membri
string[]
Un array di nomi di opzioni nell'ordine fornito dal driver.
-
titolo
stringa
Fornisce un titolo stampabile, ad esempio "Opzioni di geometria".
OptionSetting
Proprietà
-
nome
stringa
Indica il nome dell'opzione da impostare.
-
tipo
Indica il tipo di dati dell'opzione. Il tipo di dati richiesto deve corrispondere al tipo di dati reale dell'opzione sottostante.
-
valore
string | number | boolean | number[] facoltativo
Indica il valore da impostare. Non impostare questo campo per richiedere l'impostazione automatica per le opzioni con
autoSettableabilitato. Il tipo di dati fornito pervaluedeve corrispondere atype.
OptionType
Il tipo di dati di un'opzione.
Enum
"UNKNOWN"
Il tipo di dati dell'opzione è sconosciuto. La proprietà value verrà annullata.
"BOOL"
La proprietà value sarà uno dei valori truefalse.
"INT"
Un numero intero con segno a 32 bit. La proprietà value sarà long o long[], a seconda che l'opzione accetti più di un valore.
"FIXED"
Un valore double nell'intervallo -32768-32767.9999 con una risoluzione di 1/65535. La proprietà value sarà double o double[] a seconda che l'opzione accetti più di un valore. I valori Double che non possono essere rappresentati esattamente verranno arrotondati all'intervallo e alla precisione disponibili.
"STRING"
Una sequenza di byte, ad eccezione di NUL ('\0'). La proprietà value sarà una DOMString.
"BUTTON"
Un'opzione di questo tipo non ha valore. Al contrario, l'impostazione di un'opzione di questo tipo causa un effetto collaterale specifico dell'opzione nel driver dello scanner. Ad esempio, un'opzione di tipo pulsante potrebbe essere utilizzata da un driver dello scanner per fornire un mezzo per selezionare i valori predefiniti o per indicare a un alimentatore automatico di documenti di passare al foglio di carta successivo.
"GROUP"
Opzione di raggruppamento. Nessun valore. Questo valore è incluso per motivi di compatibilità, ma normalmente non viene restituito nei valori ScannerOption. Utilizza getOptionGroups() per recuperare l'elenco dei gruppi con le relative opzioni per i membri.
OptionUnit
Indica il tipo di dati per ScannerOption.unit.
Enum
"UNITLESS"
Il valore è un numero senza unità. Ad esempio, può essere una soglia.
"PIXEL"
Il valore è un numero di pixel, ad esempio le dimensioni della scansione.
"BIT"
Il valore è il numero di bit, ad esempio la profondità di colore.
"MM"
Il valore viene misurato in millimetri, ad esempio le dimensioni della scansione.
"DPI"
Il valore viene misurato in punti per pollice, ad esempio la risoluzione.
"PERCENT"
Il valore è una percentuale, ad esempio la luminosità.
"MICROSECOND"
Il valore viene misurato in microsecondi, ad esempio il tempo di esposizione.
ReadScanDataResponse
Proprietà
-
dati
ArrayBuffer facoltativo
Se
resultèSUCCESS, contiene il blocco successivo di dati dell'immagine scansionata. SeresultèEOF, contiene l'ultimo blocco di dati dell'immagine scansionata. -
estimatedCompletion
number optional
Se
resultèSUCCESS, una stima della quantità di dati di scansione totali inviati finora, nell'intervallo compreso tra 0 e 100. -
job
stringa
Fornisce l'handle del job passato a
readScanData(). -
risultato
Il risultato della lettura dei dati. Se il valore è
SUCCESS,datacontiene il blocco di dati immagine successivo (potenzialmente di lunghezza zero) pronto per la lettura. Se il valore èEOF,datacontiene l'ultimo blocco di dati dell'immagine.
ScannerInfo
Proprietà
-
connectionType
Indica come lo scanner è collegato al computer.
-
deviceUuid
stringa
Per la corrispondenza con altre voci
ScannerInfoche rimandano allo stesso dispositivo fisico. -
imageFormats
string[]
Un array di tipi MIME che possono essere richiesti per le scansioni restituite.
-
produttore
stringa
Il produttore dello scanner.
-
modello
stringa
Il modello dello scanner, se disponibile, o una descrizione generica.
-
nome
stringa
Un nome leggibile per lo scanner da visualizzare nella UI.
-
protocolType
stringa
Una descrizione leggibile del protocollo o del driver utilizzato per accedere allo scanner, ad esempio Mopria, WSD o epsonds. Ciò è utile principalmente per consentire a un utente di scegliere tra i protocolli se un dispositivo ne supporta più di uno.
-
scannerId
stringa
L'ID di uno scanner specifico.
-
sicuro
booleano
Se impostato su true, il trasporto della connessione dello scanner non può essere intercettato da un listener passivo, ad esempio TLS o USB.
ScannerOption
Proprietà
-
configurabilità
Indica se e come l'opzione può essere modificata.
-
vincolo
OptionConstraint facoltativo
Definisce
OptionConstraintnell'opzione di scansione corrente. -
descrizione
stringa
Una descrizione più lunga dell'opzione.
-
isActive
booleano
Indica che l'opzione è attiva e può essere impostata o recuperata. Se viene impostato su false, la proprietà
valuenon verrà impostata. -
isAdvanced
booleano
Indica che la UI non deve visualizzare questa opzione per impostazione predefinita.
-
isAutoSettable
booleano
Può essere impostata automaticamente dal driver dello scanner.
-
isDetectable
booleano
Indica che questa opzione può essere rilevata dal software.
-
isEmulated
booleano
Emulato dal driver dello scanner se true.
-
nome
stringa
Il nome dell'opzione che utilizza lettere ASCII minuscole, numeri e trattini. I segni diacritici non sono consentiti.
-
titolo
stringa
Un titolo di una riga stampabile.
-
tipo
Il tipo di dati contenuto nella proprietà
value, necessario per impostare questa opzione. -
unità
L'unità di misura per questa opzione.
-
valore
string | number | boolean | number[] facoltativo
Il valore attuale dell'opzione, se pertinente. Tieni presente che il tipo di dati di questa proprietà deve corrispondere a quello specificato in
type.
ScanOptions
Proprietà
-
maxImages
number optional
Il numero di immagini scansionate consentite. Il valore predefinito è 1.
-
mimeTypes
string[] facoltativo
I tipi MIME accettati dal chiamante.
ScanResults
Proprietà
-
dataUrls
string[]
Un array di URL di immagini di dati in un formato che può essere passato come valore "src" a un tag immagine.
-
mimeType
stringa
Il tipo MIME di
dataUrls.
SetOptionResult
Proprietà
-
nome
stringa
Indica il nome dell'opzione impostata.
-
risultato
Indica il risultato dell'impostazione dell'opzione.
SetOptionsResponse
Proprietà
-
opzioni
object facoltativo
Una mappatura chiave-valore aggiornata dai nomi delle opzioni ai valori
ScannerOptioncontenenti la nuova configurazione dopo aver tentato di impostare tutte le opzioni fornite. Ha la stessa struttura della proprietàoptionsinOpenScannerResponse.Questa proprietà verrà impostata anche se alcune opzioni non sono state impostate correttamente, ma verrà annullata se il recupero della configurazione aggiornata non va a buon fine (ad esempio, se lo scanner viene disconnesso durante la scansione).
-
risultati
Un array di risultati, uno per ogni
OptionSettingpassato. -
scannerHandle
stringa
Fornisce l'handle dello scanner passato a
setOptions().
StartScanOptions
Proprietà
-
formato
stringa
Specifica il tipo MIME in cui restituire i dati scansionati.
-
maxReadSize
number optional
Se viene specificato un valore diverso da zero, limita il numero massimo di byte scansionati restituiti in una singola risposta
readScanDataa quel valore. Il valore minimo consentito è 32768 (32 KB). Se questa proprietà non viene specificata, le dimensioni di un blocco restituito potrebbero essere pari a quelle dell'intera immagine scansionata.
StartScanResponse
Proprietà
-
job
stringa facoltativa
Se
resultèSUCCESS, fornisce un handle che può essere utilizzato per leggere i dati di scansione o annullare il job. -
risultato
Il risultato dell'avvio di una scansione. Se il valore è
SUCCESS, verrà compilata la proprietàjob. -
scannerHandle
stringa
Fornisce lo stesso handle dello scanner passato a
startScan().
Metodi
cancelScan()
browser.documentScan.cancelScan(
job: string,
): Promise<CancelScanResponse>
Annulla una scansione avviata e restituisce una promessa che si risolve con un oggetto CancelScanResponse. Se viene utilizzato un callback, l'oggetto viene passato a quest'ultimo.
Parametri
-
job
stringa
L'handle di un job di scansione attivo restituito in precedenza da una chiamata a
startScan.
Resi
-
Promise<CancelScanResponse>
Restituisce una promessa che si risolve con il risultato.
closeScanner()
browser.documentScan.closeScanner(
scannerHandle: string,
): Promise<CloseScannerResponse>
Chiude lo scanner con l'handle passato e restituisce una Promise che si risolve con un oggetto CloseScannerResponse. Se viene utilizzato un callback, l'oggetto viene passato a quest'ultimo. Anche se la risposta non ha esito positivo, l'handle fornito diventa non valido e non deve essere utilizzato per ulteriori operazioni.
Parametri
-
scannerHandle
stringa
Specifica l'handle di uno scanner aperto restituito in precedenza da una chiamata a
openScanner.
Resi
-
Promise<CloseScannerResponse>
Restituisce una promessa che si risolve con il risultato.
getOptionGroups()
browser.documentScan.getOptionGroups(
scannerHandle: string,
): Promise<GetOptionGroupsResponse>
Recupera i nomi dei gruppi e le opzioni dei membri da uno scanner aperto in precedenza da openScanner. Questo metodo restituisce una Promise che si risolve con un oggetto GetOptionGroupsResponse. Se a questa funzione viene passato un callback, i dati restituiti vengono passati al callback.
Parametri
-
scannerHandle
stringa
L'handle di uno scanner aperto restituito da una chiamata a
openScanner.
Resi
-
Promise<GetOptionGroupsResponse>
Restituisce una promessa che si risolve con il risultato.
getScannerList()
browser.documentScan.getScannerList(
filter: DeviceFilter,
): Promise<GetScannerListResponse>
Recupera l'elenco degli scanner disponibili e restituisce una Promise che si risolve con un oggetto GetScannerListResponse. Se a questa funzione viene passato un callback, i dati restituiti vengono passati al callback.
Parametri
-
filtro
Un
DeviceFilterche indica i tipi di scanner da restituire.
Resi
-
Promise<GetScannerListResponse>
Restituisce una Promise che si risolve con il risultato e l'elenco degli scanner.
openScanner()
browser.documentScan.openScanner(
scannerId: string,
): Promise<OpenScannerResponse>
Apre uno scanner per l'accesso esclusivo e restituisce una Promise che si risolve con un oggetto OpenScannerResponse. Se a questa funzione viene passato un callback, i dati restituiti vengono passati al callback.
Parametri
-
scannerId
stringa
L'ID di uno scanner da aprire. Questo valore viene restituito da una chiamata precedente a
getScannerList.
Resi
-
Promise<OpenScannerResponse>
Restituisce una promessa che si risolve con il risultato.
readScanData()
browser.documentScan.readScanData(
job: string,
): Promise<ReadScanDataResponse>
Legge il blocco successivo di dati immagine disponibili da un handle di job attivo e restituisce una Promise che si risolve con un oggetto ReadScanDataResponse. Se viene utilizzato un callback, l'oggetto viene passato a quest'ultimo.
**Nota:**è valido un risultato della risposta SUCCESS con un membro data di lunghezza pari a zero. Ciò significa che lo scanner è ancora in funzione, ma non ha ancora dati aggiuntivi pronti. Il chiamante deve attendere un breve periodo di tempo e riprovare.
Al termine del job di scansione, la risposta avrà il valore del risultato EOF. Questa risposta potrebbe contenere un membro data finale diverso da zero.
Parametri
-
job
stringa
Handle del job attivo restituito in precedenza da
startScan.
Resi
-
Promise<ReadScanDataResponse>
Restituisce una promessa che si risolve con il risultato.
scan()
browser.documentScan.scan(
options: ScanOptions,
): Promise<ScanResults>
Esegue una scansione del documento e restituisce una Promise che si risolve con un oggetto ScanResults. Se a questa funzione viene passato un callback, i dati restituiti vengono passati al callback.
Parametri
-
opzioni
Un oggetto contenente i parametri di scansione.
Resi
-
Promise<ScanResults>
Browser Chrome 96+ .* da Chrome 148Restituisce una Promise che si risolve con i risultati della scansione.
setOptions()
browser.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
): Promise<SetOptionsResponse>
Imposta le opzioni sullo scanner specificato e restituisce una Promise che si risolve con un oggetto SetOptionsResponse contenente il risultato del tentativo di impostare ogni valore nell'ordine dell'oggetto OptionSetting passato. Se viene utilizzato un callback, l'oggetto viene passato a quest'ultimo.
Parametri
-
scannerHandle
stringa
L'handle dello scanner su cui impostare le opzioni. Deve essere un valore restituito in precedenza da una chiamata a
openScanner. -
opzioni
Un elenco di oggetti
OptionSettingda applicare allo scanner.
Resi
-
Promise<SetOptionsResponse>
Restituisce una promessa che si risolve con il risultato.
startScan()
browser.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
): Promise<StartScanResponse>
Avvia una scansione sullo scanner specificato e restituisce una Promise che si risolve con un StartScanResponse. Se viene utilizzato un callback, l'oggetto viene passato a quest'ultimo. Se la chiamata è andata a buon fine, la risposta include un handle del job che può essere utilizzato nelle chiamate successive per leggere i dati di scansione o annullare una scansione.
Parametri
-
scannerHandle
stringa
Il punto di manipolazione di uno scanner aperto. Deve essere un valore restituito in precedenza da una chiamata a
openScanner. -
opzioni
Un oggetto
StartScanOptionsche indica le opzioni da utilizzare per la scansione. La proprietàStartScanOptions.formatdeve corrispondere a una delle voci restituite inScannerInfodello scanner.
Resi
-
Promise<StartScanResponse>
Restituisce una promessa che si risolve con il risultato.