chrome.documentScan

Descrizione

Utilizza l'API chrome.documentScan per rilevare e recuperare immagini da scanner per documenti collegati.

Autorizzazioni

documentScan

Disponibilità

Chrome 44+ Solo ChromeOS

API Document Scan

L'API Document Scan è progettata per consentire ad app ed estensioni di visualizzare il contenuto di documenti cartacei su uno scanner per documenti collegato.

Tipi

CancelScanResponse

Chrome 125+

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.SUCCESS o OperationResult.CANCELLED, la scansione è stata annullata e lo scanner è pronto per iniziare una nuova scansione. 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 effettuare la richiesta. Altri valori dei risultati indicano un errore permanente che non deve essere riprovato.

CloseScannerResponse

Chrome 125+

Proprietà

  • risultato

    Il risultato della chiusura dello scanner. Anche se questo valore non è SUCCESS, l'handle non è valido e non deve essere utilizzato per ulteriori operazioni.

  • scannerHandle

    stringa

    Lo stesso handle dello scanner passato a closeScanner.

Configurability

Chrome 125+

Come può essere modificata 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 o premendo un pulsante sullo scanner.

ConnectionType

Chrome 125+

Indica in che modo lo scanner è collegato al computer.

Enum

"UNSPECIFIED"

"USB"

"NETWORK"

ConstraintType

Chrome 125+

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 verrà annullata.

"INTERVALLO_FISSO"
Il vincolo su un intervallo di valori OptionType.FIXED. Le proprietà min, max e quant di OptionConstraint saranno double e la proprietà list non sarà 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

Chrome 125+

Proprietà

  • local

    booleano facoltativo

    Restituisci solo gli scanner collegati direttamente al computer.

  • sicuro

    booleano facoltativo

    Restituisci solo gli scanner che utilizzano un trasporto sicuro, ad esempio USB o TLS.

GetOptionGroupsResponse

Chrome 125+

Proprietà

  • gruppi

    OptionGroup[] facoltativo

    Se result è SUCCESS, fornisce un elenco di gruppi di opzioni nell'ordine fornito dal driver dello scanner.

  • risultato

    Il risultato dell'ottenimento dei gruppi di opzioni. Se il valore è SUCCESS, la proprietà groups verrà compilata.

  • scannerHandle

    stringa

    Lo stesso handle dello scanner passato a getOptionGroups.

GetScannerListResponse

Chrome 125+

Proprietà

  • risultato

    Il risultato dell'enumerazione. Tieni presente che potrebbero essere restituiti risultati parziali anche se viene indicato un errore.

  • scanner

    Un elenco, possibilmente vuoto, di scanner che corrispondono al DeviceFilter fornito.

OpenScannerResponse

Chrome 125+

Proprietà

  • opzioni

    oggetto facoltativo

    Se result è SUCCESS, fornisce una mappatura chiave-valore in cui la chiave è un'opzione specifica del dispositivo e il valore è un'istanza di ScannerOption.

  • risultato

    Il risultato dell'apertura dello scanner. Se il valore è SUCCESS, le proprietà scannerHandle e options verranno compilate.

  • 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

Chrome 125+

Un'enumerazione 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.

"ANNULLATO"
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 è il 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 piano è aperto.

"IO_ERROR"
Si è verificato un errore durante la comunicazione con il dispositivo.

"ACCESS_DENIED"
Il dispositivo richiede l'autenticazione.

"NO_MEMORY"
Su Chromebook non è disponibile memoria sufficiente per completare l'operazione.

"UNREACHABLE"
Il dispositivo non è raggiungibile.

"MISSING"
Il dispositivo è disconnesso.

"INTERNAL_ERROR"
Si è verificato un errore in un'applicazione diversa da quella chiamante.

OptionConstraint

Chrome 125+

Proprietà

  • list

    string[] | number[] facoltativo

  • max

    number (facoltativo)

  • min

    number (facoltativo)

  • quant

    number (facoltativo)

OptionGroup

Chrome 125+

Proprietà

  • membri

    string[]

    Un array di nomi di opzioni nell'ordine fornito dal conducente.

  • titolo

    stringa

    Fornisce un titolo stampabile, ad esempio "Opzioni di geometria".

OptionSetting

Chrome 125+

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 effettivo dell'opzione sottostante.

  • valore

    stringa | numero | booleano | number[] facoltativo

    Indica il valore da impostare. Lascia non impostato per richiedere l'impostazione automatica per le opzioni per cui è attivata l'opzione autoSettable. Il tipo di dati fornito per value deve corrispondere a type.

OptionType

Chrome 125+

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à una delle seguenti: truefalse.

