설명
chrome.documentScan
API를 사용하여 첨부된 문서 스캐너에서 이미지를 찾고 가져옵니다.
권한
documentScan
가용성
Document Scan API
Document Scan API는 앱과 확장 프로그램이 첨부된 문서 스캐너에서 종이 문서의 내용을 볼 수 있도록 설계되었습니다.
유형
CancelScanResponse
속성
-
job
문자열
cancelScan()
에 전달된 것과 동일한 작업 핸들을 제공합니다. -
백엔드의 스캔 취소 결과입니다. 결과가
OperationResult.SUCCESS
또는OperationResult.CANCELLED
이면 스캔이 취소되었으며 스캐너가 새 스캔을 시작할 준비가 된 것입니다. 결과가OperationResult.DEVICE_BUSY
이면 스캐너가 아직 요청된 취소를 처리하는 중입니다. 호출자는 잠시 기다렸다가 요청을 다시 시도해야 합니다. 다른 결과 값은 재시도하면 안 되는 영구적인 오류를 나타냅니다.
CloseScannerResponse
속성
-
스캐너를 닫았을 때의 결과입니다. 이 값이
SUCCESS
가 아니더라도 핸들은 유효하지 않으므로 추가 작업에 사용해서는 안 됩니다. -
scannerHandle
문자열
closeScanner
에 전달된 것과 동일한 스캐너 핸들입니다.
Configurability
옵션을 변경하는 방법입니다.
enum
"NOT_CONFIGURABLE"
이 옵션은 읽기 전용입니다.
"SOFTWARE_CONFIGURABLE"
이 옵션은 소프트웨어에서 설정할 수 있습니다.
"HARDWARE_CONFIGURABLE"
옵션은 사용자가 스캐너의 버튼을 전환하거나 눌러 설정할 수 있습니다.
ConnectionType
스캐너가 컴퓨터에 연결된 방식을 나타냅니다.
enum
"USB"
enum
"INT_RANGE"
OptionType.INT
값 범위에 대한 제약 조건입니다. OptionConstraint
의 min
, max
, quant
속성이 long
가 되고 list
속성이 설정 해제됩니다.
"FIXED_RANGE"
OptionType.FIXED
값 범위에 대한 제약 조건입니다. OptionConstraint
의 min
, max
, quant
속성이 double
가 되고 list
속성이 설정 해제됩니다.
"INT_LIST"
특정 OptionType.INT
값 목록에 대한 제약 조건입니다. OptionConstraint.list
속성에는 long
값이 포함되며 다른 속성은 설정 해제됩니다.
"FIXED_LIST"
특정 OptionType.FIXED
값 목록에 대한 제약조건입니다. OptionConstraint.list
속성에는 double
값이 포함되며 다른 속성은 설정 해제됩니다.
"STRING_LIST"
특정 OptionType.STRING
값 목록에 대한 제약조건입니다. OptionConstraint.list
속성에는 DOMString
값이 포함되며 다른 속성은 설정 해제됩니다.
DeviceFilter
속성
-
로컬
부울 선택사항
컴퓨터에 직접 부착된 스캐너만 반환해 주세요.
-
보안
부울 선택사항
USB나 TLS와 같은 보안 전송을 사용하는 스캐너만 반환하세요.
GetOptionGroupsResponse
속성
-
그룹
OptionGroup[] 선택사항
result
가SUCCESS
이면 스캐너 드라이버에서 제공된 순서대로 옵션 그룹 목록을 제공합니다. -
옵션 그룹을 가져온 결과입니다. 값이
SUCCESS
이면groups
속성이 채워집니다. -
scannerHandle
문자열
getOptionGroups
에 전달된 것과 동일한 스캐너 핸들입니다.
GetScannerListResponse
속성
-
열거 결과입니다. 오류가 표시되더라도 부분적인 결과가 반환될 수 있습니다.
-
스캐너
제공된
DeviceFilter
와 일치하는 스캐너 목록(비어 있을 수 있음)입니다.
OpenScannerResponse
속성
-
옵션
객체 선택사항
result
이SUCCESS
이면 키는 기기별 옵션이고 값은ScannerOption
인스턴스인 키-값 매핑을 제공합니다. -
스캐너를 연 결과입니다. 값이
SUCCESS
이면scannerHandle
및options
속성이 채워집니다. -
scannerHandle
문자열 선택사항
result
가SUCCESS
이면 추가 작업에 사용할 수 있는 스캐너의 핸들입니다. -
scannerId
문자열
openScanner()
에 전달된 스캐너 ID입니다.
OperationResult
각 작업의 결과를 나타내는 열거형입니다.
enum
'UNKNOWN'
알 수 없거나 일반적인 오류가 발생했습니다.
"SUCCESS"
작업이 성공했습니다.
"지원되지 않음"
지원되지 않는 작업입니다.
"CANCELLED"
작업이 취소되었습니다.
"DEVICE_BUSY"
기기가 사용 중입니다.
"INVALID"
메서드에 전달된 데이터 또는 인수가 유효하지 않습니다.
"WRONG_TYPE"
제공된 값이 기본 옵션에 맞지 않는 잘못된 데이터 유형입니다.
"EOF"
더 이상 사용 가능한 데이터가 없습니다.
"ADF_JAMMED"
급지대가 걸렸습니다.
"ADF_EMPTY"
문서 공급기가 비어 있습니다.
"COVER_OPEN"
플랫베드 커버가 열려 있습니다.
"IO_ERROR"
기기와 통신하는 중에 오류가 발생했습니다.
"ACCESS_DENIED"
인증이 필요한 기기입니다.
"NO_MEMORY"
Chromebook에 메모리가 부족하여 작업을 완료할 수 없습니다.
"UNREACHABLE"
기기에 연결할 수 없습니다.
"MISSING"
기기가 연결 해제되었습니다.
"INTERNAL_ERROR"
호출하는 애플리케이션이 아닌 다른 위치에서 오류가 발생했습니다.
OptionConstraint
속성
-
list
string[] | number[] 선택사항
-
max
number 선택사항
-
분
number 선택사항
-
퀀트
number 선택사항
OptionGroup
속성
-
멤버
문자열[]
운전자가 제공한 순서대로 된 옵션 이름의 배열입니다.
-
title
문자열
인쇄 가능한 제목을 제공합니다(예: '도형 옵션').
OptionSetting
속성
-
이름
문자열
설정할 옵션의 이름을 나타냅니다.
-
유형
옵션의 데이터 유형을 나타냅니다. 요청된 데이터 유형은 기본 옵션의 실제 데이터 유형과 일치해야 합니다.
-
값
string | number | boolean | number[] 선택사항
설정할 값을 나타냅니다.
autoSettable
가 사용 설정된 옵션의 자동 설정을 요청하려면 설정하지 않은 상태로 두세요.value
에 제공된 데이터 유형은type
와 일치해야 합니다.
OptionType
옵션의 데이터 유형입니다.
enum
"UNKNOWN"
옵션의 데이터 유형을 알 수 없습니다. value
속성이 설정 해제됩니다.
"BOOL"
value
속성은 true
false 중 하나입니다.
"INT"
부호 있는 32비트 정수입니다. value
속성은 옵션이 두 개 이상의 값을 허용하는지 여부에 따라 long 또는 long[]이 됩니다.
"FIXED(해결됨)"
해상도 1/65535의 -32768-32767.9999 범위의 double. 옵션이 두 개 이상의 값을 사용하는지 여부에 따라 value
속성이 double 또는 double[] 이 됩니다. 정확하게 표현할 수 없는 Double 값은 사용 가능한 범위와 정밀도로 반올림됩니다.
"STRING"
NUL ('\0')을 제외한 모든 바이트의 시퀀스입니다. value
속성은 DOMString입니다.
"BUTTON"
이 유형의 옵션에는 값이 없습니다. 대신 이 유형의 옵션을 설정하면 스캐너 드라이버에서 옵션별 부작용이 발생합니다. 예를 들어 스캐너 드라이버는 버튼 유형 옵션을 사용하여 기본값을 선택하는 수단을 제공하거나 자동 문서 공급기에 다음 용지로 넘어가도록 지시할 수 있습니다.
"GROUP"
그룹화 옵션입니다. 값 없음. 호환성을 위해 포함되지만 일반적으로 ScannerOption
값에 반환되지 않습니다. getOptionGroups()
를 사용하여 구성원 옵션이 있는 그룹 목록을 가져옵니다.
enum
"UNITLESS"
값이 단위가 없는 숫자입니다. 예를 들어 기준점이 될 수 있습니다.
'PIXEL'
이 값은 픽셀 수입니다(예: 스캔 크기).
"BIT"
이 값은 비트 수입니다(예: 색심도).
"MM"
값이 밀리미터로 측정됩니다(예: 스캔 크기).
"DPI"
값이 인치당 도트 수로 측정됩니다(예: 해상도).
"PERCENT"
이 값은 퍼센트입니다(예: 밝기).
"MICROSECOND"
값이 마이크로초 단위로 측정됩니다(예: 노출 시간).
ReadScanDataResponse
속성
-
데이터
ArrayBuffer 선택사항
result
가SUCCESS
이면 스캔된 이미지 데이터의 다음 청크를 포함합니다.result
가EOF
이면 스캔된 이미지 데이터의 마지막 청크를 포함합니다. -
estimatedCompletion
number 선택사항
result
가SUCCESS
이면 지금까지 전송된 총 스캔 데이터 양(0~100)의 추정치입니다. -
job
문자열
readScanData()
에 전달된 작업 핸들을 제공합니다. -
데이터 읽기 결과입니다. 값이
SUCCESS
이면data
는 읽을 준비가 된 이미지 데이터의 다음 (길이가 0일 수 있음) 청크를 포함합니다. 값이EOF
이면data
에는 이미지 데이터의 마지막 청크가 포함됩니다.
ScannerInfo
속성
-
connectionType
스캐너가 컴퓨터에 연결된 방식을 나타냅니다.
-
deviceUuid
문자열
동일한 실제 기기를 가리키는 다른
ScannerInfo
항목과의 일치 -
imageFormats
문자열[]
반환된 스캔을 위해 요청할 수 있는 MIME 유형의 배열입니다.
-
제조업체
문자열
스캐너 제조업체
-
model
문자열
스캐너 모델(제공되는 경우) 또는 일반적인 설명입니다.
-
이름
문자열
스캐너가 UI에 표시할 사람이 읽을 수 있는 이름입니다.
-
protocolType
문자열
Mopria, WSD 또는 epsonds와 같이 스캐너에 액세스하는 데 사용된 프로토콜 또는 드라이버에 대해 사람이 읽을 수 있는 설명 이는 기기가 여러 프로토콜을 지원할 경우 사용자가 프로토콜 중에서 선택할 수 있도록 하는 데 주로 유용합니다.
-
scannerId
문자열
특정 스캐너의 ID입니다.
-
보안
boolean
true인 경우 TLS 또는 USB와 같은 수동 리스너가 스캐너 연결의 전송을 가로챌 수 없습니다.
ScannerOption
속성
-
구성 가능성
옵션 변경 가능 여부 및 변경 방법을 나타냅니다.
-
제약조건
OptionConstraint 선택사항
현재 스캐너 옵션에 관한
OptionConstraint
를 정의합니다. -
설명
문자열
옵션에 관한 더 긴 설명입니다.
-
isActive
boolean
옵션이 활성 상태이며 설정하거나 가져올 수 있음을 나타냅니다. false인 경우
value
속성이 설정되지 않습니다. -
isAdvanced
boolean
UI에 기본적으로 이 옵션이 표시되지 않아야 함을 나타냅니다.
-
isAutoSettable
boolean
스캐너 드라이버에서 자동으로 설정할 수 있습니다.
-
isDetectable
boolean
이 옵션이 소프트웨어에서 감지될 수 있음을 나타냅니다.
-
isEmulated
boolean
true인 경우 스캐너 드라이버에 의해 에뮬레이션됩니다.
-
이름
문자열
소문자 ASCII 문자, 숫자, 대시를 사용하는 옵션 이름입니다. 발음 구별 부호는 허용되지 않습니다.
-
title
문자열
인쇄할 수 있는 한 줄 제목입니다.
-
유형
이 옵션을 설정하는 데 필요한
value
속성에 포함된 데이터 유형입니다. -
단위
이 옵션의 측정 단위입니다.
-
값
string | number | boolean | number[] 선택사항
해당하는 경우 옵션의 현재 값입니다. 이 속성의 데이터 유형은
type
에 지정된 데이터 유형과 일치해야 합니다.
ScanOptions
속성
-
maxImages
number 선택사항
허용되는 스캔 이미지의 수입니다. 기본값은 1입니다.
-
mimeTypes
string[] 선택사항
호출자가 수락한 MIME 유형입니다.
ScanResults
속성
-
dataUrls
문자열[]
'src' 값으로 이미지 태그에 전달할 수 있는 형식의 데이터 이미지 URL 배열입니다.
-
mimeType
문자열
dataUrls
의 MIME 유형입니다.
SetOptionResult
속성
-
이름
문자열
설정된 옵션의 이름을 나타냅니다.
-
옵션 설정의 결과를 나타냅니다.
SetOptionsResponse
속성
-
옵션
객체 선택사항
제공된 모든 옵션을 설정하려고 시도한 후 옵션 이름에서 새 구성이 포함된
ScannerOption
값으로 키-값 매핑이 업데이트되었습니다.OpenScannerResponse
의options
속성과 구조가 동일합니다.일부 옵션이 성공적으로 설정되지 않은 경우에도 이 속성이 설정되지만, 업데이트된 구성을 가져오지 못하면 (예: 스캔 도중 스캐너의 연결이 끊긴 경우) 설정 해제됩니다.
-
경기 결과
전달된 모든
OptionSetting
에 대해 하나씩 결과의 배열입니다. -
scannerHandle
문자열
setOptions()
에 전달된 스캐너 핸들을 제공합니다.
StartScanOptions
속성
-
format
문자열
검사된 데이터를 반환할 MIME 유형을 지정합니다.
-
maxReadSize
number 선택사항
0이 아닌 값을 지정하면 단일
readScanData
응답에서 반환되는 검사된 최대 바이트 수를 해당 값으로 제한합니다. 허용되는 최소 값은 32768 (32KB)입니다. 이 속성을 지정하지 않으면 반환된 청크의 크기가 스캔한 전체 이미지만큼 클 수 있습니다.
StartScanResponse
속성
-
job
문자열 선택사항
result
이SUCCESS
이면 스캔 데이터를 읽거나 작업을 취소하는 데 사용할 수 있는 핸들을 제공합니다. -
스캔 시작 결과입니다. 값이
SUCCESS
이면job
속성이 채워집니다. -
scannerHandle
문자열
startScan()
에 전달된 것과 동일한 스캐너 핸들을 제공합니다.
메서드
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
)
시작된 스캔을 취소하고 CancelScanResponse
객체로 확인되는 프로미스를 반환합니다. 콜백을 사용하면 콜백에 객체가 전달됩니다.
매개변수
-
job
문자열
이전에
startScan
호출에서 반환되었던 활성 스캔 작업의 핸들입니다. -
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: CancelScanResponse) => void
반환 값
-
Promise<CancelScanResponse>
프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
)
전달된 핸들이 있는 스캐너를 닫고 CloseScannerResponse
객체로 확인되는 프로미스를 반환합니다. 콜백을 사용하면 콜백에 객체가 전달됩니다. 응답이 성공하지 않더라도 제공된 핸들은 무효화되므로 추가 작업에 사용해서는 안 됩니다.
매개변수
-
scannerHandle
문자열
이전에
openScanner
호출에서 반환된 열린 스캐너의 핸들을 지정합니다. -
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: CloseScannerResponse) => void
반환 값
-
Promise<CloseScannerResponse>
프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
)
이전에 openScanner
에 의해 열린 스캐너에서 그룹 이름과 구성원 옵션을 가져옵니다. 이 메서드는 GetOptionGroupsResponse
객체로 확인되는 프로미스를 반환합니다. 이 함수에 콜백이 전달되면 반환된 데이터가 대신 전달됩니다.
매개변수
-
scannerHandle
문자열
openScanner
호출에서 반환된 열린 스캐너의 핸들입니다. -
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: GetOptionGroupsResponse) => void
반환 값
-
Promise<GetOptionGroupsResponse>
프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
)
사용 가능한 스캐너 목록을 가져오고 GetScannerListResponse
객체로 확인되는 프로미스를 반환합니다. 이 함수에 콜백이 전달되면 반환된 데이터가 대신 전달됩니다.
매개변수
-
filter
반환해야 하는 스캐너 유형을 나타내는
DeviceFilter
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: GetScannerListResponse) => void
반환 값
-
Promise<GetScannerListResponse>
프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
)
독점 액세스를 위한 스캐너를 열고 OpenScannerResponse
객체로 확인되는 프로미스를 반환합니다. 이 함수에 콜백이 전달되면 반환된 데이터가 대신 전달됩니다.
매개변수
-
scannerId
문자열
열 스캐너의 ID입니다. 이 값은 이전
getScannerList
호출에서 반환된 값입니다. -
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: OpenScannerResponse) => void
반환 값
-
Promise<OpenScannerResponse>
프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
)
활성 작업 핸들에서 사용 가능한 이미지 데이터의 다음 청크를 읽고 ReadScanDataResponse
객체로 확인되는 프로미스를 반환합니다. 콜백을 사용하면 콜백에 객체가 전달됩니다.
**참고:**응답 결과가 길이가 0인 data
멤버가 있는 SUCCESS
일 수 있습니다. 이는 스캐너가 아직 작동하지만 추가 데이터가 아직 준비되지 않았음을 의미합니다. 발신자가 잠시 기다린 후 다시 시도합니다.
스캔 작업이 완료되면 응답의 결과 값이 EOF
가 됩니다. 이 응답에는 0이 아닌 최종 data
멤버가 포함될 수 있습니다.
매개변수
-
job
문자열
활성 작업 핸들이 이전에
startScan
에서 반환되었습니다. -
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: ReadScanDataResponse) => void
반환 값
-
Promise<ReadScanDataResponse>
프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
)
문서 스캔을 수행하고 ScanResults
객체로 확인되는 프로미스를 반환합니다. 이 함수에 콜백이 전달되면 반환된 데이터가 대신 전달됩니다.
매개변수
-
옵션
스캔 매개변수가 포함된 객체입니다.
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(result: ScanResults) => void
-
결과
-
반환 값
-
Promise<ScanResults>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
)
지정된 스캐너의 옵션을 설정하고 전달된 OptionSetting
객체의 순서대로 모든 값을 설정하려고 시도한 결과가 포함된 SetOptionsResponse
객체로 확인되는 프로미스를 반환합니다. 콜백을 사용하면 콜백에 객체가 전달됩니다.
매개변수
-
scannerHandle
문자열
옵션을 설정할 스캐너의 핸들입니다. 이전에
openScanner
호출에서 반환된 값이어야 합니다. -
옵션
스캐너에 적용할
OptionSetting
객체의 목록입니다. -
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: SetOptionsResponse) => void
반환 값
-
Promise<SetOptionsResponse>
프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
)
지정된 스캐너에서 스캔을 시작하고 StartScanResponse
로 확인되는 프로미스를 반환합니다. 콜백을 사용하면 콜백에 객체가 전달됩니다. 호출이 성공하면 응답에는 후속 호출에서 스캔 데이터를 읽거나 스캔을 취소하는 데 사용할 수 있는 작업 핸들이 포함됩니다.
매개변수
-
scannerHandle
문자열
열려 있는 스캐너의 핸들입니다. 이전에
openScanner
호출에서 반환된 값이어야 합니다. -
스캔에 사용할 옵션을 나타내는
StartScanOptions
객체입니다.StartScanOptions.format
속성은 스캐너의ScannerInfo
에 반환된 항목 중 하나와 일치해야 합니다. -
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: StartScanResponse) => void
반환 값
-
Promise<StartScanResponse>
프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.