refresh date: 2026-09-25 robots: noindex
Opis
Używaj interfejsu API chrome.documentScan do wykrywania i pobierania obrazów z podłączonych skanerów dokumentów.
Uprawnienia
documentScanDostępność
Document Scan API
Interfejs Document Scan API umożliwia aplikacjom i rozszerzeniom wyświetlanie treści dokumentów papierowych na podłączonym skanerze dokumentów.
Typy
CancelScanResponse
Właściwości
-
zadanie
tekst
Zapewnia ten sam uchwyt zadania, który został przekazany do
cancelScan(). -
wynik
Wynik anulowania skanowania przez backend. Jeśli wynik to
OperationResult.SUCCESSlubOperationResult.CANCELLED, skanowanie zostało anulowane, a skaner jest gotowy do rozpoczęcia nowego skanowania. Jeśli wynik toOperationResult.DEVICE_BUSY, skaner nadal przetwarza żądanie anulowania. Obiekt wywołujący powinien chwilę poczekać i spróbować ponownie. Inne wartości wyniku wskazują na błąd stały, którego nie należy próbować naprawiać.
CloseScannerResponse
Właściwości
-
wynik
Wynik zamknięcia skanera. Nawet jeśli ta wartość nie jest równa
SUCCESS, uchwyt będzie nieprawidłowy i nie należy go używać do dalszych operacji. -
scannerHandle
tekst
Ten sam uchwyt skanera, który został przekazany do
closeScanner.
Configurability
Jak można zmienić opcję.
Typ wyliczeniowy
"NOT_CONFIGURABLE"
Opcja jest tylko do odczytu.
"SOFTWARE_CONFIGURABLE"
Opcję można ustawić w oprogramowaniu.
"HARDWARE_CONFIGURABLE"
Opcję można ustawić, przełączając lub naciskając przycisk na skanerze.
ConnectionType
Wskazuje, jak skaner jest podłączony do komputera.
Typ wyliczeniowy
"UNSPECIFIED"
„USB”
"NETWORK"
ConstraintType
Typ danych ograniczenia reprezentowany przez OptionConstraint.
Typ wyliczeniowy
"INT_RANGE"
Ograniczenie zakresu wartości OptionType.INT. Właściwości min, max i quant elementu OptionConstraint będą miały wartość long, a właściwość list nie będzie ustawiona.
"FIXED_RANGE"
Ograniczenie zakresu wartości OptionType.FIXED. Właściwości min, max i quant elementu OptionConstraint będą miały wartość double, a właściwość list nie będzie ustawiona.
"INT_LIST"
Ograniczenie dotyczące określonej 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 do określonej 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 określonej listy 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ą ustawione.
DeviceFilter
Właściwości
-
lokalne
boolean opcjonalne
Zwracaj tylko skanery, które są bezpośrednio podłączone do komputera.
-
Bezpieczny
boolean opcjonalne
Zwracaj tylko skanery, które korzystają z bezpiecznego transportu, np. USB lub TLS.
GetOptionGroupsResponse
Właściwości
-
grupy
OptionGroup[] opcjonalny
Jeśli
resulttoSUCCESS, podaje listę grup opcji w kolejności dostarczonej przez sterownik skanera. -
wynik
Wynik pobierania grup opcji. Jeśli wartość to
SUCCESS, zostanie wypełniona właściwośćgroups. -
scannerHandle
tekst
Ten sam uchwyt skanera, który został przekazany do
getOptionGroups.
GetScannerListResponse
Właściwości
-
wynik
Wynik wyliczenia. Pamiętaj, że wyniki częściowe mogą zostać zwrócone, nawet jeśli wskazuje to na błąd.
-
skanery
Lista skanerów, które pasują do podanego
DeviceFilter(może być pusta).
OpenScannerResponse
Właściwości
-
Opcje
object opcjonalny
Jeśli
resulttoSUCCESS, udostępnia mapowanie klucz-wartość, gdzie klucz to opcja dotycząca urządzenia, a wartość to instancjaScannerOption. -
wynik
Wynik otwarcia skanera. Jeśli wartość to
SUCCESS, zostaną wypełnione właściwościscannerHandleioptions. -
scannerHandle
ciąg znaków opcjonalny
Jeśli
resulttoSUCCESS, uchwyt do skanera, którego można używać do dalszych operacji. -
scannerId
tekst
Identyfikator skanera przekazany do
openScanner().
OperationResult
Typ wyliczeniowy wskazujący wynik każdej operacji.
Typ wyliczeniowy
"UNKNOWN"
Wystąpił nieznany lub ogólny błąd.
"SUCCESS"
Operacja się powiodła.
"UNSUPPORTED"
Operacja nie jest obsługiwana.
"CANCELLED"
Operacja została anulowana.
"DEVICE_BUSY"
Urządzenie jest zajęte.
"INVALID"
Dane lub argument przekazany do metody są nieprawidłowe.
"WRONG_TYPE"
Podana wartość jest nieprawidłowym typem danych dla opcji podstawowej.
"EOF"
Brak dostępnych danych.
"ADF_JAMMED"
Podajnik dokumentów jest zablokowany.
"ADF_EMPTY"
Podajnik dokumentów jest pusty.
"COVER_OPEN"
Pokrywa skanera płaskiego jest otwarta.
"IO_ERROR"
Podczas komunikacji z urządzeniem wystąpił błąd.
"ACCESS_DENIED"
Urządzenie wymaga uwierzytelnienia.
"NO_MEMORY"
Na Chromebooku nie ma wystarczającej ilości pamięci, aby ukończyć operację.
"UNREACHABLE"
Urządzenie jest nieosiągalne.
"MISSING"
Urządzenie jest odłączone.
"INTERNAL_ERROR"
Wystąpił błąd w innym miejscu niż aplikacja wywołująca.
OptionConstraint
Właściwości
-
lista
string[] | number[] opcjonalne
-
maksimum
number optional
-
min
number optional
-
quant
number optional
-
typ
OptionGroup
Właściwości
-
członkowie
string[]
Tablica nazw opcji w kolejności podanej przez kierowcę.
-
tytuł
tekst
Podaje tytuł do wydrukowania, np. „Opcje geometrii”.
OptionSetting
Właściwości
-
nazwa
tekst
Wskazuje nazwę opcji do ustawienia.
-
typ
Wskazuje typ danych opcji. Żądany typ danych musi być zgodny z rzeczywistym typem danych opcji bazowej.
-
wartość
string | number | boolean | number[] opcjonalnie
Wskazuje wartość, którą należy ustawić. Pozostaw to pole puste, aby poprosić o automatyczne ustawienie opcji, które mają włączone
autoSettable. Typ danych podany dlavaluemusi być zgodny ztype.
OptionType
Typ danych opcji.
Typ wyliczeniowy
"UNKNOWN"
Typ danych opcji jest nieznany. Właściwość value zostanie usunięta.
"BOOL"
Właściwość value będzie mieć wartość truefalse.
"INT"
32-bitowa liczba całkowita ze znakiem. Właściwość value będzie mieć typ long lub long[], w zależności od tego, czy opcja przyjmuje więcej niż 1 wartość.
"FIXED"
Liczba zmiennoprzecinkowa podwójnej precyzji z zakresu od -32768 do 32767,9999 o rozdzielczości 1/65535. Właściwość value będzie mieć typ double lub double[] w zależności od tego, czy opcja przyjmuje więcej niż 1 wartość. Wartości typu Double, których nie można dokładnie przedstawić, zostaną zaokrąglone do dostępnego zakresu i precyzji.
"STRING"
Ciąg dowolnych bajtów z wyjątkiem NUL ('\0'). Właściwość value będzie ciągiem DOMString.
"BUTTON"
Opcja tego typu nie ma wartości. Zamiast tego ustawienie opcji tego typu powoduje efekt uboczny w sterowniku skanera. Na przykład opcja typu przycisk może być używana przez sterownik skanera do wybierania wartości domyślnych lub do informowania automatycznego podajnika dokumentów o przejściu do następnego arkusza papieru.
"GROUP"
Opcja grupowania. Brak wartości. Jest on uwzględniony ze względu na zgodność, ale zwykle nie jest zwracany w wartościach ScannerOption. Użyj getOptionGroups(), aby pobrać listę grup z opcjami członków.
Typ wyliczeniowy
"UNITLESS"
Wartość jest liczbą bez jednostki. Może to być na przykład wartość progowa.
"PIXEL"
Wartość jest liczbą pikseli, np. wymiary skanu.
"BIT"
Wartość to liczba bitów, np. głębia kolorów.
"MM"
Wartość jest mierzona w milimetrach, np. wymiary skanu.
"DPI"
Wartość jest mierzona w punktach na cal, np. rozdzielczość.
"PERCENT"
Wartość jest wyrażona w procentach, np. jasność.
"MICROSECOND"
Wartość jest mierzona w mikrosekundach, np. czas ekspozycji.
ReadScanDataResponse
Właściwości
-
dane
ArrayBuffer opcjonalny
Jeśli
resulttoSUCCESS, zawiera następny fragment danych zeskanowanego obrazu. JeśliresulttoEOF, zawiera ostatni fragment zeskanowanych danych obrazu. -
estimatedCompletion
number optional
Jeśli
resulttoSUCCESS, szacunkowa ilość danych skanowania dostarczonych do tej pory, w zakresie od 0 do 100. -
zadanie
tekst
Podaje uchwyt zadania przekazany do
readScanData(). -
wynik
Wynik odczytu danych. Jeśli wartość to
SUCCESS,datazawiera następny (być może o zerowej długości) fragment danych obrazu, który jest gotowy do odczytu. Jeśli wartość toEOF,datazawiera ostatni fragment danych obrazu.
ScannerInfo
Właściwości
-
connectionType
Wskazuje, jak skaner jest podłączony do komputera.
-
deviceUuid
tekst
Do dopasowywania do innych wpisów
ScannerInfo, które wskazują na to samo urządzenie fizyczne. -
imageFormats
string[]
Tablica typów MIME, o które można poprosić w przypadku zwróconych skanów.
-
producent
tekst
Producent skanera.
-
model
tekst
Model skanera, jeśli jest dostępny, lub ogólny opis.
-
nazwa
tekst
Zrozumiała dla człowieka nazwa skanera, która będzie wyświetlana w interfejsie.
-
protocolType
tekst
Zrozumiały dla człowieka opis protokołu lub sterownika używanego do uzyskiwania dostępu do skanera, np. Mopria, WSD lub epsonds. Jest to przydatne głównie wtedy, gdy użytkownik może wybrać protokół, jeśli urządzenie obsługuje ich kilka.
-
scannerId
tekst
Identyfikator konkretnego skanera.
-
Bezpieczny
wartość logiczna
Jeśli ma wartość „true”, transport połączenia skanera nie może zostać przechwycony przez pasywnego odbiorcę, takiego jak TLS lub USB.
ScannerOption
Właściwości
-
możliwość konfiguracji
Wskazuje, czy i jak można zmienić opcję.
-
ograniczenie
OptionConstraint opcjonalne
Definiuje
OptionConstraintw bieżącej opcji skanera. -
opis
tekst
Dłuższy opis opcji.
-
isActive
wartość logiczna
Wskazuje, że opcja jest aktywna i można ją ustawić lub pobrać. Jeśli ma wartość Fałsz, właściwość
valuenie zostanie ustawiona. -
isAdvanced
wartość logiczna
Wskazuje, że interfejs nie powinien domyślnie wyświetlać tej opcji.
-
isAutoSettable
wartość logiczna
Może być ustawiany automatycznie przez sterownik skanera.
-
isDetectable
wartość logiczna
Wskazuje, że tę opcję można wykryć za pomocą oprogramowania.
-
isEmulated
wartość logiczna
Jeśli ma wartość Prawda, jest emulowany przez sterownik skanera.
-
nazwa
tekst
Nazwa opcji zawierająca małe litery ASCII, cyfry i myślniki. Znaki diakrytyczne są niedozwolone.
-
tytuł
tekst
Drukowalny jednowierszowy tytuł.
-
typ
Typ danych zawarty we właściwości
value, który jest wymagany do ustawienia tej opcji. -
Jednostka
Jednostka miary tej opcji.
-
wartość
string | number | boolean | number[] opcjonalnie
Bieżąca wartość opcji (jeśli dotyczy). Pamiętaj, że typ danych tej właściwości musi być zgodny z typem danych określonym w
type.
ScanOptions
Właściwości
-
maxImages
number optional
Dozwolona liczba zeskanowanych obrazów. Wartość domyślna to 1.
-
mimeTypes
string[] opcjonalne
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
tekst
Typ MIME elementu
dataUrls.
SetOptionResult
Właściwości
-
nazwa
tekst
Wskazuje nazwę ustawionej opcji.
-
wynik
Wskazuje wynik ustawienia opcji.
SetOptionsResponse
Właściwości
-
Opcje
object opcjonalny
Zaktualizowane mapowanie klucz-wartość z nazw opcji na wartości
ScannerOptionzawierające nową konfigurację po próbie ustawienia wszystkich podanych opcji. Ma taką samą strukturę jak właściwośćoptionswOpenScannerResponse.Ta właściwość zostanie ustawiona, nawet jeśli niektóre opcje nie zostały ustawione, ale zostanie usunięta, jeśli nie uda się pobrać zaktualizowanej konfiguracji (np. jeśli skaner zostanie odłączony w trakcie skanowania).
-
wyniki
Tablica wyników, po jednym dla każdego przekazanego elementu
OptionSetting. -
scannerHandle
tekst
Zapewnia uchwyt skanera przekazany do
setOptions().
StartScanOptions
Właściwości
-
format
tekst
Określa typ MIME, w którym mają być zwracane zeskanowane dane.
-
maxReadSize
number optional
Jeśli podano wartość inną niż 0, ogranicza maksymalną liczbę zeskanowanych bajtów zwracanych w jednej odpowiedzi
readScanDatado tej wartości. Najmniejsza dozwolona wartość to 32768 (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
resulttoSUCCESS, udostępnia uchwyt, którego można użyć do odczytu danych skanowania lub anulowania zadania. -
wynik
Wynik rozpoczęcia skanowania. Jeśli wartość to
SUCCESS, zostanie wypełniona właściwośćjob. -
scannerHandle
tekst
Udostępnia ten sam uchwyt skanera, który został przekazany do
startScan().
Metody
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
): Promise<CancelScanResponse>
Anuluje rozpoczęte skanowanie i zwraca obiekt Promise, który rozwiązuje się z obiektem CancelScanResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego.
Parametry
-
zadanie
tekst
Uchwyt aktywnego zadania skanowania zwrócony wcześniej przez wywołanie funkcji
startScan. -
callback
function opcjonalne
Parametr
callbackwygląda tak:(response: CancelScanResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<CancelScanResponse>
Zwraca obiekt Promise, który rozwiązuje się z wynikiem.
Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
): Promise<CloseScannerResponse>
Zamyka skaner z przekazanym uchwytem i zwraca obiekt Promise, który rozwiązuje się z obiektem CloseScannerResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego. Nawet jeśli odpowiedź nie jest prawidłowa, podany uchwyt staje się nieprawidłowy i nie należy go używać do dalszych operacji.
Parametry
-
scannerHandle
tekst
Określa uchwyt otwartego skanera, który został wcześniej zwrócony przez wywołanie funkcji
openScanner. -
callback
function opcjonalne
Parametr
callbackwygląda tak:(response: CloseScannerResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<CloseScannerResponse>
Zwraca obiekt Promise, który rozwiązuje się z wynikiem.
Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
): Promise<GetOptionGroupsResponse>
Pobiera nazwy grup i opcje członków ze skanera otwartego wcześniej przez openScanner. Ta metoda zwraca obiekt Promise, który jest rozwiązywany za pomocą obiektu GetOptionGroupsResponse. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego zostaną do niego przekazane zwrócone dane.
Parametry
-
scannerHandle
tekst
Uchwyt otwartego skanera zwrócony przez wywołanie funkcji
openScanner. -
callback
function opcjonalne
Parametr
callbackwygląda tak:(response: GetOptionGroupsResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<GetOptionGroupsResponse>
Zwraca obiekt Promise, który rozwiązuje się z wynikiem.
Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
): Promise<GetScannerListResponse>
Pobiera listę dostępnych skanerów i zwraca obiekt Promise, który rozwiązuje się z obiektem GetScannerListResponse. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego zostaną do niego przekazane zwrócone dane.
Parametry
-
filtr
DeviceFilterwskazujący, które typy skanerów powinny zostać zwrócone. -
callback
function opcjonalne
Parametr
callbackwygląda tak:(response: GetScannerListResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<GetScannerListResponse>
Zwraca obiekt Promise, który rozwiązuje się z wynikiem i listą skanerów.
Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
): Promise<OpenScannerResponse>
Otwiera skaner z wyłącznym dostępem i zwraca obiekt Promise, który rozwiązuje się z obiektem OpenScannerResponse. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego zostaną do niego przekazane zwrócone dane.
Parametry
-
scannerId
tekst
Identyfikator skanera, który ma zostać otwarty. Ta wartość jest zwracana z poprzedniego wywołania funkcji
getScannerList. -
callback
function opcjonalne
Parametr
callbackwygląda tak:(response: OpenScannerResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<OpenScannerResponse>
Zwraca obiekt Promise, który rozwiązuje się z wynikiem.
Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
): Promise<ReadScanDataResponse>
Odczytuje następny fragment dostępnych danych obrazu z aktywnego uchwytu zadania i zwraca obiekt Promise, który rozwiązuje się z obiektem ReadScanDataResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego.
**Uwaga:**prawidłowy wynik odpowiedzi to SUCCESS z elementem data o zerowej długości. Oznacza to, że skaner nadal działa, ale nie ma jeszcze gotowych dodatkowych danych. Osoba dzwoniąca powinna odczekać chwilę i spróbować ponownie.
Po zakończeniu zadania skanowania odpowiedź będzie miała wartość wyniku EOF. Ta odpowiedź może zawierać końcowy element data o wartości innej niż 0.
Parametry
-
zadanie
tekst
Uchwyt aktywnego zadania zwrócony wcześniej przez
startScan. -
callback
function opcjonalne
Parametr
callbackwygląda tak:(response: ReadScanDataResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<ReadScanDataResponse>
Zwraca obiekt Promise, który rozwiązuje się z wynikiem.
Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
): Promise<ScanResults>
Skanuje dokument i zwraca obiekt Promise, który jest rozwiązywany za pomocą obiektu ScanResults. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego zostaną do niego przekazane zwrócone dane.
Parametry
-
Opcje
Obiekt zawierający parametry skanowania.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(result: ScanResults) => void
-
wynik
-
Zwroty
-
Promise<ScanResults>
Chrome 96 lub nowsza wersjaZwraca obiekt Promise, który rozwiązuje się z wynikami skanowania.
Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
): Promise<SetOptionsResponse>
Ustawia opcje określonego skanera i zwraca obiekt Promise, który rozwiązuje się z obiektem SetOptionsResponse zawierającym wynik próby ustawienia każdej wartości w kolejności przekazanego obiektu OptionSetting. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego.
Parametry
-
scannerHandle
tekst
Uchwyt skanera, dla którego chcesz ustawić opcje. Powinna to być wartość zwrócona wcześniej przez wywołanie funkcji
openScanner. -
Opcje
Lista obiektów
OptionSetting, które mają zostać zastosowane do skanera. -
callback
function opcjonalne
Parametr
callbackwygląda tak:(response: SetOptionsResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<SetOptionsResponse>
Zwraca obiekt Promise, który rozwiązuje się z wynikiem.
Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
): Promise<StartScanResponse>
Rozpoczyna skanowanie na określonym skanerze i zwraca obiekt Promise, który rozwiązuje się z StartScanResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego. Jeśli wywołanie się powiedzie, odpowiedź będzie zawierać uchwyt zadania, którego można użyć w kolejnych wywołaniach, aby odczytać dane skanowania lub anulować skanowanie.
Parametry
-
scannerHandle
tekst
Uchwyt otwartego skanera. Powinna to być wartość zwrócona wcześniej przez wywołanie funkcji
openScanner. -
Opcje
Obiekt
StartScanOptionswskazujący opcje, które mają być używane podczas skanowania. WłaściwośćStartScanOptions.formatmusi pasować do jednego z wpisów zwróconych wScannerInfoskanera. -
callback
function opcjonalne
Parametr
callbackwygląda tak:(response: StartScanResponse) => void
-
odpowiedź
-
Zwroty
-
Promise<StartScanResponse>
Zwraca obiekt Promise, który rozwiązuje się z wynikiem.
Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.