chrome.documentScan

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 as conteúdo de documentos em papel em um scanner anexado.

Permissões

documentScan

Disponibilidade

Chrome 44 ou superior Somente ChromeOS
A disponibilidade para membros da API adicionados posteriormente é mostrada com eles.

Conceitos e uso

Essa API oferece suporte a duas formas de digitalização de documentos. Se seu caso de uso pode funcionar com qualquer scanner e não exija o controle da configuração, use o scan(). Casos de uso mais complicados exigem uma combinação de métodos, que só são compatíveis com o Chrome 124 e mais recentes.

Verificação simples

Para casos de uso simples, ou seja, aqueles que podem funcionar com qualquer scanner e não exigir o controle da configuração, chame scan(). Esse método recebe uma Objeto ScanOptions e retorna uma promessa que é resolvida com ScanResults. objeto. Os recursos dessa opção são limitados ao número de verificações e os tipos MIME que serão aceitos pelo autor da chamada. As verificaçõ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. Esse resumo não descreve todos os argumentos de método ou todas as propriedades retornadas em uma resposta. Tem como objetivo fornecer um guia geral para scanners de escrita o código-fonte.

Discovery

  1. Chame getScannerList(). Os scanners disponíveis são em uma promessa que é resolvida com uma GetScannerListResponse

    • O objeto de resposta contém uma matriz de ScannerInfo objetos.
    • A matriz pode conter várias entradas para um único scanner se ele oferece suporte a vários protocolos ou métodos de conexão.
  2. Selecione um scanner da matriz retornada e salve o valor de seu scannerId.

    Usar as propriedades de objetos ScannerInfo individuais para distinguir entre vários objetos do mesmo scanner. Os objetos do mesmo scanner terão o mesmo valor para a propriedade deviceUuid. ScannerInfo também contém uma propriedade imageFormats com uma matriz de tipos de imagem com suporte.

Configuração do scanner

  1. Chame openScanner() e transmita o ID do scanner salvo. Ela retorna uma promessa que é resolvida com OpenScannerResponse. O objeto de resposta contém:

    • Uma propriedade scannerHandle, que você precisará salvar.

    • Uma propriedade de opções contendo propriedades específicas do scanner, que você que precisam ser definidas. Consulte as opções de Recuperar verificação para mais informações.

  2. (Opcional) Se você precisar que o usuário informe valores para as opções de scanner, construir uma interface do usuário. Você vai precisar das opções de scanner fornecidas pelo etapa anterior, e você terá que recuperar os grupos de opções fornecidos pelo de leitura. Consulte Construir uma interface do usuário para mais informações.

  3. Crie uma matriz de objetos OptionSetting usando valores programáticos ou fornecidos pelo usuário. Consulte "Definir opções do scanner" para mais informações informações imprecisas ou inadequadas.

  4. Transmita a matriz de objetos OptionSetting para setOptions() para definir as opções do scanner. Ela retorna uma promessa que é resolvida com uma SetOptionsResponse Esse objeto contém um versão atualizada das opções do scanner recuperadas na etapa 1 do scanner configuração do Terraform.

    Como a alteração de um pode alterar as restrições de outra opção, talvez seja necessário repetir essas etapas várias vezes.

Verificação

  1. Crie e transmita um objeto StartScanOptions. para startScan(). Ela retorna uma promessa que resolve com um StartScanResponse. Sua propriedade job é um identificador que você usará para ler ou cancelar a verificação.

  2. Transmita o identificador do job para readScanData(). Ela retorna uma Promessa que se resolve com uma Objeto ReadScanDataResponse. Se os dados foram lidos com sucesso, sua propriedade result é igual a SUCCESS e sua propriedade data contém um ArrayBuffer com parte da análise. Observe que estimatedCompletion contém um a porcentagem do total de dados entregues até o momento.

  3. Repita a etapa anterior até que a propriedade result seja igual a EOF ou gere um erro.

