chrome.documentScan

.

Opis

Wykrywaj i pobieraj obrazy z podłączonych skanerów dokumentów za pomocą interfejsu API chrome.documentScan.

Interfejs Document Scan API umożliwia aplikacjom i rozszerzeniom wyświetlanie treść papierowych dokumentów na podłączonym skanerze dokumentów.

Uprawnienia

documentScan

Dostępność

Chrome w wersji 44 lub nowszej Tylko ChromeOS
Dostępność użytkowników interfejsu API dodanych później jest wyświetlana wraz z tymi użytkownikami.

Pojęcia i wykorzystanie

Ten interfejs API obsługuje dwa sposoby skanowania dokumentów. Jeśli Twój przypadek użycia może się sprawdzić ze skanerem i nie wymaga kontroli nad konfiguracją, użyj Metoda scan(). Bardziej złożone przypadki użycia wymagają kombinacji metod, które są obsługiwane tylko w Chrome 124 i nowszych wersjach.

Proste skanowanie

Do prostych przypadków użycia, czyli tych, które mogą działać z dowolnym skanerem i nie wymaga kontroli nad konfiguracją, wywołaj scan(). Ta metoda wymaga ScanOptions i zwraca obietnicę realizowaną przez ScanResults obiektu. Możliwości tej opcji są ograniczone do liczby skanowań i typy MIME akceptowane przez wywołującego. Skanowania są zwracane jako adresy URL do wyświetlania w tagu <img> w interfejsie.

Skomplikowane skanowanie

Złożone skanowanie odbywa się w 3 fazach, jak opisano w tej sekcji. Ten kontur nie opisuje wszystkich argumentów metody ani każdej zwróconej właściwości w odpowiedzi. Jego zadaniem jest tylko zapoznanie się ze skanerem pisma odręcznego w kodzie.

Odkrywanie treści

  1. Zadzwoń pod numer getScannerList(). Dostępne skanery to zwracaną w obietnicy, która rozwiązuje GetScannerListResponse

    • Obiekt odpowiedzi zawiera tablicę wartości ScannerInfo. obiektów.
    • Tablica może zawierać wiele wpisów dla jednego skanera, jeśli ten skaner obsługuje wiele protokołów i metod połączenia.
  2. Wybierz skaner ze zwróconej tablicy i zapisz wartość jej scannerId.

    Używanie właściwości poszczególnych obiektów ScannerInfo aby odróżnić kilka obiektów w ramach tego samego skanera. Obiekty z ten sam skaner będzie miał tę samą wartość właściwości deviceUuid. ScannerInfo zawiera też właściwość imageFormats zawierającą tablicę obsługiwane typy obrazów.

Konfiguracja skanera

  1. Zadzwoń pod numer openScanner(), podając identyfikator zapisanego skanera. Zwraca obietnicę realizowaną przez OpenScannerResponse. Obiekt odpowiedzi zawiera:

    • Usługa w usłudze scannerHandle, którą musisz zapisać.

    • Jest to właściwość opcji zawierająca właściwości specyficzne dla skanera, którą którą trzeba ustawić. Więcej informacji znajdziesz w artykule Pobieranie opcji skanera.

  2. (Opcjonalnie) Jeśli musisz podać wartości opcji skanera, stworzyć interfejs użytkownika. Potrzebujesz opcji skanera udostępnionych przez i musisz pobrać grupy opcji podane przez skaner. Więcej informacji znajdziesz w artykule Tworzenie interfejsu.

  3. Utwórz tablicę obiektów OptionSetting za pomocą automatyzacji lub wartości przekazywanych przez użytkownika. Więcej informacji znajdziesz w artykule Ustawianie opcji skanera i informacjami o nich.

  4. Przekaż tablicę obiektów OptionSetting do setOptions(), aby ustawić opcje skanera. it zwraca obietnicę rozwiązaną za pomocą SetOptionsResponse Ten obiekt zawiera zaktualizowana wersja opcji skanera pobranych w kroku 1 skanera konfiguracji.

    Od zmiany urządzenia może zmienić ograniczenia dla innej opcji, konieczne może być powtórzenie tych kroków.

