Opis
Wykrywaj i pobieraj obrazy z podłączonych skanerów dokumentów za pomocą interfejsu API chrome.documentScan
.
Uprawnienia
documentScan
Dostępność
Document Scan API
Interfejs Document Scan API umożliwia aplikacjom i rozszerzeniom wyświetlanie treść papierowych dokumentów na podłączonym skanerze dokumentów.
Typy
CancelScanResponse
Właściwości
-
zadanie
ciąg znaków
Zapewnia ten sam nick zadania, 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. Jeśli wynik toOperationResult.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
Właściwości
-
wynik
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
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
Wskazuje sposób połączenia skanera z komputerem.
Typ wyliczeniowy
"UNSPECIFIED"
„USB”
"NETWORK"
ConstraintType
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
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
Właściwości
-
grupy
OptionGroup[] opcjonalny
Jeśli
result
toSUCCESS
, zobaczysz listę grup opcji w kolejności podanej przez sterownik skanera. -
wynik
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
Właściwości
-
wynik
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
Właściwości
-
Opcje
obiekt opcjonalny
Jeśli
result
toSUCCESS
, udostępnia mapowanie par klucz-wartość, w którym klucz jest opcją specyficzną dla danego urządzenia, a wartością jest wystąpienieScannerOption
. -
wynik
Wynik otwarcia skanera. Jeśli wartość wynosi
SUCCESS
, właściwościscannerHandle
ioptions
będą wypełnione. -
scannerHandle
ciąg znaków opcjonalny
Jeśli
result
toSUCCESS
, 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
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
Właściwości
-
lista
string[] | liczba[] opcjonalnie
-
maksimum
liczba opcjonalnie
-
min
liczba opcjonalnie
-
kwantowy
liczba opcjonalnie
-
typ
OptionGroup
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
Właściwości
-
nazwa
ciąg znaków
Wskazuje nazwę opcji, która ma zostać ustawiona.
-
typ
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 opcjivalue
musi być zgodny z typem danychtype
.
OptionType
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 true
false.
"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.
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
Właściwości
-
dane
SlateBuffer opcjonalnie
Jeśli
result
ma wartośćSUCCESS
, zawiera następny fragment danych zeskanowanych obrazów. Jeśliresult
ma wartośćEOF
, zawiera ostatni fragment danych zeskanowanego obrazu. -
estimatedCompletion
liczba opcjonalnie
Jeśli
result
toSUCCESS
, 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
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ść toEOF
,data
zawiera ostatni fragment danych obrazu.
ScannerInfo
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
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
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
Właściwości
-
nazwa
ciąg znaków
Wskazuje nazwę ustawionej opcji.
-
wynik
Wskazuje wynik ustawienia tej opcji.
SetOptionsResponse
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
wOpenScannerResponse
.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
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
Właściwości
-
zadanie
ciąg znaków opcjonalny
Jeśli
result
toSUCCESS
, udostępnia uchwyt, którego można używać do odczytu danych skanowania lub anulowania zadania. -
wynik
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()
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
-
odpowiedź
-
Zwroty
-
Promise<CancelScanResponse>
Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
closeScanner()
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
-
odpowiedź
-
Zwroty
-
Promise<CloseScannerResponse>
Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, 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 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
-
scannerHandle
ciąg znaków
Uchwyt otwartego skanera zwrócony z wywołania
openScanner
. -
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(response: GetOptionGroupsResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<GetOptionGroupsResponse>
Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, 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ę 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
-
filtr
DeviceFilter
wskazujący, które typy skanerów powinny zostać zwrócone. -
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(response: GetScannerListResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<GetScannerListResponse>
Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
openScanner()
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
-
odpowiedź
-
Zwroty
-
Promise<OpenScannerResponse>
Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, 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ę 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
-
zadanie
ciąg znaków
Aktywny uchwyt zadania zwrócony wcześniej z
startScan
. -
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(response: ReadScanDataResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<ReadScanDataResponse>
Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
scan()
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
-
wynik
-
Zwroty
-
Promise<ScanResults>
Chrome w wersji 96 lub nowszej, .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
setOptions()
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
-
odpowiedź
-
Zwroty
-
Promise<SetOptionsResponse>
Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
startScan()
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
. -
Opcje
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 wScannerInfo
skanera. -
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(response: StartScanResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<StartScanResponse>
Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.