Quando chegar ao fim da verificação, chame closeScanner() com a alça do leitor salva na etapa 3: Ela retorna uma promessa que é resolvida com uma CloseScannerResponse Ligando cancelScan() a qualquer momento após a criação do job vai finalizar 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, cujo valor é um membro de OperationResult. Algumas propriedades dos objetos de resposta não conterá valores, a menos que o valor de result tenha um valor específico. Esses relacionamentos são descritos na referência para cada objeto de resposta.

Por exemplo, OpenScannerResponse.scannerHandle só terá um valor quando OpenScannerResponse.result é igual a SUCCESS.

Opções do scanner

As opções do scanner variam consideravelmente de acordo com o dispositivo. Consequentemente, não é possível refletem as opções do scanner diretamente na API documentScan. Para se locomover isso, o OpenScannerResponse (extraído usando openScanner()) e o SetOptionsResponse (o objeto de resposta para setOptions()) contêm uma propriedade options que é uma que contém opções específicas do scanner. Cada opção é um mapeamento de chave-valor em que a chave é uma opção específica do dispositivo e o valor é uma instância do ScannerOption

A estrutura geralmente é assim:

{
  "key1": { scannerOptionInstance }
  "key2": { scannerOptionInstance }
}

Por exemplo, imagine um scanner que retorna opções com o nome "source" e "resolução". A estrutura do objeto options retornado terá uma aparência semelhante como no exemplo a seguir. Para simplificar, apenas parte de ScannerOption as respostas são exibidas.

{
  "source": {
    "name": "source",
    "type": OptionType.STRING,
...
},
  "resolution": {
    "name": "resolution",
    "type": OptionType.INT,
...
  },
...
}

Criar uma interface do usuário

Embora não seja obrigatório usar essa API, você pode querer que o usuário escolha o valor para uma opção específica. Isso exige uma interface do usuário. Use o OpenScannerResponse (abre por openScanner()) para recuperar as opções do anexo conforme descrito na seção anterior.

Alguns scanners agrupam as opções de maneiras específicas do dispositivo. Eles não afetam a opção mas como esses grupos podem ser mencionados nos resultados documentação, esses grupos devem ser mostrados ao usuário. Você pode recuperar essas grupos chamando getOptionGroups(). Isso retorna uma Promessa que se resolve com uma Objeto GetOptionGroupsResponse. Seu 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 na configuração do Scanner, a alteração de uma opção pode alterar as restrições ou outra opção. É por isso que setOptionsResponse (o objeto de resposta para setOptions()) contém outra propriedade options. Usar para atualizar a interface do usuário. Em seguida, repita conforme necessário até que todas as opções estejam definido.

Definir opções do scanner

Defina as opções do scanner passando uma matriz de Objetos OptionSetting para setOptions() Para ver um exemplo, consulte a seção a seguir, Digitalizar uma página com tamanho de letra.

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 chrome.documentScan.startScan(
      handle, {format: "image/jpeg"});
  if (response.result != chrome.documentScan.OperationResult.SUCCESS) {
    return null;
  }
  const job = response.job;

  let imgParts = [];
  response = await chrome.documentScan.readScanData(job);
  while (response.result == chrome.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 chrome.documentScan.readScanData(job);
  }
  if (response.result != chrome.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 em tamanho letra

Este exemplo mostra como selecionar um scanner, definir as opções e abri-lo. Ela 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 chrome.documentScan.getScannerList({ secure: true });
    let scanner = await chrome.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: chrome.documentScan.OptionType.STRING,
                value: { value: source }
            });
            break;
        }
    }
    options.push({
        name: "tl-x",
        type: chrome.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-x",
        type: chrome.documentScan.OptionType.FIXED,
        value: 215.9  // 8.5" in mm
    });
    options.push({
        name: "tl-y",
        type: chrome.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-y",
        type: chrome.documentScan.OptionType.FIXED,
        value: 279.4  // 11" in mm
    });
    response = await chrome.documentScan.setOptions(handle, options);

    let imgBlob = await pageAsBlob(handle);
    if (imgBlob != null) {
        // Insert imgBlob into DOM, save to disk, etc
    }
    await chrome.documentScan.closeScanner(handle);
}