Skanowanie

  1. Zbuduj obiekt StartScanOptions i przekaż go do startScan(). Zwraca obietnicę satysfakcjonującą dzięki StartScanResponse. Jego właściwość job to uchwyt, którego będziesz używać do odczytywania danych skanowania lub anulowania skanowania.

  2. Przekaż nick zadania do readScanData(). Zwraca ono błąd Obietnica satysfakcjonująca ReadScanDataResponse. Jeśli dane zostały odczytane poprawnie, jego właściwość result równa się SUCCESS i jego właściwość data zawiera ArrayBuffer z częścią skanu. Pamiętaj, że estimatedCompletion zawiera szacowaną wartość procent całości danych dostarczonych do tej pory.

  3. Powtarzaj poprzedni krok, aż właściwość result będzie równa EOF lub wystąpi błąd.

Po zakończeniu skanowania wywołaj closeScanner() z uchwytem skanera zapisanym w kroku 3. Zwraca obietnicę rozwiązaną za pomocą CloseScannerResponse Łączę cancelScan() w dowolnym momencie po utworzeniu zadania zostanie i zakończ skanowanie.

Obiekty odpowiedzi

Wszystkie metody zwracają obietnicę, która kończy się obiektem odpowiedzi jakiegoś rodzaju. Większość z nich zawiera właściwość result, której wartość jest elementem OperationResult Niektóre właściwości obiektów odpowiedzi nie będzie zawierać wartości, chyba że wartość result ma określoną wartość. Te są opisane w dokumentacji dla każdego obiektu odpowiedzi.

Na przykład OpenScannerResponse.scannerHandle ma wartość tylko wtedy, gdy OpenScannerResponse.result to SUCCESS.

Opcje skanera

Opcje skanera znacznie się różnią w zależności od urządzenia. W związku z tym nie można uwzględnia opcje skanera bezpośrednio w interfejsie documentScan API. Poruszanie się po okolicy to OpenScannerResponse (pobrane przy użyciu openScanner()) i SetOptionsResponse (obiekt odpowiedzi dla funkcji setOptions()) zawierają właściwość options, która jest z opcjami specyficznymi dla skanera. Każda opcja to mapowanie par klucz-wartość gdzie klucz jest opcją związaną z konkretnym urządzeniem, a wartością jest wystąpieniem ScannerOption

Ogólnie struktura wygląda tak:

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

Wyobraź sobie na przykład skaner, który zwraca opcje o nazwie „source”. oraz do „rozwiązania”. Struktura zwróconego obiektu options będzie coś wyglądać jak w tym przykładzie. Dla uproszczenia tylko częściowa wartość ScannerOption odpowiedzi.

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

Tworzenie interfejsu użytkownika

Chociaż nie jest wymagane używanie tego interfejsu API, możesz zdecydować, aby użytkownik wybrał wartość dla wybierz konkretną opcję. Wymaga to interfejsu użytkownika. Użyj OpenScannerResponse (otwarte przez: openScanner()), aby pobrać opcje dołączonego jak opisano w poprzedniej sekcji.

Niektóre skanery grupują opcje w sposób specyficzny dla urządzenia. Nie mają wpływu na opcję ale skoro o takich grupach można wspominać w usłudze skanera dokumentacji, takie grupy powinny być widoczne dla użytkownika. Możesz pobrać te grup, wywołując metodę getOptionGroups(). Powoduje to zwrócenie Obietnica satysfakcjonująca GetOptionGroupsResponse. Jest groups zawiera tablicę grup właściwych dla skanera. Skorzystaj z informacji zawartych w dokumencie w tych grupach, aby uporządkować opcje OpenScannerResponse w sieci reklamowej.

{
  scannerHandle: "123456",
  result: SUCCESS,
  groups: [
    {
      title: "Standard",
      members: [ "resolution", "mode", "source" ]
    }
  ]
}

