Opis
Używaj interfejsu chrome.documentScan
API do wykrywania i pobierania obrazów z dołączonych skanerów dokumentów.
Uprawnienia
documentScan
Dostępność
Interfejs Document Scan API
Interfejs Document Scan API umożliwia aplikacjom i rozszerzeniom przeglądanie zawartości dokumentów papierowych na podłączonym skanerze dokumentów.
Typy
CancelScanResponse
Właściwości
-
zadanie
string,
Udostępnia ten sam nick, który został przekazany do
cancelScan()
. -
wynik
Wynik anulowania skanowania backendu. Jeśli wynik to
OperationResult.SUCCESS
lubOperationResult.CANCELLED
, skanowanie zostało anulowane, a skaner jest gotowy do rozpoczęcia nowego skanowania. Jeśli wynikiem jestOperationResult.DEVICE_BUSY
, skaner nadal przetwarza żądanie anulowania. Rozmówca powinien poczekać chwilę i spróbować ponownie wysłać żądanie. Inne wartości wyników wskazują trwały błąd, którego nie należy powtarzać.
CloseScannerResponse
Właściwości
-
wynik
Wynik zamknięcia skanera. Nawet jeśli wartością inną niż
SUCCESS
, nick będzie nieprawidłowy i nie należy go używać w kolejnych operacjach. -
scannerHandle
string,
Ten sam uchwyt skanera, który został przekazany do
closeScanner
.
Configurability
sposób zmiany opcji;
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
Wskazuje sposób podłączenia skanera do komputera.
Typ wyliczeniowy
ConstraintType
Typ danych ograniczenia reprezentowanego przez OptionConstraint
.
Typ wyliczeniowy
"INT_RANGE"
Ograniczenie dotyczące zakresu OptionType.INT
wartości. Właściwości min
, max
i quant
obiektu OptionConstraint
będą miały wartość long
, a jego właściwość list
zostanie nieskonfigurowana.
"FIXED_RANGE"
Ograniczenie zakresu wartości OptionType.FIXED
. Właściwości min
, max
i quant
obiektu OptionConstraint
będą miały wartość double
, a jej właściwość list
zostanie nieskonfigurowana.
"INT_LIST"
Ograniczenie na określonej liście 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ą skonfigurowane.
"FIXED_LIST"
Ograniczenie na określonej liście 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ą skonfigurowane.
"STRING_LIST"
Ograniczenie na określonej liście wartości OptionType.STRING
. Właściwość OptionConstraint.list
będzie zawierać wartości DOMString
, a pozostałe właściwości nie będą skonfigurowane.
DeviceFilter
Właściwości
-
lokalne
wartość logiczna opcjonalna
Zwróć tylko te skanery, które są bezpośrednio podłączone do komputera.
-
Bezpieczny
wartość logiczna opcjonalna
Zwracaj tylko te skanery, które korzystają z bezpiecznego przesyłania, takiego jak USB lub TLS.
GetOptionGroupsResponse
Właściwości
-
grupy
OptionGroup[] opcjonalnie
Jeśli
result
toSUCCESS
, udostępnia listę grup opcji w kolejności podanej przez sterownik skanera. -
wynik
Wynik pobierania grup opcji. Jeśli wartością jest
SUCCESS
, wypełniona zostanie właściwośćgroups
. -
scannerHandle
string,
Ten sam uchwyt skanera, który został przekazany do
getOptionGroups
.
GetScannerListResponse
Właściwości
-
wynik
Wynik wyliczenia. Pamiętaj, że nawet jeśli oznacza to błąd, mogą zostać zwrócone częściowe wyniki.
-
skanery
Prawdopodobnie pusta lista skanerów pasujących do podanego
DeviceFilter
.
OpenScannerResponse
Właściwości
-
Opcje
obiekt opcjonalnie
Jeśli
result
toSUCCESS
, udostępnia mapowanie par klucz-wartość, w którym klucz jest opcją zależną od urządzenia, a wartością jest wystąpienie elementuScannerOption
. -
wynik
Wynik uruchomienia skanera. Jeśli wartością jest
SUCCESS
, wypełnione zostaną właściwościscannerHandle
ioptions
. -
scannerHandle
ciąg znaków opcjonalny
Jeśli
result
toSUCCESS
, jest to uchwyt skanera, który może służyć do dalszych operacji. -
scannerId
string,
Identyfikator skanera przekazany do
openScanner()
.
OperationResult
Wyliczenie, które wskazuje wynik każdej operacji.
Typ wyliczeniowy
„UNKNOWN”
Wystąpił nieznany lub ogólny błąd.
"SUCCESS"
Operacja powiodła się.
"UNSUPPORTED"
Ta operacja nie jest obsługiwana.
"CANCELLED"
operacja została anulowana.
„DEVICE_BUSY”
Urządzenie jest zajęte.
„NIEPRAWIDŁOWE”
Dane lub argument przekazany do metody są nieprawidłowe.
"WRONG_TYPE"
Podana wartość to nieprawidłowy typ danych dla opcji bazowej.
"EOF"
Nie ma więcej danych.
"ADF_JAMMED"
Podajnik dokumentów się zaciął.
"ADF_EMPTY"
Podajnik dokumentów jest pusty.
"COVER_OPEN"
Pokrywa jest otwarta.
„IO_ERROR”
Podczas komunikacji z urządzeniem wystąpił błąd.
"ACCESS_DENIED"
Urządzenie wymaga uwierzytelnienia.
"NO_MEMORY"
Chromebook ma za mało pamięci, aby ukończyć operację.
„UNREACHABLE”
Urządzenie jest nieosiągalne.
„MISSING”
Urządzenie jest odłączone.
„INTERNAL_ERROR”
Wystąpił błąd nie tylko w aplikacji wywołującej.
OptionConstraint
Właściwości
-
lista
string[] | number[] opcjonalny
-
maksimum
Liczba opcjonalnie
-
min
Liczba opcjonalnie
-
kwanty
Liczba opcjonalnie
-
Niestandardowy typ treści
OptionGroup
Właściwości
-
członkowie
string[]
Tablica nazw opcji w kolejności podanej przez kierowcę.
-
title
string,
Oferuje tytuł do wydrukowania, na przykład „Opcje geometrii”.
OptionSetting
Właściwości
-
nazwa
string,
Wskazuje nazwę opcji do ustawienia.
-
Niestandardowy typ treści
Wskazuje typ danych opcji. Żądany typ danych musi być zgodny z rzeczywistym typem danych opcji bazowej.
-
value
ciąg znaków | liczba | wartość logiczna | liczba[] opcjonalny
Wskazuje wartość do ustawienia. Pozostaw nieskonfigurowane, aby żądać automatycznego ustawienia dla opcji z włączoną funkcją
autoSettable
. Typ danych podany dla funkcjivalue
musi być zgodny z parametremtype
.
OptionType
Typ danych opcji.
Typ wyliczeniowy
"UNKNOWN"
Typ danych tej opcji jest nieznany. Właściwość value
zostanie usunięta.
"BOOL"
value
ma wartość true
false.
"INT"
32-bitowa liczba całkowita ze znakiem. W zależności od tego, czy dana opcja przyjmuje więcej niż 1 wartość, właściwość value
będzie miała długość długą lub długa[].
„NAPRAWO”
Wynik zmiennoprzecinkowy w zakresie -32768-32767.9999 z rozdzielczością 1/65535. W zależności od tego, czy dana opcja przyjmuje więcej niż 1 wartość, właściwość value
będzie miała wartość podwójny lub podwójny[]. Wartości podwójne, których nie można dokładnie przedstawić, zostaną zaokrąglone do dostępnego zakresu i dokładności.
"STRING"
Sekwencja bajtów oprócz NUL ('\0'). Właściwość value
będzie mieć typ DOMString.
"BUTTON"
Opcja tego typu nie ma wartości. Ustawienie tego typu opcji powoduje wystąpienie specyficznego dla niej efektu ubocznego w sterowniku skanera. Na przykład opcja wpisana za pomocą przycisku może zostać użyta przez sterownik skanera, aby umożliwić wybór wartości domyślnych lub przekazać automatycznemu podajnikowi dokumentów informację o przejściu do następnej kartki.
"GROUP"
Opcja grupowania. Brak wartości. Jest to uwzględniane w celu zapewnienia zgodności, ale zwykle nie będzie zwracane w wartościach ScannerOption
. Użyj narzędzia getOptionGroups()
, aby pobrać listę grup z ich opcjami członków.
Typ wyliczeniowy
"BEZ JEDNOSTKI"
Ta wartość jest liczbą bez jednostek. Może to być na przykład próg.
"PIXEL"
Wartość to liczba pikseli, na przykład wymiary skanowania.
"BIT"
Wartość to liczba bitów, na przykład głębia kolorów.
"MM"
Ta wartość jest mierzona w milimetrach, np. w wymiarach skanowania.
"DPI"
Ta wartość jest mierzona w kropkach na cal (np. w rozdzielczości).
"PERCENT"
Wartość to procent, np. jasność.
"MIKROSEKUNDA"
Ta wartość jest mierzona w mikrosekundach, np. czas ekspozycji.
ReadScanDataResponse
Właściwości
-
dane
Tablica SlateBuffer opcjonalna
Jeśli
result
ma wartośćSUCCESS
, zawiera następny fragment danych obrazu. Jeśliresult
toEOF
, zawiera ostatni fragment danych zeskanowanego obrazu. -
estimatedCompletion
Liczba opcjonalnie
Jeśli
result
ma wartośćSUCCESS
, to szacowana ilość wszystkich danych skanowania dostarczonych do tej pory (z zakresu od 0 do 100). -
zadanie
string,
Podaje nick zadania przekazany do
readScanData()
. -
wynik
Wynik odczytu danych. Jeśli jego wartość to
SUCCESS
,data
zawiera następny (prawdopodobnie o zerowej długości) fragment danych zdjęcia, który jest gotowy do odczytania. Jeśli jego wartością jestEOF
,data
zawiera ostatni fragment danych obrazu.
ScannerInfo
Właściwości
-
connectionType
Wskazuje sposób podłączenia skanera do komputera.
-
deviceUuid
string,
Do porównywania z innymi wpisami
ScannerInfo
, które wskazują na to samo urządzenie fizyczne. -
imageFormats
string[]
Tablica typów MIME, których można żądać w przypadku zwracanych skanowań.
-
producent
string,
Producent skanera.
-
model
string,
Model skanera (jeśli jest dostępny) lub ogólny opis.
-
nazwa
string,
Zrozumiała dla człowieka nazwa skanera, która będzie wyświetlana w interfejsie.
-
protocolType
string,
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 głównie do umożliwienia użytkownikowi wyboru protokołów, jeśli urządzenie obsługuje wiele protokołów.
-
scannerId
string,
Identyfikator konkretnego skanera.
-
Bezpieczny
boolean
Jeśli ma wartość prawda, pasywny detektor (np. TLS lub USB) nie może przechwycić danych połączenia ze skanerem.
ScannerOption
Właściwości
-
możliwość konfiguracji
Wskazuje, czy i jak można zmienić tę opcję.
-
ograniczenie
OptionConstraint opcjonalnie
Określa
OptionConstraint
w bieżącej opcji skanera. -
opis
string,
Dłuższy opis opcji.
-
isActive
boolean
Wskazuje, że opcja jest aktywna i można ją ustawić lub pobrać. Jeśli ma wartość Fałsz, właściwość
value
nie zostanie ustawiona. -
isAdvanced
boolean
Wskazuje, że domyślnie interfejs nie powinien wyświetlać tej opcji.
-
isAutoSettable
boolean
Może być ustawiane automatycznie przez sterownik skanera.
-
isDetectable
boolean
Oznacza, że tę opcję można wykryć za pomocą oprogramowania.
-
isEmulated
boolean
Jeśli ma wartość prawda, emulacja przez sterownik skanera.
-
nazwa
string,
Nazwa opcji zawierająca małe litery, cyfry i łączniki ASCII. Znaki diakrytyczne są niedozwolone.
-
title
string,
Jednowierszowy tytuł do wydrukowania.
-
Niestandardowy typ treści
Typ danych zawarty w usłudze
value
– wymagany do ustawienia tej opcji. -
Jednostka
Jednostka miary danej opcji.
-
value
ciąg znaków | liczba | wartość logiczna | liczba[] opcjonalny
Bieżąca wartość opcji (jeśli ma znaczenie). Pamiętaj, że typ danych tej usługi musi odpowiadać typowi danych określonemu w polu
type
.
ScanOptions
Właściwości
-
maxImages
Liczba opcjonalnie
Liczba dozwolonych zeskanowanych obrazów. Wartość domyślna to 1.
-
mimeTypes
string[] opcjonalny
Typy MIME akceptowane przez element wywołujący.
ScanResults
Właściwości
-
dataUrls
string[]
Tablica adresów URL obrazów danych w formie, którą można przekazać jako wartość „src” do tagu obrazu.
-
mimeType
string,
Typ MIME elementu
dataUrls
.
SetOptionResult
Właściwości
-
nazwa
string,
Wskazuje nazwę ustawionej opcji.
-
wynik
Wskazuje wynik ustawienia opcji.
SetOptionsResponse
Właściwości
-
Opcje
obiekt opcjonalnie
Po próbie ustawienia wszystkich podanych opcji zaktualizowane mapowanie par klucz-wartość z nazw opcji na wartości
ScannerOption
zawierające nową konfigurację. Ma tę samą strukturę co właściwośćoptions
wOpenScannerResponse
.Ta właściwość będzie ustawiona nawet wtedy, gdy niektóre opcje nie zostały skonfigurowane, ale nie będzie ona ustawiona, jeśli nie uda się pobrać zaktualizowanej konfiguracji (np. jeśli skaner jest odłączony w trakcie skanowania).
-
wyniki
Tablica wyników, po jednym dla każdego przekazanego elementu
OptionSetting
. -
scannerHandle
string,
Podaje uchwyt skanera przekazany do
setOptions()
.
StartScanOptions
Właściwości
-
reklamy
string,
Określa typ MIME, w którym mają być zwracane zeskanowane dane.
-
maxReadSize
Liczba opcjonalnie
Jeśli określona wartość jest inna niż 0, ogranicza maksymalną liczbę przeskanowanych bajtów zwróconych 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ć tak duży, jak cały zeskanowany obraz.
StartScanResponse
Właściwości
-
zadanie
ciąg znaków opcjonalny
Jeśli
result
ma wartośćSUCCESS
, podaje nick, który może służyć do odczytu danych skanowania lub anulowania zadania. -
wynik
Wynik uruchomienia skanowania. Jeśli wartością jest
SUCCESS
, wypełniona zostanie właściwośćjob
. -
scannerHandle
string,
Udostępnia ten sam uchwyt skanera, który został przekazany do
startScan()
.
Metody
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
)
Anuluje rozpoczęte skanowanie i zwraca obietnicę, która kończy się z obiektem CancelScanResponse
. W przypadku użycia wywołania zwrotnego obiekt jest do niego przekazywany.
Parametry
-
zadanie
string,
Nick aktywnego zadania skanowania, który został wcześniej zwrócony przez wywołanie do
startScan
. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(response: CancelScanResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<CancelScanResponse>
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
)
Zamyka skaner z przekazanym uchwytem i zwraca obietnicę, która kończy się obiektem CloseScannerResponse
. W przypadku użycia wywołania zwrotnego obiekt jest do niego przekazywany. Nawet jeśli odpowiedź się nie powiedzie, podany nick staje się nieprawidłowy i nie należy go używać w kolejnych operacjach.
Parametry
-
scannerHandle
string,
Określa uchwyt otwartego skanera, który został wcześniej zwrócony w wyniku wywołania
openScanner
. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(response: CloseScannerResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<CloseScannerResponse>
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
)
Pobiera nazwy grup i opcje członków ze skanera otwartego wcześniej przez openScanner
. Ta metoda zwraca obietnicę, która zwraca wartość z obiektem GetOptionGroupsResponse
. Jeśli do tej funkcji jest przekazywane wywołanie zwrotne, zwracane są do niej zwrócone dane.
Parametry
-
scannerHandle
string,
Uchwyt otwartego skanera zwróconego w wyniku wywołania
openScanner
. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(response: GetOptionGroupsResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<GetOptionGroupsResponse>
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
)
Pobiera listę dostępnych skanerów i zwraca obietnicę, która rozwiązuje się za pomocą obiektu GetScannerListResponse
. Jeśli do tej funkcji jest przekazywane wywołanie zwrotne, zwracane są do niej zwrócone dane.
Parametry
-
filtr
Wartość
DeviceFilter
wskazująca, które skanery należy zwrócić. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(response: GetScannerListResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<GetScannerListResponse>
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
)
Otwiera skaner z dostępem na wyłączność i zwraca obietnicę, która kończy się obiektem OpenScannerResponse
. Jeśli do tej funkcji jest przekazywane wywołanie zwrotne, zwracane są do niej zwrócone dane.
Parametry
-
scannerId
string,
Identyfikator skanera, który ma zostać otwarty. Ta wartość jest zwrócona z poprzedniego wywołania funkcji
getScannerList
. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(response: OpenScannerResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<OpenScannerResponse>
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
)
Odczytuje następny fragment dostępnych danych obrazu z aktywnego uchwytu zadania i zwraca obietnicę, która kończy się z obiektem ReadScanDataResponse
. W przypadku użycia wywołania zwrotnego obiekt jest do niego przekazywany.
**Uwaga:**wynik odpowiedzi może mieć 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 poczekać chwilę i spróbować ponownie.
Po zakończeniu zadania skanowania odpowiedź będzie miała wartość EOF
. Ta odpowiedź może zawierać ostateczną wartość użytkownika data
inną niż 0.
Parametry
-
zadanie
string,
Aktywny uchwyt zadania zwrócony wcześniej z
startScan
. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(response: ReadScanDataResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<ReadScanDataResponse>
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
)
Skanuje dokumenty i zwraca obietnicę, która zostaje rozpoznana jako obiekt ScanResults
. Jeśli do tej funkcji jest przekazywane wywołanie zwrotne, zwracane dane są do niej przekazywane.
Parametry
-
Opcje
Obiekt zawierający parametry skanowania.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: ScanResults) => void
-
wynik
-
Zwroty
-
Promise<ScanResults>
Chrome 96 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
)
Ustawia opcje na wskazanym skanerze i zwraca obietnicę, która zwraca obiekt SetOptionsResponse
zawierający wynik próby ustawienia każdej wartości w kolejności przekazanego obiektu OptionSetting
. W przypadku użycia wywołania zwrotnego obiekt jest do niego przekazywany.
Parametry
-
scannerHandle
string,
Uchwyt skanera, za pomocą którego można ustawić opcje. Powinna to być wartość zwrócona wcześniej z wywołania funkcji
openScanner
. -
Opcje
Lista
OptionSetting
obiektów, które mają zostać zastosowane do skanera. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(response: SetOptionsResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<SetOptionsResponse>
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
)
Rozpoczyna skanowanie na określonym skanerze i zwraca obietnicę, która kończy się błędem StartScanResponse
. W przypadku użycia wywołania zwrotnego obiekt jest do niego przekazywany. Jeśli wywołanie się udało, odpowiedź zawiera uchwyt zadania, którego można używać w kolejnych wywołaniach do odczytu danych skanowania lub anulowania skanowania.
Parametry
-
scannerHandle
string,
Uchwyt otwartego skanera. Powinna to być wartość zwrócona wcześniej z wywołania funkcji
openScanner
. -
Opcje
Obiekt
StartScanOptions
wskazujący opcje, które mają być używane do skanowania. WłaściwośćStartScanOptions.format
musi być zgodna z jednym z wpisów zwróconych w poluScannerInfo
skanera. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(response: StartScanResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<StartScanResponse>
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.