Mostrar a configuração

Conforme dito em outro lugar, mostrar as opções de configuração de um scanner ao usuário exige chame getOptionGroups(), além das opções do scanner retornadas de uma para openScanner(). Dessa forma, as opções podem ser mostradas aos usuários definidos pelo fabricante. Este exemplo mostra como fazer isso.

async function showConfig() {
  let response = await chrome.documentScan.getScannerList({ secure: true });
  let scanner = await chrome.documentScan.openScanner(
      response.scanners[0].scannerId);
  let groups = await chrome.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

Chrome 125 ou versões mais recentes

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 está processando o cancelamento solicitado. o autor da chamada precisa aguardar um pouco e tentar a solicitação novamente. Outros valores de resultados indicam um erro permanente que não deve ser repetido.

CloseScannerResponse

Chrome 125 ou versões mais recentes

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 para outras operações.

  • scannerHandle

    string

    O mesmo identificador do scanner que foi transmitido para closeScanner.

Configurability

Chrome 125 ou versões mais recentes

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 ativando ou pressionando um botão no scanner.

ConnectionType

Chrome 125 ou versões mais recentes

Indica como o scanner está conectado ao computador.

Enumeração

"NÃO ESPECIFICADO"

"USB"

"REDE"

ConstraintType

Chrome 125 ou versões mais recentes

O tipo de dados de restrição representado por uma 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 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 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 ou versões mais recentes

Propriedades

  • Local

    booleano opcional

    Só retorne scanners que estejam diretamente conectados ao computador.

  • seguro

    booleano opcional

    Só retorna scanners que usam um transporte seguro, como USB ou TLS.

GetOptionGroupsResponse

Chrome 125 ou versões mais recentes

Propriedades

  • grupos

    OptionGroup[] opcional

    Se result for SUCCESS, uma lista de grupos de opções será fornecida na ordem fornecida pelo driver do scanner.

  • resultado

    O resultado do recebimento dos grupos de opções. Se o valor for SUCCESS, a propriedade groups será preenchida.

  • scannerHandle

    string

    O mesmo identificador do scanner que foi transmitido para getOptionGroups.

GetScannerListResponse

Chrome 125 ou versões mais recentes

Propriedades

  • resultado

    O resultado da enumeração. É possível retornar resultados parciais mesmo que isso indique um erro.

  • scanners

    ScannerInfo [em inglês]

    Uma lista possivelmente vazia de scanners que correspondem ao DeviceFilter fornecido.

OpenScannerResponse

Chrome 125 ou versões mais recentes

Propriedades

  • opções

    objeto opcional

    Se result for SUCCESS, fornece um mapeamento 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 ou versões mais recentes

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 bem-sucedida.

"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 passados para o método não são válidos.

"WRONG_TYPE"
O valor fornecido é o tipo de dado incorreto 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 capa da mesa está aberta.

"IO_ERROR"
Ocorreu um erro de comunicação com o dispositivo.

"ACCESS_DENIED"
O dispositivo exige autenticação.

"NO_MEMORY"
Não há memória suficiente 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 algum lugar diferente do aplicativo de chamada.

OptionConstraint

Chrome 125 ou versões mais recentes

Propriedades

  • list

    string[] | number[] opcional

  • max

    número opcional

  • min

    número opcional

  • quantitativa

    número opcional

OptionGroup

Chrome 125 ou versões mais recentes

Propriedades

  • membros

    string[]

    Uma matriz de nomes de opções na ordem fornecida pelo driver.

  • título

    string

    Fornece um título para impressão, por exemplo, "Opções de geometria".

OptionSetting

Chrome 125 ou versões mais recentes

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 | número | boolean | number[] opcional

    Indica o valor a ser definido. Deixe sem definição para solicitar a configuração automática das opções com o autoSettable ativado. O tipo de dados fornecido para value precisa corresponder a type.

OptionType

Chrome 125 ou versões mais recentes

O tipo de dados de uma opção.

Enumeração

"UNKNOWN"
O tipo de dados da opção é desconhecido. A propriedade value não será definida.

"BOOL"
A propriedade value será uma das truefalsas.

"INT"
Um número inteiro assinado de 32 bits. A propriedade value será longa ou longa[], dependendo de a opção ter mais de um valor.

"FIXED"
Um duplo no intervalo -32768-32767.9999 com resolução de 1/65535. A propriedade value será double ou double[], dependendo de a opção ter mais de um valor. Valores duplos que não podem ser representados exatamente serão arredondados para o intervalo e a precisão disponíveis.

"STRING"
Uma sequência de qualquer bytes, exceto NUL ("\0"). A propriedade value será uma DOMString.

"Botão"
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 digitada por botão pode ser usada por um driver de digitalização para fornecer um meio de selecionar valores padrão ou informar um alimentador automático de documentos para avançar 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 extrair a lista de grupos com as opções de participantes.

OptionUnit

Chrome 125 ou versões mais recentes

Indica o tipo de dados para 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 verificaçã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 verificação.

"DPI"
O valor é medido em pontos por polegada, por exemplo, resolução.

"PERCENT"
O valor é uma porcentagem, por exemplo, brilho.

"MICROSECONDS"
O valor é medido em microssegundos, por exemplo, o tempo de exposição.

ReadScanDataResponse

Chrome 125 ou versões mais recentes

Propriedades

  • dados

    ArrayBuffer opcional

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

  • estimatedCompletion

    número opcional

    Se result for SUCCESS, uma estimativa de quanto do total de dados de verificação foi entregue 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 conterá o próximo bloco de dados de imagem (possivelmente com comprimento zero) que está pronto para leitura. Se o valor for EOF, data conterá o último bloco de dados da imagem.

ScannerInfo

Chrome 125 ou versões mais recentes

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 verificações retornadas.

  • fabricante

    string

    O fabricante do scanner.

  • modelo

    string

    O modelo do scanner, se estiver 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 oferecer suporte a vários protocolos.

  • 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

Chrome 125 ou versões mais recentes

Propriedades

  • configurabilidade

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

  • restrição

    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 falso, a propriedade value não será definida.

  • isAdvanced

    booleano

    Indica que a interface não precisa exibir 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 verdadeiro.

  • nome

    string

    O nome da opção com letras ASCII minúsculas, números e traços. Diacríticos não são permitidos.

  • 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 desta opção.

  • valor

    string | número | boolean | number[] opcional

    O valor atual da opção, se relevante. O tipo de dados dessa propriedade precisa corresponder ao especificado em type.

ScanOptions

Propriedades

  • maxImages

    número opcional

    O número permitido de imagens digitalizadas. 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 "src" para uma tag de imagem.

  • mimeType

    string

    É o tipo MIME da dataUrls.

SetOptionResult

Chrome 125 ou versões mais recentes

Propriedades

  • nome

    string

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

  • resultado

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

SetOptionsResponse

Chrome 125 ou versões mais recentes

Propriedades

  • opções

    objeto opcional

    Um mapeamento de chave-valor atualizado de nomes de opções para valores ScannerOption contendo a nova configuração depois de tentar definir todas as opções fornecidas. Ela tem a mesma estrutura que a propriedade options no OpenScannerResponse.

    Essa propriedade será definida mesmo que algumas opções não tenham sido definidas, mas não será definida 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 a alça do leitor transmitida para setOptions().

StartScanOptions

Chrome 125 ou versões mais recentes

Propriedades

  • formato

    string

    Especifica o tipo MIME para retornar os dados verificados.

  • maxReadSize

    número opcional

    Se um valor diferente de zero for especificado, limitará o máximo de bytes verificados retornados em uma única resposta readScanData a esse valor. O menor valor permitido é 32.768 (32 KB). Se essa propriedade não for especificada, o tamanho de uma parte retornada pode ser tão grande quanto toda a imagem digitalizada.

StartScanResponse

Chrome 125 ou versões mais recentes

Propriedades

  • job

    string opcional

    Se result for SUCCESS, fornece um handle que pode ser usado para ler os dados da 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 do scanner que foi transmitido para startScan().

Métodos

cancelScan()

Promessa Chrome 125 ou versões mais recentes
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

Cancela uma verificação iniciada e retorna uma promessa que é resolvida com um objeto CancelScanResponse. Se um callback for usado, o objeto será passado 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 opcional

    O parâmetro callback tem esta aparência:

    (response: CancelScanResponse) => void

Retorna

  • Promise&lt;CancelScanResponse&gt;

    O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

closeScanner()

Promessa Chrome 125 ou versões mais recentes
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

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á passado 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 opcional

    O parâmetro callback tem esta aparência:

    (response: CloseScannerResponse) => void

Retorna

  • Promise&lt;CloseScannerResponse&gt;

    O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

getOptionGroups()

Promessa Chrome 125 ou versões mais recentes
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)