Zgodnie z konfiguracją skanera zmiana jednej opcji może zmienić ograniczenia. w inny sposób. To dlatego setOptionsResponse (obiekt odpowiedzi dla funkcji setOptions()) zawiera inną usługę options. Używaj aby zaktualizować interfejs. W razie potrzeby powtórz to, aż wszystkie opcje ustawiony.

Ustaw opcje skanera

Ustaw opcje skanera, przekazując tablicę OptionSetting obiektów do setOptions() Przykład znajdziesz w sekcji Skanowanie strony o rozmiarze jednoliterowym.

Przykłady

Pobieranie strony jako obiektu blob

Ten przykład pokazuje jeden ze sposobów pobrania strony ze skanera jako obiektu blob, przedstawia użycie atrybutów startScan() i readScanData() z użyciem wartości 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" });
}

Skanuj jedną stronę o rozmiarze liter

Ten przykład pokazuje, jak wybrać skaner, ustawić jego opcje i go otworzyć. it pobiera zawartość pojedynczej strony i zamyka skaner. Ten proces pokazuje korzystanie z interfejsów getScannerList(), openScanner(), setOptions() i closeScanner() Zawartość strony jest pobierana przez wywołanie metody funkcję pageAsBlob() z poprzedniego przykładu.

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);
}

Pokaż konfigurację

Jak wspomnieliśmy w innym miejscu, wyświetlanie użytkownikowi opcji konfiguracji skanera wymaga getOptionGroups() oprócz opcji skanera zwróconych przez połączenie z numerem openScanner(). Dzięki temu opcje mogą być widoczne dla użytkowników przez producenta. Ten przykład pokazuje, jak to zrobić.

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");
      }
    }
  }
}

Typy

CancelScanResponse

Chrome w wersji 125 lub nowszej .

Właściwości

  • zadanie

    ciąg znaków

    Zapewnia ten sam nick zadania, który został przekazany do cancelScan().

  • Wynik anulowania skanowania backendu. Jeśli wynik to OperationResult.SUCCESS lub OperationResult.CANCELLED, skanowanie zostało anulowane, a skaner jest gotowy do rozpoczęcia nowego. Jeśli wynik to OperationResult.DEVICE_BUSY , skaner nadal przetwarza żądanie anulowania. dzwoniący powinien chwilę odczekać i spróbować ponownie. Inne wartości wyników wskazują trwały błąd, którego nie należy ponawiać.

CloseScannerResponse

Chrome w wersji 125 lub nowszej .

Właściwości

  • Wynik zamknięcia skanera. Nawet jeśli ta wartość nie jest wartością SUCCESS, nick będzie nieprawidłowy i nie należy go używać w przypadku dalszych operacji.

  • scannerHandle

    ciąg znaków

    Ten sam nick skanera, który został przekazany do closeScanner.

Configurability

Chrome w wersji 125 lub nowszej .

Jak można zmienić opcję.

Typ wyliczeniowy

"NOT_CONFIGURABLE"
Ta opcja jest tylko do odczytu.

"SOFTWARE_CONFIGURABLE"
Tę opcję można ustawić w oprogramowaniu.

"HARDWARE_CONFIGURABLE"
Tę opcję można ustawić, przełączając lub naciskając przycisk na skanerze.

ConnectionType

Chrome w wersji 125 lub nowszej .

Wskazuje sposób połączenia skanera z komputerem.

Typ wyliczeniowy

"UNSPECIFIED"

„USB”

"NETWORK"

ConstraintType

Chrome w wersji 125 lub nowszej .

Typ danych z ograniczeniem przedstawiony przez OptionConstraint.

Typ wyliczeniowy

"INT_RANGE"
Ograniczenie dotyczące zakresu OptionType.INT wartości. Właściwości min, max i quant elementu OptionConstraint będą miały wartość long, a jego właściwość list zostanie nieskonfigurowana.

"FIXED_RANGE"
Ograniczenie zakresu OptionType.FIXED wartości. Właściwości min, max i quant elementu OptionConstraint będą miały wartość double, a jej właściwość list będzie nieskonfigurowana.