"INT"
Un numero intero a 32 bit con segno. La proprietà value sarà long o long[], a seconda che l'opzione accetti più di un valore.

"FIXED"
Un numero 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 doppi che non possono essere rappresentati esattamente verranno arrotondati all'intervallo e alla precisione disponibili.

"STRING"
Una sequenza di byte qualsiasi, tranne NUL ("\0"). La proprietà value sarà una DOMString.

"BUTTON"
Un'opzione di questo tipo non ha alcun valore. L'impostazione di un'opzione di questo tipo, invece, 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 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

Chrome 125+

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à del colore.

"MM"
Il valore è 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 è misurato in microsecondi, ad esempio il tempo di esposizione.

ReadScanDataResponse

Chrome 125+

Proprietà

  • dati

    ArrayBuffer facoltativo

    Se result è SUCCESS, contiene il blocco successivo di dati dell'immagine scansionata. Se result è EOF, contiene l'ultimo blocco di dati dell'immagine scansionata.

  • estimatedCompletion

    number (facoltativo)

    Se result è SUCCESS, una stima della quantità di dati di scansione totali che sono stati inviati finora, compresa 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, data contiene il blocco di dati dell'immagine successivo (possibilmente di lunghezza zero) pronto per la lettura. Se il valore è EOF, data contiene l'ultimo blocco di dati dell'immagine.

ScannerInfo

Chrome 125+

Proprietà

  • connectionType

    Indica in che modo lo scanner è collegato al computer.

  • deviceUuid

    stringa

    Per la corrispondenza con altre voci ScannerInfo che puntano 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 nell'interfaccia utente.

  • protocolType

    stringa

    Una descrizione leggibile del protocollo o del driver utilizzato per accedere allo scanner, ad esempio Mopria, WSD o epsonds. Questa opzione è 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 è true, il trasporto della connessione dello scanner non può essere intercettato da un listener passivo, ad esempio TLS o USB.

ScannerOption

Chrome 125+

Proprietà

  • configurabilità

    Indica se e come l'opzione può essere modificata.

  • vincolo

    OptionConstraint facoltativo

    Definisce OptionConstraint nell'opzione dello scanner attuale.

  • descrizione

    stringa

    Una descrizione più lunga dell'opzione.

  • isActive

    booleano

    Indica che l'opzione è attiva e può essere impostata o recuperata. Se il valore è false, la proprietà value non verrà impostata.

  • isAdvanced

    booleano

    Indica che l'interfaccia utente non deve visualizzare questa opzione per impostazione predefinita.

  • isAutoSettable

    booleano

    Può essere impostato 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 utilizzando lettere ASCII minuscole, numeri e trattini. I segni diacritici non sono consentiti.

  • titolo

    stringa

    Un titolo stampabile di una riga.

  • tipo

    Il tipo di dati contenuti nella proprietà value, necessario per impostare questa opzione.

  • unità

    L'unità di misura per questa opzione.

  • valore

    stringa | numero | booleano | number[] facoltativo

    Il valore attuale dell'opzione, se pertinente. Tieni presente che il tipo di dati di questa proprietà deve corrispondere al tipo di dati specificato in type.

ScanOptions

Proprietà

  • maxImages

    number (facoltativo)

    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

Chrome 125+

Proprietà

  • nome

    stringa

    Indica il nome dell'opzione impostata.

  • risultato

    Indica il risultato dell'impostazione dell'opzione.

SetOptionsResponse

Chrome 125+

Proprietà

  • opzioni

    oggetto facoltativo

    Una mappatura chiave-valore aggiornata dai nomi delle opzioni ai valori ScannerOption contenenti la nuova configurazione dopo aver tentato di impostare tutte le opzioni fornite. Ha la stessa struttura della proprietà options in OpenScannerResponse.

    Questa proprietà verrà impostata anche se alcune opzioni non sono state impostate correttamente, ma verrà annullata se il recupero della configurazione aggiornata non riesce (ad esempio, se lo scanner viene disconnesso durante la scansione).

  • risultati

    Un array di risultati, uno per ogni OptionSetting passato.

  • scannerHandle

    stringa

    Fornisce l'handle dello scanner passato a setOptions().

StartScanOptions

Chrome 125+

Proprietà

  • dell'annuncio

    stringa

    Specifica il tipo MIME in cui restituire i dati scansionati.

  • maxReadSize

    number (facoltativo)

    Se viene specificato un valore diverso da zero, limita a questo valore il numero massimo di byte scansionati restituiti in una singola risposta readScanData. Il valore minimo consentito è 32768 (32 KB). Se questa proprietà non viene specificata, le dimensioni di un blocco restituito possono corrispondere all'intera immagine scansionata.

StartScanResponse

