chrome.documentScan

refresh date: 2026-09-25 robots: noindex

Descrição

Use a API chrome.documentScan para descobrir e recuperar imagens de scanners de documentos anexados.

Permissões

documentScan

Disponibilidade

Chrome 44+ Somente no ChromeOS

API Document Scan

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.

Tipos

CancelScanResponse

Chrome 125+

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.SUCCESS ou OperationResult.CANCELLED, a verificação foi cancelada, e o scanner está pronto para iniciar uma nova verificação. Se o resultado for OperationResult.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

Chrome 125+

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

Chrome 125+

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

Chrome 125+

Indica como o scanner está conectado ao computador.

Enumeração

"UNSPECIFIED"

"USB"

"NETWORK"

ConstraintType

Chrome 125+

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

Chrome 125+

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

Chrome 125+

Propriedades

  • grupos

    OptionGroup[] opcional

    Se result for SUCCESS, 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 propriedade groups será preenchida.

  • scannerHandle

    string

    O mesmo identificador de scanner que foi transmitido para getOptionGroups.

GetScannerListResponse

Chrome 125+

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

Chrome 125+

Propriedades

  • opções

    objeto optional

    Se result for SUCCESS, fornece um mapa de chave-valor em que a chave é uma opção específica do dispositivo e o valor é uma instância de ScannerOption.

  • resultado

    O resultado da abertura do scanner. Se o valor for SUCCESS, as propriedades scannerHandle e options serão preenchidas.

  • scannerHandle

    string opcional

    Se result for SUCCESS, um identificador para o scanner que pode ser usado em outras operações.

  • scannerId

    string

    O ID do scanner transmitido para openScanner().

OperationResult

Chrome 125+

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

Chrome 125+

Propriedades

  • list

    string[] | number[] opcional

  • max

    número optional

  • min

    número optional

  • quant

    número optional

OptionGroup

Chrome 125+

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

Chrome 125+

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 autoSettable ativado. O tipo de dados fornecido para value precisa corresponder a type.

OptionType

Chrome 125+

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.

OptionUnit

Chrome 125+

Indica o tipo de dados de ScannerOption.unit.

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

Chrome 125+

Propriedades

  • dados

    ArrayBuffer opcional

    Se result for SUCCESS, contém o próximo bloco de dados de imagem digitalizada. Se result for EOF, contém o último bloco de dados de imagem digitalizados.

  • estimatedCompletion

    número optional

    Se result for SUCCESS, 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, data vai conter o próximo bloco de dados de imagem (possivelmente de comprimento zero) que está pronto para leitura. Se o valor for EOF, o data vai conter o último bloco de dados de imagem.

ScannerInfo

Chrome 125+

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 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

Chrome 125+

Propriedades

  • capacidade de configuração

    Indica se e como a opção pode ser alterada.

  • restrição

    Define OptionConstraint na 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 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 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

Chrome 125+

Propriedades

  • nome

    string

    Indica o nome da opção que foi definida.

  • resultado

    Indica o resultado da definição da opção.

SetOptionsResponse

Chrome 125+

Propriedades

  • opções

    objeto optional

    Um mapa de chave-valor atualizado de nomes de opções para valores ScannerOption que contêm a nova configuração depois de tentar definir todas as opções fornecidas. Tem a mesma estrutura que a propriedade options em OpenScannerResponse.

    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 OptionSetting transmitido.

  • scannerHandle

    string

    Fornece o identificador do scanner transmitido para setOptions().

StartScanOptions

Chrome 125+

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 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

Chrome 125+

Propriedades

  • job

    string opcional

    Se result for SUCCESS, 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 propriedade job será preenchida.

  • scannerHandle

    string

    Fornece o mesmo identificador de scanner que foi transmitido para startScan().

Métodos

cancelScan()

Promise Chrome 125+
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 para ele.

Parâmetros

  • job

    string

    O identificador de um job de verificação ativo retornado anteriormente de uma chamada para startScan.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (response: CancelScanResponse) => void

Retorna

  • Retorna uma promessa que é resolvida com o resultado.

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

closeScanner()

Promise Chrome 125+
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 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.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (response: CloseScannerResponse) => void

Retorna

  • Retorna uma promessa que é resolvida com o resultado.

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getOptionGroups()

Promise Chrome 125+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)
: 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

Retorna

  • Retorna uma promessa que é resolvida com o resultado.

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getScannerList()

Promise Chrome 125+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)
: 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

Retorna

  • Retorna uma promessa que é resolvida com o resultado e a lista de leitores.

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

openScanner()

Promise Chrome 125+
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 para essa função, os dados retornados serão transmitidos para ele.

Parâmetros

Retorna

  • Retorna uma promessa que é resolvida com o resultado.

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

readScanData()

Promise Chrome 125+
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 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

Retorna

  • Retorna uma promessa que é resolvida com o resultado.

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

scan()

Promessa
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)
: 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.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (result: ScanResults) => void

Retorna

  • Promise<ScanResults>

    Chrome 96 ou mais recente

    Retorna uma promessa que é resolvida com os resultados da verificação.

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setOptions()

Promise Chrome 125+
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 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 OptionSetting a serem aplicados ao scanner.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (response: SetOptionsResponse) => void

Retorna

  • Retorna uma promessa que é resolvida com o resultado.

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

startScan()

Promise Chrome 125+
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 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 StartScanOptions que indica as opções a serem usadas para a verificação. A propriedade StartScanOptions.format precisa corresponder a uma das entradas retornadas no ScannerInfo do scanner.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (response: StartScanResponse) => void

Retorna

  • Retorna uma promessa que é resolvida com o resultado.

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.