"INT_LIST"
Ograniczenie dotyczące konkretnej listy wartości OptionType.INT. Właściwość OptionConstraint.list będzie zawierać wartości long, a pozostałe właściwości nie będą ustawione.

"FIXED_LIST"
Ograniczenie dotyczące konkretnej listy wartości OptionType.FIXED. Właściwość OptionConstraint.list będzie zawierać wartości double, a pozostałe właściwości nie będą ustawione.

"STRING_LIST"
Ograniczenie dotyczące konkretnej listy OptionType.STRING wartości. Właściwość OptionConstraint.list będzie zawierać wartości DOMString, a pozostałe właściwości nie będą ustawione.

DeviceFilter

Chrome w wersji 125 lub nowszej .

Właściwości

  • lokalne

    Wartość logiczna opcjonalna

    Zwracaj tylko te skanery, które są bezpośrednio podłączone do komputera.

  • Bezpieczny

    Wartość logiczna opcjonalna

    Zwróć tylko te skanery, które korzystają z bezpiecznego przesyłania, np. USB lub TLS.

GetOptionGroupsResponse

Chrome w wersji 125 lub nowszej .

Właściwości

  • grupy

    OptionGroup[] opcjonalny

    Jeśli result to SUCCESS, zobaczysz listę grup opcji w kolejności podanej przez sterownik skanera.

  • Wynik pobierania grup opcji. Jeśli wartość wynosi SUCCESS, właściwość groups zostanie uzupełniona.

  • scannerHandle

    ciąg znaków

    Ten sam nick skanera, który został przekazany do getOptionGroups.

GetScannerListResponse

Chrome w wersji 125 lub nowszej .

Właściwości

  • Wynik wyliczania. Pamiętaj, że częściowe wyniki mogą zostać zwrócone nawet wtedy, gdy oznacza to błąd.

  • skanery

    Prawdopodobnie pusta lista skanerów pasujących do DeviceFilter.

OpenScannerResponse

Chrome w wersji 125 lub nowszej .

Właściwości

  • Opcje

    obiekt opcjonalny

    Jeśli result to SUCCESS, udostępnia mapowanie par klucz-wartość, w którym klucz jest opcją specyficzną dla danego urządzenia, a wartością jest wystąpienie ScannerOption.

  • Wynik otwarcia skanera. Jeśli wartość wynosi SUCCESS, właściwości scannerHandle i options będą wypełnione.

  • scannerHandle

    ciąg znaków opcjonalny

    Jeśli result to SUCCESS, to uchwyt skanera, którego można używać do kolejnych operacji.

  • scannerId

    ciąg znaków

    Identyfikator skanera został przekazany na urządzenie openScanner().

OperationResult

Chrome w wersji 125 lub nowszej .

Wyliczenie wskazujące wynik każdej operacji.

Typ wyliczeniowy

„UNKNOWN”
Wystąpił nieznany lub ogólny błąd.

"success"
Operacja się powiodła.

"UNSUPPORTED"
Ta operacja nie jest obsługiwana.

„CANCELLED”
Operacja została anulowana.

"DEVICE_BUSY"
Urządzenie jest zajęte.

"NOT"
Dane lub argument przekazane do metody są nieprawidłowe.

"WRONG_TYPE"
Podana wartość ma nieprawidłowy typ danych w przypadku opcji podstawowej.

"EOF"
Nie ma więcej danych.

"ADF_JAMMED"
Podajnik dokumentów się zaciął.

"ADF_EMPTY"
Podajnik dokumentów jest pusty.

"COVER_OPEN"
Płaska pokrywa jest otwarta.

"IO_ERROR"
Podczas komunikacji z urządzeniem wystąpił błąd.

"ACCESS_DENIED"
Urządzenie wymaga uwierzytelnienia.

"NO_MEMORY"
Na Chromebooku jest za mało pamięci, aby ukończyć tę operację.

„UNREACHABLE”
Urządzenie jest nieosiągalne.

"MISSING"
Urządzenie jest odłączone.

