Descrição
Use a API chrome.documentScan para descobrir e recuperar imagens de scanners de documentos anexados.
A API Document Scan foi projetada para permitir que apps e extensões visualizem o conteúdo de documentos em papel em um scanner de documentos conectado.
Permissões
documentScanDisponibilidade
Conceitos e uso
Essa API oferece duas maneiras de digitalizar documentos. Se o caso de uso puder funcionar
com qualquer scanner e não exigir controle da configuração, use o
método scan(). Casos de uso mais complicados exigem uma combinação de métodos,
que só são compatíveis com o Chrome 124 e versões mais recentes.
Leitura simples
Para casos de uso simples, ou seja, aqueles que podem funcionar com qualquer scanner e não
exigem controle de configuração, chame scan(). Esse método usa um objeto ScanOptions e retorna uma promessa que é resolvida com um objeto ScanResults. Os recursos dessa opção são limitados ao número de verificações e
aos tipos MIME que serão aceitos pelo autor da chamada. As digitalizações são retornadas como URLs
para exibição em uma tag <img> para uma interface do usuário.
Verificação complexa
As verificações complexas são realizadas em três fases, conforme descrito nesta seção. Este resumo não descreve todos os argumentos de método ou todas as propriedades retornadas em uma resposta. Ele serve apenas como um guia geral para escrever o código do scanner.
Discovery
Chame
getScannerList(). Os leitores disponíveis são retornados em uma promessa que é resolvida com umGetScannerListResponse.- O objeto de resposta contém uma matriz de objetos
ScannerInfo. - A matriz pode conter várias entradas para um único scanner se ele for compatível com vários protocolos ou métodos de conexão.
- O objeto de resposta contém uma matriz de objetos
Selecione um scanner na matriz retornada e salve o valor da propriedade
scannerId.Use as propriedades de objetos
ScannerInfoindividuais para distinguir entre vários objetos do mesmo scanner. Os objetos do mesmo scanner terão o mesmo valor para a propriedadedeviceUuid.ScannerInfotambém contém uma propriedadeimageFormatscom uma matriz de tipos de imagem compatíveis.
Configuração do scanner
Chame
openScanner(), transmitindo o ID do scanner salvo. Ele retorna uma promessa que é resolvida com umOpenScannerResponse. O objeto de resposta contém:Uma propriedade
scannerHandle, que você precisa salvar.Uma propriedade de opções que contém propriedades específicas do scanner, que você precisa definir. Consulte "Recuperar opções do scanner" para mais informações.
(Opcional) Se você precisar que o usuário forneça valores para as opções do scanner, crie uma interface do usuário. Você vai precisar das opções de scanner fornecidas pela etapa anterior e dos grupos de opções fornecidos pelo scanner. Consulte Criar uma interface do usuário para mais informações.
Crie uma matriz de objetos
OptionSettingusando valores programáticos ou fornecidos pelo usuário. Consulte Definir opções do verificador para mais informações.Transmita a matriz de objetos
OptionSettingparasetOptions()para definir as opções do scanner. Ele retorna uma promessa que é resolvida com umSetOptionsResponse. Esse objeto contém uma versão atualizada das opções do scanner recuperadas na etapa 1 da configuração do scanner.Como mudar uma opção pode alterar as restrições de outra, talvez seja necessário repetir essas etapas várias vezes.
Verificação
Crie um objeto
StartScanOptionse transmita-o parastartScan(). Ele retorna uma promessa que é resolvida com umStartScanResponse. A propriedadejobé um identificador que você vai usar para ler os dados da verificação ou cancelá-la.Transmita o identificador do job para
readScanData(). Ele retorna uma promessa que é resolvida com um objetoReadScanDataResponse. Se os dados forem lidos corretamente, a propriedaderesultserá igual aSUCCESSe a propriedadedatavai conter umArrayBuffercom parte da verificação. Observe queestimatedCompletioncontém uma porcentagem estimada dos dados totais que foram entregues até o momento.Repita a etapa anterior até que a propriedade
resultseja igual aEOFou um erro.
Quando o final da leitura for alcançado, chame
closeScanner() com o identificador do scanner salvo na etapa
3. Ele retorna uma promessa que é resolvida com um
CloseScannerResponse. Chamar
cancelScan() a qualquer momento após a criação do job
encerra a verificação.
Objetos de resposta
Todos os métodos retornam uma promessa que é resolvida com um objeto de resposta de algum tipo.
A maioria deles contém uma propriedade result com um valor que é membro de
OperationResult. Algumas propriedades de objetos de resposta
não vão conter valores, a menos que o valor de result seja específico. Essas
relações são descritas na referência de cada objeto de resposta.
Por exemplo, OpenScannerResponse.scannerHandle só terá um valor quando
OpenScannerResponse.result for igual a SUCCESS.
Opções do scanner
As opções de scanner variam muito de acordo com o dispositivo. Por isso, não é possível
refletir as opções do scanner diretamente na API documentScan. Para contornar
isso, o OpenScannerResponse (recuperado usando
openScanner()) e o
SetOptionsResponse (o objeto de resposta para
setOptions()) contêm uma propriedade options, que é um
objeto que contém opções específicas do scanner. Cada opção é um mapa de chave-valor,
em que a chave é uma opção específica do dispositivo e o valor é uma instância de
ScannerOption.
A estrutura geralmente é assim:
{
"key1": { scannerOptionInstance }
"key2": { scannerOptionInstance }
}
Por exemplo, imagine um scanner que retorna opções chamadas "source" e
"resolution". A estrutura do objeto options retornado será semelhante
ao exemplo a seguir. Para simplificar, apenas respostas parciais de ScannerOption
são mostradas.
{
"source": {
"name": "source",
"type": OptionType.STRING,
...
},
"resolution": {
"name": "resolution",
"type": OptionType.INT,
...
},
...
}
Criar uma interface do usuário
Embora não seja necessário usar essa API, talvez você queira que um usuário escolha o valor de
uma opção específica. Isso requer uma interface do usuário. Use o
OpenScannerResponse (aberto por
openScanner()) para recuperar as opções do scanner
conectado, conforme descrito na seção anterior.
Alguns scanners agrupam as opções de maneiras específicas do dispositivo. Eles não afetam os comportamentos das opções, mas, como esses grupos podem ser mencionados na documentação do produto de um scanner, eles precisam ser mostrados ao usuário. Para recuperar esses
grupos, chame getOptionGroups(). Isso retorna uma
promessa que é resolvida com um
objeto GetOptionGroupsResponse. A propriedade groups
contém uma matriz de grupos específica do scanner. Use as informações desses grupos para organizar as opções no OpenScannerResponse para exibição.
{
scannerHandle: "123456",
result: SUCCESS,
groups: [
{
title: "Standard",
members: [ "resolution", "mode", "source" ]
}
]
}
Como indicado em "Configuração do scanner", mudar uma opção pode alterar as restrições
de outra. É por isso que
setOptionsResponse (o objeto de resposta para
setOptions()) contém outra propriedade options. Use
isso para atualizar a interface do usuário. Em seguida, repita conforme necessário até que todas as opções estejam
definidas.
Definir opções do scanner
Defina as opções do scanner transmitindo uma matriz de objetos
OptionSetting para
setOptions(). Para ver um exemplo, consulte a seção Digitalizar uma página de tamanho carta abaixo.
Exemplos
Recuperar uma página como um blob
Este exemplo mostra uma maneira de recuperar uma página do scanner como um blob e
demonstra o uso de startScan() e readScanData() usando o valor de
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" });
}
Digitalizar uma página de tamanho carta
Este exemplo mostra como selecionar um scanner, definir as opções dele e abri-lo. Em seguida,
ele recupera o conteúdo de uma única página e fecha o scanner. Esse processo
demonstra o uso de getScannerList(), openScanner(), setOptions() e
closeScanner(). O conteúdo da página é recuperado chamando
a função pageAsBlob() do exemplo anterior.
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);
}
Mostrar a configuração
Como mencionado em outro lugar, para mostrar as opções de configuração de um scanner a um usuário, é necessário
chamar getOptionGroups(), além das opções de scanner retornadas de uma
chamada para openScanner(). Isso permite que as opções sejam mostradas aos usuários em
grupos definidos pelo fabricante. Este exemplo mostra como fazer isso.
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");
}
}
}
}
Tipos
CancelScanResponse
Propriedades
-
job
string
Fornece o mesmo identificador de job que foi transmitido para
cancelScan(). -
resultado
O resultado da verificação de cancelamento do back-end. Se o resultado for
OperationResult.SUCCESSouOperationResult.CANCELLED, a verificação foi cancelada, e o scanner está pronto para iniciar uma nova verificação. Se o resultado forOperationResult.DEVICE_BUSY, o scanner ainda estará processando o cancelamento solicitado. O autor da chamada precisa aguardar um pouco e tentar novamente. Outros valores de resultado indicam um erro permanente que não deve ser repetido.
CloseScannerResponse
Propriedades
-
resultado
O resultado do fechamento do scanner. Mesmo que esse valor não seja
SUCCESS, o identificador será inválido e não deverá ser usado para outras operações. -
scannerHandle
string
O mesmo identificador de scanner que foi transmitido para
closeScanner.
Configurability
Como uma opção pode ser alterada.
Enumeração
"NOT_CONFIGURABLE"
A opção é somente leitura.
"SOFTWARE_CONFIGURABLE"
A opção pode ser definida no software.
"HARDWARE_CONFIGURABLE"
A opção pode ser definida pelo usuário ao alternar ou pressionar um botão no scanner.
ConnectionType
Indica como o scanner está conectado ao computador.
Enumeração
"UNSPECIFIED"
"USB"
"NETWORK"
ConstraintType
O tipo de dados de restrição representado por um OptionConstraint.
Enumeração
"INT_RANGE"
A restrição em um intervalo de valores OptionType.INT. As propriedades min, max e quant de OptionConstraint serão long, e a propriedade list não será definida.
"FIXED_RANGE"
A restrição em um intervalo de valores de OptionType.FIXED. As propriedades min, max e quant de OptionConstraint serão double, e a propriedade list não será definida.
"INT_LIST"
A restrição em uma lista específica de valores OptionType.INT. A propriedade OptionConstraint.list vai conter valores long, e as outras propriedades não serão definidas.
"FIXED_LIST"
A restrição em uma lista específica de valores de OptionType.FIXED. A propriedade OptionConstraint.list vai conter valores double, e as outras propriedades não serão definidas.
"STRING_LIST"
A restrição em uma lista específica de valores OptionType.STRING. A propriedade OptionConstraint.list vai conter valores DOMString, e as outras propriedades não serão definidas.
DeviceFilter
Propriedades
-
Local
booleano opcional
Retorna apenas os scanners conectados diretamente ao computador.
-
seguro
booleano opcional
Retorna apenas scanners que usam um transporte seguro, como USB ou TLS.
GetOptionGroupsResponse
Propriedades
-
grupos
OptionGroup[] opcional
Se
resultforSUCCESS, fornece uma lista de grupos de opções na ordem fornecida pelo driver do scanner. -
resultado
O resultado da busca dos grupos de opções. Se o valor for
SUCCESS, a propriedadegroupsserá preenchida. -
scannerHandle
string
O mesmo identificador de scanner que foi transmitido para
getOptionGroups.
GetScannerListResponse
Propriedades
-
resultado
O resultado da enumeração. Resultados parciais podem ser retornados mesmo que isso indique um erro.
-
scanners
Uma lista possivelmente vazia de scanners que correspondem ao
DeviceFilterfornecido.
OpenScannerResponse
Propriedades
-
opções
objeto optional
Se
resultforSUCCESS, fornece um mapa de chave-valor em que a chave é uma opção específica do dispositivo e o valor é uma instância deScannerOption. -
resultado
O resultado da abertura do scanner. Se o valor for
SUCCESS, as propriedadesscannerHandleeoptionsserão preenchidas. -
scannerHandle
string opcional
Se
resultforSUCCESS, um identificador para o scanner que pode ser usado em outras operações. -
scannerId
string
O ID do scanner transmitido para
openScanner().
OperationResult
Um tipo enumerado que indica o resultado de cada operação.
Enumeração
"UNKNOWN"
Ocorreu uma falha desconhecida ou genérica.
"SUCCESS"
A operação foi concluída.
"UNSUPPORTED"
A operação não é compatível.
"CANCELLED"
A operação foi cancelada.
"DEVICE_BUSY"
O dispositivo está ocupado.
"INVALID"
Os dados ou um argumento transmitido ao método não são válidos.
"WRONG_TYPE"
O valor fornecido é do tipo de dados errado para a opção subjacente.
"EOF"
Não há mais dados disponíveis.
"ADF_JAMMED"
O alimentador de documentos está travado.
"ADF_EMPTY"
O alimentador de documentos está vazio.
"COVER_OPEN"
A tampa do scanner está aberta.
"IO_ERROR"
Ocorreu um erro ao se comunicar com o dispositivo.
"ACCESS_DENIED"
O dispositivo requer autenticação.
"NO_MEMORY"
Não há memória suficiente disponível no Chromebook para concluir a operação.
"UNREACHABLE"
O dispositivo não está acessível.
"MISSING"
O dispositivo está desconectado.
"INTERNAL_ERROR"
Ocorreu um erro em outro lugar que não o aplicativo de chamada.
OptionConstraint
Propriedades
-
list
string[] | number[] opcional
-
max
número optional
-
min
número optional
-
quant
número optional
-
tipo
OptionGroup
Propriedades
-
membros
string[]
Uma matriz de nomes de opções na ordem fornecida pelo driver.
-
título
string
Fornece um título que pode ser impresso, por exemplo, "Opções de geometria".
OptionSetting
Propriedades
-
nome
string
Indica o nome da opção a ser definida.
-
tipo
Indica o tipo de dados da opção. O tipo de dados solicitado precisa corresponder ao tipo de dados real da opção em questão.
-
valor
string | número | booleano | número[] opcional
Indica o valor a ser definido. Deixe sem definição para solicitar a configuração automática das opções que têm
autoSettableativado. O tipo de dados fornecido paravalueprecisa corresponder atype.
OptionType
O tipo de dados de uma opção.
Enumeração
"UNKNOWN"
O tipo de dados da opção é desconhecido. A propriedade value será desativada.
"BOOL"
A propriedade value será uma das truefalse.
"INT"
Um número inteiro assinado de 32 bits. A propriedade value será long ou long[], dependendo se a opção aceita mais de um valor.
"FIXED"
Um valor duplo no intervalo de -32768 a 32767,9999 com uma resolução de 1/65535. A propriedade value será double ou double[] dependendo se a opção aceita mais de um valor. Os valores duplos que não podem ser representados com exatidão serão arredondados para o intervalo e a precisão disponíveis.
"STRING"
Uma sequência de bytes, exceto NUL ('\0'). A propriedade value será uma DOMString.
"BUTTON"
Uma opção desse tipo não tem valor. Em vez disso, definir uma opção desse tipo causa um efeito colateral específico da opção no driver do scanner. Por exemplo, uma opção do tipo botão pode ser usada por um driver de scanner para fornecer um meio de selecionar valores padrão ou para informar a um alimentador automático de documentos que avance para a próxima folha de papel.
"GROUP"
Opção de agrupamento. Nenhum valor. Isso é incluído para fins de compatibilidade, mas normalmente não é retornado em valores ScannerOption. Use getOptionGroups() para recuperar a lista de grupos com as opções de participantes.
Enumeração
"UNITLESS"
O valor é um número sem unidade. Por exemplo, pode ser um limite.
"PIXEL"
O valor é um número de pixels, por exemplo, dimensões de digitalização.
"BIT"
O valor é o número de bits, por exemplo, profundidade de cor.
"MM"
O valor é medido em milímetros, por exemplo, dimensões de digitalização.
"DPI"
O valor é medido em pontos por polegada, por exemplo, resolução.
"PERCENT"
O valor é uma porcentagem, por exemplo, brilho.
"MICROSECOND"
O valor é medido em microssegundos, por exemplo, o tempo de exposição.
ReadScanDataResponse
Propriedades
-
dados
ArrayBuffer opcional
Se
resultforSUCCESS, contém o próximo bloco de dados de imagem digitalizada. SeresultforEOF, contém o último bloco de dados de imagem digitalizados. -
estimatedCompletion
número optional
Se
resultforSUCCESS, uma estimativa de quantos dados de verificação foram entregues até o momento, no intervalo de 0 a 100. -
job
string
Fornece o identificador de job transmitido para
readScanData(). -
resultado
O resultado da leitura de dados. Se o valor for
SUCCESS,datavai conter o próximo bloco de dados de imagem (possivelmente de comprimento zero) que está pronto para leitura. Se o valor forEOF, odatavai conter o último bloco de dados de imagem.
ScannerInfo
Propriedades
-
connectionType
Indica como o scanner está conectado ao computador.
-
deviceUuid
string
Para correspondência com outras entradas
ScannerInfoque apontam para o mesmo dispositivo físico. -
imageFormats
string[]
Uma matriz de tipos MIME que podem ser solicitados para as digitalizações retornadas.
-
fabricante
string
O fabricante do scanner.
-
modelo
string
O modelo do scanner, se disponível, ou uma descrição genérica.
-
nome
string
Um nome legível por humanos para o scanner exibir na interface.
-
protocolType
string
Uma descrição legível por humanos do protocolo ou driver usado para acessar o scanner, como Mopria, WSD ou epsonds. Isso é útil principalmente para permitir que um usuário escolha entre protocolos se um dispositivo for compatível com vários deles.
-
scannerId
string
O ID de um scanner específico.
-
seguro
booleano
Se for verdadeiro, o transporte da conexão do scanner não poderá ser interceptado por um listener passivo, como TLS ou USB.
ScannerOption
Propriedades
-
capacidade de configuração
Indica se e como a opção pode ser alterada.
-
restrição
OptionConstraint opcional
Define
OptionConstraintna opção atual do scanner. -
descrição
string
Uma descrição mais longa da opção.
-
isActive
booleano
Indica que a opção está ativa e pode ser definida ou recuperada. Se for falsa, a propriedade
valuenão será definida. -
isAdvanced
booleano
Indica que a interface não deve mostrar essa opção por padrão.
-
isAutoSettable
booleano
Pode ser definido automaticamente pelo driver do scanner.
-
isDetectable
booleano
Indica que essa opção pode ser detectada pelo software.
-
isEmulated
booleano
Emulado pelo driver do scanner se for verdadeiro.
-
nome
string
O nome da opção usando letras ASCII minúsculas, números e traços. Não é permitido usar diacríticos.
-
título
string
Um título de uma linha para impressão.
-
tipo
O tipo de dados contido na propriedade
value, que é necessária para definir essa opção. -
unidade
A unidade de medida dessa opção.
-
valor
string | número | booleano | número[] opcional
O valor atual da opção, se relevante. O tipo de dados dessa propriedade precisa corresponder ao tipo de dados especificado em
type.
ScanOptions
Propriedades
-
maxImages
número optional
O número de imagens verificadas permitido. O padrão é 1.
-
mimeTypes
string[] opcional
Os tipos MIME aceitos pelo autor da chamada.
ScanResults
Propriedades
-
dataUrls
string[]
Uma matriz de URLs de imagem de dados em um formato que pode ser transmitido como o valor "src" para uma tag de imagem.
-
mimeType
string
O tipo MIME do
dataUrls.
SetOptionResult
Propriedades
-
nome
string
Indica o nome da opção que foi definida.
-
resultado
Indica o resultado da definição da opção.
SetOptionsResponse
Propriedades
-
opções
objeto optional
Um mapa de chave-valor atualizado de nomes de opções para valores
ScannerOptionque contêm a nova configuração depois de tentar definir todas as opções fornecidas. Tem a mesma estrutura que a propriedadeoptionsemOpenScannerResponse.Essa propriedade será definida mesmo que algumas opções não tenham sido definidas, mas será desativada se a recuperação da configuração atualizada falhar (por exemplo, se o scanner for desconectado no meio da digitalização).
-
resultados
Uma matriz de resultados, um para cada
OptionSettingtransmitido. -
scannerHandle
string
Fornece o identificador do scanner transmitido para
setOptions().
StartScanOptions
Propriedades
-
formato
string
Especifica o tipo MIME para retornar os dados lidos.
-
maxReadSize
número optional
Se um valor diferente de zero for especificado, limita o máximo de bytes verificados retornados em uma única resposta
readScanDataa esse valor. O menor valor permitido é 32768 (32 KB). Se essa propriedade não for especificada, o tamanho de um bloco retornado poderá ser tão grande quanto a imagem digitalizada inteira.
StartScanResponse
Propriedades
-
job
string opcional
Se
resultforSUCCESS, fornece um identificador que pode ser usado para ler dados de verificação ou cancelar o job. -
resultado
O resultado do início de uma verificação. Se o valor for
SUCCESS, a propriedadejobserá preenchida. -
scannerHandle
string
Fornece o mesmo identificador de scanner que foi transmitido para
startScan().
Métodos
cancelScan()
browser.documentScan.cancelScan(
job: string,
): Promise<CancelScanResponse>
Cancela uma verificação iniciada e retorna uma promessa que é resolvida com um objeto CancelScanResponse. Se um callback for usado, o objeto será transmitido para ele.
Parâmetros
-
job
string
O identificador de um job de verificação ativo retornado anteriormente de uma chamada para
startScan.
Retorna
-
Promise<CancelScanResponse>
Retorna uma promessa que é resolvida com o resultado.
closeScanner()
browser.documentScan.closeScanner(
scannerHandle: string,
): Promise<CloseScannerResponse>
Fecha o scanner com o identificador transmitido e retorna uma promessa que é resolvida com um objeto CloseScannerResponse. Se um callback for usado, o objeto será transmitido para ele. Mesmo que a resposta não seja bem-sucedida, o identificador fornecido se torna inválido e não deve ser usado para outras operações.
Parâmetros
-
scannerHandle
string
Especifica o identificador de um scanner aberto que foi retornado anteriormente de uma chamada para
openScanner.
Retorna
-
Promise<CloseScannerResponse>
Retorna uma promessa que é resolvida com o resultado.
getOptionGroups()
browser.documentScan.getOptionGroups(
scannerHandle: string,
): Promise<GetOptionGroupsResponse>
Recebe os nomes dos grupos e as opções de participantes de um scanner aberto anteriormente por openScanner. Esse método retorna uma promessa que é resolvida com um objeto GetOptionGroupsResponse. Se um callback for transmitido para essa função, os dados retornados serão transmitidos para ele.
Parâmetros
-
scannerHandle
string
O identificador de um scanner aberto retornado de uma chamada para
openScanner.
Retorna
-
Promise<GetOptionGroupsResponse>
Retorna uma promessa que é resolvida com o resultado.
getScannerList()
browser.documentScan.getScannerList(
filter: DeviceFilter,
): Promise<GetScannerListResponse>
Recebe a lista de leitores disponíveis e retorna uma promessa que é resolvida com um objeto GetScannerListResponse. Se um callback for transmitido para essa função, os dados retornados serão transmitidos para ele.
Parâmetros
-
filtro
Um
DeviceFilterque indica quais tipos de scanners devem ser retornados.
Retorna
-
Promise<GetScannerListResponse>
Retorna uma promessa que é resolvida com o resultado e a lista de leitores.
openScanner()
browser.documentScan.openScanner(
scannerId: string,
): Promise<OpenScannerResponse>
Abre um scanner para acesso exclusivo e retorna uma promessa que é resolvida com um objeto OpenScannerResponse. Se um callback for transmitido para essa função, os dados retornados serão transmitidos para ele.
Parâmetros
-
scannerId
string
O ID de um scanner a ser aberto. Esse valor é retornado de uma chamada anterior para
getScannerList.
Retorna
-
Promise<OpenScannerResponse>
Retorna uma promessa que é resolvida com o resultado.
readScanData()
browser.documentScan.readScanData(
job: string,
): Promise<ReadScanDataResponse>
Lê o próximo bloco de dados de imagem disponíveis de um identificador de job ativo e retorna uma promessa que é resolvida com um objeto ReadScanDataResponse. Se um callback for usado, o objeto será transmitido para ele.
**Observação**: é válido que um resultado de resposta seja SUCCESS com um membro data de comprimento zero. Isso significa que o scanner ainda está funcionando, mas ainda não tem dados adicionais prontos. O autor da chamada precisa aguardar um pouco e tentar novamente.
Quando o job de verificação for concluído, a resposta terá o valor de resultado de EOF. Essa resposta pode conter um membro data final diferente de zero.
Parâmetros
-
job
string
Identificador de job ativo retornado anteriormente de
startScan.
Retorna
-
Promise<ReadScanDataResponse>
Retorna uma promessa que é resolvida com o resultado.
scan()
browser.documentScan.scan(
options: ScanOptions,
): Promise<ScanResults>
Realiza uma digitalização de documento e retorna uma promessa que é resolvida com um objeto ScanResults. Se um callback for transmitido para essa função, os dados retornados serão transmitidos para ele.
Parâmetros
-
opções
Um objeto que contém parâmetros de verificação.
Retorna
-
Promise<ScanResults>
Chrome 96+ browser.* desde o Chrome 148Retorna uma promessa que é resolvida com os resultados da verificação.
setOptions()
browser.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
): Promise<SetOptionsResponse>
Define opções no scanner especificado e retorna uma promessa que é resolvida com um objeto SetOptionsResponse que contém o resultado da tentativa de definir cada valor na ordem do objeto OptionSetting transmitido. Se um callback for usado, o objeto será transmitido para ele.
Parâmetros
-
scannerHandle
string
O identificador do scanner em que as opções serão definidas. Esse precisa ser um valor retornado anteriormente de uma chamada para
openScanner. -
opções
Uma lista de objetos
OptionSettinga serem aplicados ao scanner.
Retorna
-
Promise<SetOptionsResponse>
Retorna uma promessa que é resolvida com o resultado.
startScan()
browser.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
): Promise<StartScanResponse>
Inicia uma verificação no scanner especificado e retorna uma promessa que é resolvida com um StartScanResponse. Se um callback for usado, o objeto será transmitido para ele. Se a chamada for bem-sucedida, a resposta vai incluir um identificador de job que pode ser usado em chamadas subsequentes para ler dados de verificação ou cancelar uma verificação.
Parâmetros
-
scannerHandle
string
O identificador de um scanner aberto. Esse precisa ser um valor retornado anteriormente de uma chamada para
openScanner. -
opções
Um objeto
StartScanOptionsque indica as opções a serem usadas para a verificação. A propriedadeStartScanOptions.formatprecisa corresponder a uma das entradas retornadas noScannerInfodo scanner.
Retorna
-
Promise<StartScanResponse>
Retorna uma promessa que é resolvida com o resultado.