Recebe os nomes de grupos e as opções de participantes de um verificador aberto anteriormente pelo openScanner. Esse método retorna uma promessa que é resolvida com um objeto GetOptionGroupsResponse. Se um retorno de chamada for passado para essa função, os dados retornados serão passados a ela.

Parâmetros

Retorna

  • O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

getScannerList()

Promessa Chrome 125 ou versões mais recentes
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

Recebe a lista de scanners disponíveis e retorna uma promessa que é resolvida com um objeto GetScannerListResponse. Se um retorno de chamada for passado para essa função, os dados retornados serão passados a ela.

Parâmetros

Retorna

  • Promise&lt;GetScannerListResponse&gt;

    O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

openScanner()

Promessa Chrome 125 ou versões mais recentes
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

Abre um scanner para acesso exclusivo e retorna uma promessa que é resolvida com um objeto OpenScannerResponse. Se um retorno de chamada for passado para essa função, os dados retornados serão passados a ela.

Parâmetros

  • scannerId

    string

    O ID de um scanner a ser aberto. Esse valor é aquele retornado de uma chamada anterior para getScannerList.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (response: OpenScannerResponse) => void

Retorna

  • Promise&lt;OpenScannerResponse&gt;

    O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

readScanData()

Promessa Chrome 125 ou versões mais recentes
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