"INTERNAL_ERROR"
Wystąpił błąd w innym miejscu niż aplikacja do nawiązywania połączenia.

OptionConstraint

Chrome w wersji 125 lub nowszej .

Właściwości

  • lista

    string[] | liczba[] opcjonalnie

  • maksimum

    liczba opcjonalnie

  • min

    liczba opcjonalnie

  • kwantowy

    liczba opcjonalnie

OptionGroup

Chrome w wersji 125 lub nowszej .

Właściwości

  • członkowie

    ciąg znaków[]

    Tablica nazw opcji w kolejności podanej przez kierowcę.

  • tytuł

    ciąg znaków

    Umożliwia wydrukowanie tytułu, np. „Opcje geometrii”.

OptionSetting

Chrome w wersji 125 lub nowszej .

Właściwości

  • nazwa

    ciąg znaków

    Wskazuje nazwę opcji, która ma zostać ustawiona.

  • Wskazuje typ danych opcji. Żądany typ danych musi odpowiadać rzeczywistemu typowi danych opcji bazowej.

  • wartość

    string | liczba | boolean | liczba[] opcjonalnie

    Wskazuje wartość do ustawienia. Pozostaw nieskonfigurowane ustawienie, aby żądać automatycznego ustawienia opcji, które mają włączone ustawienie autoSettable. Typ danych podany dla opcji value musi być zgodny z typem danych type.

OptionType

Chrome w wersji 125 lub nowszej .

Typ danych opcji.

Typ wyliczeniowy

"UNKNOWN"
Typ danych opcji jest nieznany. Właściwość value zostanie nieskonfigurowana.

"BOOL"
Właściwość value będzie mieć jedną z wartości truefalse.

"INT"
32-bitowa liczba całkowita ze znakiem. Właściwość value może mieć długie lub długie (long[]) w zależności od tego, czy opcja używa więcej niż 1 wartości.

„FIXED”
Podwójna wartość w zakresie -32768-32767.9999 z rozdzielczością 1/65535. Właściwość value będzie mieć wartość podwójnej precyzji czy podwójnej precyzji[] w zależności od tego, czy opcja przyjmuje więcej niż jedną wartość. Wartości, których nie można dokładnie przedstawić, są zaokrąglane do dostępnego zakresu i dokładności.

"STRING"
Sekwencja dowolnych bajtów oprócz NUL („\0”). Właściwość value ma postać DOMString.

"Button"
Opcja tego typu nie ma wartości. Zamiast tego ustawienie tego typu powoduje w sterowniku skanera efekt uboczny związany z daną opcją. Sterownik skanera może na przykład użyć opcji wpisywania przycisku, aby umożliwić wybór wartości domyślnych lub poinformowanie automatycznego podajnika dokumentów o przejściu do następnej kartki.

"GROUP"
Opcja grupowania. Brak wartości. Jest to uwzględniane ze względu na zgodność, ale zwykle nie jest zwracane w wartościach ScannerOption. Użyj polecenia getOptionGroups(), aby pobrać listę grup z opcjami członków.

OptionUnit

Chrome w wersji 125 lub nowszej .

Wskazuje typ danych elementu ScannerOption.unit.

Typ wyliczeniowy

"UNITLESS"
Wartość jest liczbą bez jednostek. Może to być na przykład próg.

"PIXEL"
Wartość to liczba pikseli, np. wymiary skanowania.

"BIT"
Wartość to liczba bitów, np. głębia koloru.

"MM"
Wartość jest mierzona w milimetrach, np. wymiary skanu.

"DPI"
Wartość jest mierzona w kropkach na cal, na przykład rozdzielczość.

"PERCENT"
Wartość to procent, na przykład jasność.

"MICROSECOND"
Wartość jest mierzona w mikrosekundach, np. czas ekspozycji.

ReadScanDataResponse

Chrome w wersji 125 lub nowszej .

