Descrição
Use a API chrome.documentScan
para descobrir e recuperar imagens de scanners de documentos anexados.
Permissões
documentScan
Disponibilidade
API Document Scan
A API Document Scan foi projetada para permitir que apps e extensões vejam o conteúdo de documentos em papel em um scanner de documentos anexado.
Tipos
CancelScanResponse
Propriedades
- job
string
Fornece o mesmo identificador de job que foi transmitido para
cancelScan()
. - resultado
O resultado do cancelamento da verificação do back-end. Se o resultado for
OperationResult.SUCCESS
ouOperationResult.CANCELLED
, a verificação foi cancelada e o scanner está pronto para iniciar uma nova. Se o resultado forOperationResult.DEVICE_BUSY
, o scanner ainda estará processando o cancelamento solicitado. O autor da chamada deverá esperar um pouco e tentar a solicitação 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 poderá ser usado em outras operações. - scannerHandle
string
O mesmo identificador de scanner transmitido para
closeScanner
.
Configurability
Como uma opção pode ser mudada.
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 da restrição representada 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
será desdefinida.
"FIXED_RANGE"
A restrição em um intervalo de valores OptionType.FIXED
. As propriedades min
, max
e quant
de OptionConstraint
serão double
, e a propriedade list
será desdefinida.
"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 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 scanners conectados diretamente ao computador.
- seguro
booleano opcional
Retorne apenas scanners que usam um transporte seguro, como USB ou TLS.
GetOptionGroupsResponse
Propriedades
- grupos
OptionGroup[] optional
Se
result
forSUCCESS
, vai fornecer uma lista de grupos de opções na ordem fornecida pelo driver do scanner. - resultado
O resultado da obtenção dos grupos de opções. Se o valor for
SUCCESS
, a propriedadegroups
será preenchida. - scannerHandle
string
O mesmo identificador de scanner 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
DeviceFilter
fornecido.
OpenScannerResponse
Propriedades
- opções
objeto opcional
Se
result
forSUCCESS
, forneça um mapeamento 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 propriedadesscannerHandle
eoptions
serão preenchidas. - scannerHandle
string opcional
Se
result
forSUCCESS
, um identificador do scanner que pode ser usado para outras operações. - scannerId
string
O ID do scanner transmitido para
openScanner()
.
OperationResult
Um enum 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á obstruído.
"ADF_EMPTY"
O alimentador de documentos está vazio.
"COVER_OPEN"
A tampa do scanner de mesa está aberta.
"IO_ERROR"
Ocorreu um erro ao se comunicar com o dispositivo.
"ACCESS_DENIED"
O dispositivo exige autenticação.
"NO_MEMORY"
Não há memória suficiente disponível no Chromebook para concluir a operação.
"UNREACHABLE"
Não é possível acessar o dispositivo.
"MISSING"
O dispositivo está desconectado.
"INTERNAL_ERROR"
Ocorreu um erro em algum lugar que não seja o aplicativo de chamada.
OptionConstraint
Propriedades
- list
string[] | number[] opcional
- máx.
number optional
- min
number optional
- quant
number optional
- tipo
OptionGroup
Propriedades
- membros
string[]
Uma matriz de nomes de opções na ordem fornecida pelo motorista.
- título
string
Fornece um título para impressão, 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 subjacente.
- valor
string | number | boolean | number[] optional
Indica o valor a ser definido. Deixe sem definir para solicitar a configuração automática de opções que têm
autoSettable
ativado. O tipo de dados fornecido paravalue
precisa 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á desdefinida.
"BOOL"
A propriedade value
será uma das true
false.
"INT"
Um número inteiro assinado de 32 bits. A propriedade value
será "long" ou "long[]", dependendo de a opção aceitar mais de um valor.
"FIXED"
Um ponto flutuante de precisão dupla no intervalo -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. Valores de ponto flutuante de precisão dupla que não podem ser representados exatamente 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 selecionar valores padrão ou para dizer 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 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 varredura.
"BIT"
O valor é o número de bits, por exemplo, a profundidade de cor.
"MM"
O valor é medido em milímetros, por exemplo, dimensões de varredura.
"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, tempo de exposição.
ReadScanDataResponse
Propriedades
- dados
ArrayBuffer opcional
Se
result
forSUCCESS
, vai conter o próximo bloco de dados de imagem digitalizada. Seresult
forEOF
, vai conter o último bloco de dados de imagem verificados. - estimatedCompletion
number optional
Se
result
forSUCCESS
, uma estimativa de quantos dados totais da verificação foram entregues até o momento, no intervalo de 0 a 100. - job
string
Fornece o identificador do job transmitido para
readScanData()
. - resultado
O resultado da leitura de dados. Se o valor for
SUCCESS
,data
vai conter o próximo bloco (possivelmente de comprimento zero) de dados de imagem pronto para leitura. Se o valor forEOF
, odata
vai 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
ScannerInfo
que apontam para o mesmo dispositivo físico. - imageFormats
string[]
Uma matriz de tipos MIME que podem ser solicitados para verificaçõ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 para o scanner exibir na interface.
- protocolType
string
Uma descrição legível 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 "true", 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 mudada.
- restrição
OptionConstraint opcional
Define
OptionConstraint
na opção de scanner atual. - 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 "false", a propriedade
value
nã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 por software.
- isEmulated
booleano
Emulada pelo driver do scanner se for "true".
- nome
string
O nome da opção usando letras ASCII minúsculas, números e traços. Acentos não são permitidos.
- título
string
Um título de uma linha que pode ser impresso.
- tipo
O tipo de dados contido na propriedade
value
, que é necessário para definir essa opção. - unidade
A unidade de medida para essa opção.
- valor
string | number | boolean | number[] optional
O valor atual da opção, se relevante. O tipo de dados dessa propriedade precisa corresponder ao tipo especificado em
type
.
ScanOptions
Propriedades
- maxImages
number optional
O número de imagens digitalizadas permitidas. O padrão é 1.
- mimeTypes
string[] opcional
Os tipos MIME aceitos pelo autor da chamada.
ScanResults
Propriedades
- dataUrls
string[]
Uma matriz de URLs de imagens 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 definida.
- resultado
Indica o resultado da definição da opção.
SetOptionsResponse
Propriedades
- opções
objeto opcional
Um mapeamento atualizado de chave-valor de nomes de opções para valores
ScannerOption
que contém a nova configuração depois de tentar definir todas as opções fornecidas. Ela tem a mesma estrutura da propriedadeoptions
emOpenScannerResponse
.Essa propriedade será definida mesmo que algumas opções não tenham sido definidas corretamente, mas será desmarcada se a recuperação da configuração atualizada falhar (por exemplo, se o scanner for desconectado no meio da verificação).
- resultados
Uma matriz de resultados, um para cada
OptionSetting
transmitido. - scannerHandle
string
Fornece o identificador do scanner transmitido para
setOptions()
.
StartScanOptions
Propriedades
- formato
string
Especifica o tipo MIME em que os dados verificados serão retornados.
- maxReadSize
number optional
Se um valor diferente de zero for especificado, limita o máximo de bytes verificados retornados em uma única resposta
readScanData
a 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
result
forSUCCESS
, vai fornecer um identificador que pode ser usado para ler dados de verificação ou cancelar o job. - resultado
O resultado de iniciar uma verificação. Se o valor for
SUCCESS
, a propriedadejob
será preenchida. - scannerHandle
string
Fornece o mesmo identificador de scanner que foi transmitido para
startScan()
.
Métodos
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
): 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 a ele.
Parâmetros
- job
string
O identificador de um job de verificação ativo retornado anteriormente de uma chamada para
startScan
. - callback
função opcional
O parâmetro
callback
tem esta aparência:(response: CancelScanResponse) => void
- resposta
-
Retorna
-
Promise<CancelScanResponse>
As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
): 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 a ele. Mesmo que a resposta não seja um sucesso, 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
. - callback
função opcional
O parâmetro
callback
tem esta aparência:(response: CloseScannerResponse) => void
- resposta
-
Retorna
-
Promise<CloseScannerResponse>
As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
): Promise<GetOptionGroupsResponse>
Recebe os nomes dos grupos e as opções de membros de um scanner aberto anteriormente por openScanner
. Esse método retorna uma promessa que é resolvida com um objeto GetOptionGroupsResponse
. Se um callback for transmitido a essa função, os dados retornados serão transmitidos a ele.
Parâmetros
- scannerHandle
string
O identificador de um scanner aberto retornado de uma chamada para
openScanner
. - callback
função opcional
O parâmetro
callback
tem esta aparência:(response: GetOptionGroupsResponse) => void
- resposta
-
Retorna
-
Promise<GetOptionGroupsResponse>
As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
): Promise<GetScannerListResponse>
Recebe a lista de scanners disponíveis e retorna uma promessa que é resolvida com um objeto GetScannerListResponse
. Se um callback for transmitido a essa função, os dados retornados serão transmitidos a ele.
Parâmetros
- filtrar
Um
DeviceFilter
que indica quais tipos de scanners devem ser retornados. - callback
função opcional
O parâmetro
callback
tem esta aparência:(response: GetScannerListResponse) => void
- resposta
-
Retorna
-
Promise<GetScannerListResponse>
As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
): Promise<OpenScannerResponse>
Abre um scanner para acesso exclusivo e retorna uma promessa que é resolvida com um objeto OpenScannerResponse
. Se um callback for transmitido a essa função, os dados retornados serão transmitidos a ele.
Parâmetros
- scannerId
string
O ID de um scanner a ser aberto. Esse valor é retornado de uma chamada anterior para
getScannerList
. - callback
função opcional
O parâmetro
callback
tem esta aparência:(response: OpenScannerResponse) => void
- resposta
-
Retorna
-
Promise<OpenScannerResponse>
As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
): 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 a 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. A pessoa que está ligando precisa esperar um pouco e tentar de novo.
Quando o job de verificação for concluído, a resposta terá o valor do resultado EOF
. Essa resposta pode conter um membro data
final diferente de zero.
Parâmetros
- job
string
Identificador de job ativo retornado anteriormente de
startScan
. - callback
função opcional
O parâmetro
callback
tem esta aparência:(response: ReadScanDataResponse) => void
- resposta
-
Retorna
-
Promise<ReadScanDataResponse>
As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
): Promise<ScanResults>
Realiza uma verificação de documento e retorna uma promessa que é resolvida com um objeto ScanResults
. Se um callback for transmitido a essa função, os dados retornados serão transmitidos a ele.
Parâmetros
- opções
Um objeto que contém parâmetros de verificação.
- callback
função opcional
O parâmetro
callback
tem esta aparência:(result: ScanResults) => void
- resultado
-
Retorna
-
Promise<ScanResults>
Chrome 96+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
): Promise<SetOptionsResponse>
Define opções no scanner especificado e retorna uma promessa que é resolvida com um objeto SetOptionsResponse
contendo o resultado da tentativa de definir cada valor na ordem do objeto OptionSetting
transmitido. Se um callback for usado, o objeto será transmitido a ele.
Parâmetros
- scannerHandle
string
O identificador do scanner para definir opções. Esse valor precisa ter sido retornado anteriormente de uma chamada para
openScanner
. - opções
Uma lista de objetos
OptionSetting
a serem aplicados ao scanner. - callback
função opcional
O parâmetro
callback
tem esta aparência:(response: SetOptionsResponse) => void
- resposta
-
Retorna
-
Promise<SetOptionsResponse>
As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
): 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 a 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 valor precisa ter sido retornado anteriormente de uma chamada para
openScanner
. - opções
Um objeto
StartScanOptions
que indica as opções a serem usadas na verificação. A propriedadeStartScanOptions.format
precisa corresponder a uma das entradas retornadas noScannerInfo
do scanner. - callback
função opcional
O parâmetro
callback
tem esta aparência:(response: StartScanResponse) => void
- resposta
-
Retorna
-
Promise<StartScanResponse>
As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.