Lê o próximo bloco de dados de imagem disponíveis de um gerenciador de job ativo e retorna uma promessa que é resolvida com um objeto ReadScanDataResponse. Se um callback for usado, o objeto será passado 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 EOF. Essa resposta pode conter um membro data final diferente de zero.

Parâmetros

Retorna

  • Promise&lt;ReadScanDataResponse&gt;

    O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

scan()

Promessa
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)

Executa uma verificação de documentos e retorna uma promessa que é resolvida com um objeto ScanResults. Se um retorno de chamada for passado para essa função, os dados retornados serão passados a ela.

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

Retorna

  • Promise&lt;ScanResults&gt;

    Chrome 96 ou versão mais recente

    O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

setOptions()

Promessa Chrome 125 ou versões mais recentes
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)

Define as opções no scanner especificado e retorna uma promessa que é resolvida com um objeto SetOptionsResponse contendo o resultado da tentativa de definir todos os valores na ordem do objeto OptionSetting transmitido. Se um callback for usado, o objeto será passado para ele.

Parâmetros

  • scannerHandle

    string

    A alça do leitor onde as opções serão definidas. 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 opcional

    O parâmetro callback tem esta aparência:

    (response: SetOptionsResponse) => void

Retorna

  • Promise&lt;SetOptionsResponse&gt;

    O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

startScan()

Promessa Chrome 125 ou versões mais recentes
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)

Inicia uma verificação no scanner especificado e retorna uma promessa que é resolvida com um StartScanResponse. Se um callback for usado, o objeto será passado para ele. Se a chamada for bem-sucedida, a resposta incluirá um identificador de job que pode ser usado em chamadas subsequentes para ler os dados de uma verificação ou cancelar uma verificação.

Parâmetros

  • scannerHandle

    string

    A alça de um scanner aberto. 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 opcional

    O parâmetro callback tem esta aparência:

    (response: StartScanResponse) => void

Retorna

  • Promise&lt;StartScanResponse&gt;

    O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.