Właściwości

  • dane

    SlateBuffer opcjonalnie

    Jeśli result ma wartość SUCCESS, zawiera następny fragment danych zeskanowanych obrazów. Jeśli result ma wartość EOF, zawiera ostatni fragment danych zeskanowanego obrazu.

  • estimatedCompletion

    liczba opcjonalnie

    Jeśli result to SUCCESS, oznacza to, jaka część wszystkich danych skanowania została dostarczona do tej pory (w zakresie od 0 do 100).

  • zadanie

    ciąg znaków

    Udostępnia nick zadania przekazany do readScanData().

  • Wynik odczytu danych. Jeśli jego wartość to SUCCESS, data zawiera następny (prawdopodobnie zerowy) fragment danych obrazu, który jest gotowy do odczytu. Jeśli jego wartość to EOF, data zawiera ostatni fragment danych obrazu.

ScannerInfo

Chrome w wersji 125 lub nowszej .

Właściwości

  • connectionType

    Wskazuje sposób połączenia skanera z komputerem.

  • deviceUuid

    ciąg znaków

    Do porównywania z innymi wpisami ScannerInfo, które odnoszą się do tego samego urządzenia fizycznego.

  • imageFormats

    ciąg znaków[]

    Tablica typów MIME, których mogą żądać w przypadku zwracanych skanowań.

  • producent

    ciąg znaków

    Producent skanera.

  • model

    ciąg znaków

    Model skanera, jeśli jest dostępny, lub ogólny opis.

  • nazwa

    ciąg znaków

    Zrozumiała dla człowieka nazwa skanera wyświetlana w interfejsie.

  • protocolType

    ciąg znaków

    Zrozumiały dla człowieka opis protokołu lub sterownika używanego do uzyskiwania dostępu do skanera, np. Mopria, WSD lub epsonds. Przydaje się to przede wszystkim wtedy, gdy użytkownik może wybrać protokoły, jeśli urządzenie obsługuje kilka protokołów.

  • scannerId

    ciąg znaków

    Identyfikator konkretnego skanera.

  • Bezpieczny

    wartość logiczna

    Jeśli ma wartość true (prawda), transport między skanerem nie może zostać przechwycony przez pasywny detektor, taki jak TLS lub USB.

ScannerOption

Chrome w wersji 125 lub nowszej .

Właściwości

  • konfigurowalność

    Wskazuje, czy i w jaki sposób można zmienić tę opcję.

  • ograniczenie

    OptionConstraint opcjonalny

    Definiuje OptionConstraint przy obecnej opcji skanera.

  • opis

    ciąg znaków

    Dłuższy opis opcji.

  • isActive

    wartość logiczna

    Wskazuje, że opcja jest aktywna i można ją ustawić lub pobrać. Jeśli ma wartość false (fałsz), właściwość value nie zostanie ustawiona.

  • isAdvanced

    wartość logiczna

    Wskazuje, że domyślnie ta opcja nie powinna być wyświetlana w interfejsie.

  • isAutoSettable

    wartość logiczna

    Może być konfigurowane automatycznie przez sterownik skanera.

  • isDetectable

    wartość logiczna

    Wskazuje, że tę opcję można wykryć za pomocą oprogramowania.

  • isEmulated

    wartość logiczna

    Emulowana przez sterownik skanera (jeśli ma wartość prawda).

  • nazwa

    ciąg znaków

    Nazwa opcji zawierająca małe litery, cyfry i myślniki. Znaki diakrytyczne nie są dozwolone.

  • tytuł

    ciąg znaków

    Jednowierszowy tytuł do wydrukowania.

  • Typ danych zawarty we właściwości value wymagany do ustawienia tej opcji.

  • Jednostka

    Jednostka miary dla tej opcji.

  • wartość

    string | liczba | boolean | liczba[] opcjonalnie

    Bieżąca wartość opcji (w stosownych przypadkach). Pamiętaj, że typ danych tej usługi musi odpowiadać typowi danych określonemu w type.

ScanOptions

Właściwości

  • maxImages

    liczba opcjonalnie

    Dozwolona liczba zeskanowanych obrazów. Wartość domyślna to 1.

  • mimeTypes

    string[] opcjonalnie

    Typy MIME akceptowane przez wywołującego.