Chrome 125+

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, la proprietà job verrà compilata.

  • scannerHandle

    stringa

    Fornisce lo stesso handle dello scanner passato a startScan().

Metodi

cancelScan()

Promessa Chrome 125+
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)
: Promise<CancelScanResponse>

Annulla una scansione avviata e restituisce una promessa che viene risolta con un oggetto CancelScanResponse. Se viene utilizzata una funzione di callback, l'oggetto viene passato a quest'ultima.

Parametri

  • job

    stringa

    L'handle di un job di scansione attivo restituito in precedenza da una chiamata a startScan.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (response: CancelScanResponse) => void

Resi

  • Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

closeScanner()

Promessa Chrome 125+
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)
: Promise<CloseScannerResponse>

Chiude lo scanner con l'handle passato e restituisce una promessa che viene risolta con un oggetto CloseScannerResponse. Se viene utilizzata una funzione di callback, l'oggetto viene passato a quest'ultima. 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.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (response: CloseScannerResponse) => void

Resi

  • Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

getOptionGroups()

Promessa Chrome 125+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)
: Promise<GetOptionGroupsResponse>

Recupera i nomi dei gruppi e le opzioni dei membri da uno scanner aperto in precedenza da openScanner. Questo metodo restituisce una promessa che viene risolta con un oggetto GetOptionGroupsResponse. Se a questa funzione viene trasmessa una callback, i dati restituiti vengono trasmessi a quest'ultima.

Parametri

Resi

  • Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

getScannerList()

Promessa Chrome 125+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)
: Promise<GetScannerListResponse>

Recupera l'elenco degli scanner disponibili e restituisce una promessa che viene risolta con un oggetto GetScannerListResponse. Se a questa funzione viene trasmessa una callback, i dati restituiti vengono trasmessi a quest'ultima.

Parametri

Resi

  • Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

openScanner()

Promessa Chrome 125+
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)
: Promise<OpenScannerResponse>

Apre uno scanner per l'accesso esclusivo e restituisce una promessa che viene risolta con un oggetto OpenScannerResponse. Se a questa funzione viene trasmessa una callback, i dati restituiti vengono trasmessi a quest'ultima.

Parametri

  • scannerId

    stringa

    L'ID di uno scanner da aprire. Questo valore è uno di quelli restituiti da una chiamata precedente a getScannerList.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (response: OpenScannerResponse) => void

Resi

  • Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

readScanData()

Promessa Chrome 125+
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)
: Promise<ReadScanDataResponse>

Legge il successivo blocco di dati immagine disponibili da un handle di job attivo e restituisce una promessa che viene risolta con un oggetto ReadScanDataResponse. Se viene utilizzata una funzione di callback, l'oggetto viene passato a quest'ultima.

**Nota:**è valido che un risultato di risposta sia SUCCESS con un membro data di lunghezza zero. Ciò significa che lo scanner funziona ancora, 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

Resi

  • Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

scan()

Promessa
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)
: Promise<ScanResults>

Esegue la scansione di un documento e restituisce una promessa che viene risolta con un oggetto ScanResults. Se a questa funzione viene passata una funzione di callback, i dati restituiti vengono passati a quest'ultima.

Parametri

  • opzioni

    Un oggetto contenente i parametri di scansione.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (result: ScanResults) => void

Resi

  • Promise<ScanResults>

    Chrome 96+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

setOptions()

Promessa Chrome 125+
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)
: Promise<SetOptionsResponse>

Imposta le opzioni sullo scanner specificato e restituisce una promessa che viene risolta con un oggetto SetOptionsResponse contenente il risultato del tentativo di impostare ogni valore nell'ordine dell'oggetto OptionSetting passato. Se viene utilizzata una funzione di callback, l'oggetto viene passato a quest'ultima.

Parametri

  • scannerHandle

    stringa

    La maniglia dello scanner su cui impostare le opzioni. Questo deve essere un valore restituito in precedenza da una chiamata a openScanner.

  • opzioni

    Un elenco di OptionSetting oggetti da applicare allo scanner.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (response: SetOptionsResponse) => void

Resi

  • Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

startScan()

Promessa Chrome 125+
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)
: Promise<StartScanResponse>

Avvia una scansione sullo scanner specificato e restituisce una promessa che viene risolta con un StartScanResponse. Se viene utilizzata una funzione di callback, l'oggetto viene passato a quest'ultima. 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

    La maniglia di uno scanner aperto. Questo deve essere un valore restituito in precedenza da una chiamata a openScanner.

  • Un oggetto StartScanOptions che indica le opzioni da utilizzare per la scansione. La proprietà StartScanOptions.format deve corrispondere a una delle voci restituite in ScannerInfo dello scanner.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (response: StartScanResponse) => void

Resi

  • Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.