ScanResults

Właściwości

  • dataUrls

    ciąg znaków[]

    Tablica adresów URL obrazów danych w formie, którą można przekazać jako „src” do tagu obrazu.

  • mimeType

    ciąg znaków

    Typ MIME dataUrls.

SetOptionResult

Chrome w wersji 125 lub nowszej .

Właściwości

  • nazwa

    ciąg znaków

    Wskazuje nazwę ustawionej opcji.

  • Wskazuje wynik ustawienia tej opcji.

SetOptionsResponse

Chrome w wersji 125 lub nowszej .

Właściwości

  • Opcje

    obiekt opcjonalny

    Po próbie ustawienia wszystkich podanych opcji zaktualizowaliśmy mapowanie par klucz-wartość z nazw opcji na wartości ScannerOption zawierające nową konfigurację. Ma taką samą strukturę jak właściwość options w OpenScannerResponse.

    Ta właściwość zostanie ustawiona nawet wtedy, gdy niektóre opcje nie zostały ustawione poprawnie, ale nie będzie można jej wyłączyć, jeśli nie uda się pobrać zaktualizowanej konfiguracji (na przykład jeśli skaner jest odłączony w trakcie skanowania).

  • wyniki

    Tablica wyników, po jednym dla każdej przekazanej wartości OptionSetting.

  • scannerHandle

    ciąg znaków

    Udostępnia uchwyt skanera przekazywany do setOptions().

StartScanOptions

Chrome w wersji 125 lub nowszej .

Właściwości

  • reklamy

    ciąg znaków

    Określa typ MIME, w którym mają być zwracane zeskanowane dane.

  • maxReadSize

    liczba opcjonalnie

    Jeśli podasz wartość inną niż 0, ogranicza liczbę skanowanych bajtów zwracanych w pojedynczej odpowiedzi readScanData na tę wartość. Najmniejsza dozwolona wartość to 32 768 (32 KB). Jeśli ta właściwość nie jest określona, rozmiar zwróconego fragmentu może być równy wielkości całego zeskanowanego obrazu.

StartScanResponse

Chrome w wersji 125 lub nowszej .

Właściwości

  • zadanie

    ciąg znaków opcjonalny

    Jeśli result to SUCCESS, udostępnia uchwyt, którego można używać do odczytu danych skanowania lub anulowania zadania.

  • Wynik rozpoczęcia skanowania. Jeśli wartość wynosi SUCCESS, właściwość job zostanie uzupełniona.

  • scannerHandle

    ciąg znaków

    Udostępnia ten sam nick skanera, który został przekazany do urządzenia startScan().

Metody

cancelScan()

Obietnica Chrome w wersji 125 lub nowszej
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

Anuluje rozpoczęte skanowanie i zwraca obietnicę realizowaną przez obiekt CancelScanResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest do niego przekazywany.

Parametry

  • zadanie

    ciąg znaków

    Uchwyt aktywnego zadania skanowania, który został zwrócony z wywołania startScan.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (response: CancelScanResponse) => void

Zwroty

  • Promise&lt;CancelScanResponse&gt;

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

closeScanner()

Obietnica Chrome w wersji 125 lub nowszej
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

Zamyka skaner z przekazanym nickiem i zwraca obietnicę rozwiązaną za pomocą obiektu CloseScannerResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest do niego przekazywany. Nawet jeśli odpowiedź zakończy się niepowodzeniem, podany nick stanie się nieprawidłowy i nie należy go używać do dalszych operacji.

Parametry

  • scannerHandle

    ciąg znaków

    Określa uchwyt otwartego skanera, który został wcześniej zwrócony z wywołania openScanner.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (response: CloseScannerResponse) => void

Zwroty

  • Promise&lt;CloseScannerResponse&gt;

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getOptionGroups()

Obietnica Chrome w wersji 125 lub nowszej
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)

Pobiera nazwy grup i opcje członków ze skanera wcześniej otwartego przez openScanner. Ta metoda zwraca obietnicę realizowaną przez obiekt GetOptionGroupsResponse. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego zostaną do niej przekazane zwrócone dane.

Parametry

Zwroty

  • Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getScannerList()

Obietnica Chrome w wersji 125 lub nowszej
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

Pobiera listę dostępnych skanerów i zwraca obietnicę rozwiązaną za pomocą obiektu GetScannerListResponse. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego zostaną do niej przekazane zwrócone dane.

Parametry

Zwroty

  • Promise&lt;GetScannerListResponse&gt;

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

openScanner()

Obietnica Chrome w wersji 125 lub nowszej
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

Otwiera skaner zapewniający dostęp na wyłączność i zwraca obietnicę rozwiązaną za pomocą obiektu OpenScannerResponse. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego zostaną do niej przekazane zwrócone dane.

Parametry

  • scannerId

    ciąg znaków

    Identyfikator skanera, który ma zostać otwarty. Ta wartość to jedna z poprzednich wywołań funkcji getScannerList.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (response: OpenScannerResponse) => void

Zwroty

  • Promise&lt;OpenScannerResponse&gt;

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

readScanData()

Obietnica Chrome w wersji 125 lub nowszej
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

Odczytuje następny fragment dostępnych danych obrazu z aktywnego uchwytu zadania i zwraca obietnicę realizowaną przez obiekt ReadScanDataResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest do niego przekazywany.

**Uwaga:**odpowiedź może zawierać wartość SUCCESS z elementem data o zerowej długości. Oznacza to, że skaner nadal działa, ale nie ma jeszcze gotowych danych. Rozmówca powinien chwilę zaczekać i spróbować ponownie.

Po zakończeniu zadania skanowania odpowiedź będzie miała wartość EOF. Ta odpowiedź może zawierać końcowy element data o wartości innej niż 0.

Parametry

Zwroty

  • Promise&lt;ReadScanDataResponse&gt;

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

scan()

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

Skanuje dokument i zwraca obietnicę rozwiązaną za pomocą obiektu ScanResults. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego zostaną do niej przekazane zwrócone dane.

Parametry

  • Opcje

    Obiekt zawierający parametry skanowania.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (result: ScanResults) => void

Zwroty

  • Promise&lt;ScanResults&gt;

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setOptions()

Obietnica Chrome w wersji 125 lub nowszej
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)

Ustawia opcje na wybranym skanerze i zwraca obietnicę realizowaną przez obiekt SetOptionsResponse zawierający wynik próby ustawienia wszystkich wartości w kolejności przekazanego obiektu OptionSetting. Jeśli używane jest wywołanie zwrotne, obiekt jest do niego przekazywany.

Parametry

  • scannerHandle

    ciąg znaków

    Uchwyt skanera, aby ustawić opcje. Powinna to być wartość zwrócona wcześniej z wywołania openScanner.

  • Opcje

    Lista OptionSetting obiektów, które mają zostać zastosowane do skanera.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (response: SetOptionsResponse) => void

Zwroty

  • Promise&lt;SetOptionsResponse&gt;

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

startScan()

Obietnica Chrome w wersji 125 lub nowszej
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)

Rozpoczyna skanowanie na wybranym skanerze i zwraca obietnicę realizowaną przez StartScanResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest do niego przekazywany. Jeśli wywołanie zostało wykonane, odpowiedź zawiera uchwyt zadania, którego można używać w kolejnych wywołaniach do odczytywania danych skanowania lub anulowania skanowania.

Parametry

  • scannerHandle

    ciąg znaków

    Uchwyt otwartego skanera. Powinna to być wartość zwrócona wcześniej z wywołania openScanner.

  • Obiekt StartScanOptions wskazujący opcje, które mają być używane podczas skanowania. Właściwość StartScanOptions.format musi być zgodna z jednym z wpisów zwróconych w ScannerInfo skanera.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (response: StartScanResponse) => void

Zwroty

  • Promise&lt;StartScanResponse&gt;

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.