설명
chrome.documentScan
API를 사용하여 첨부된 문서 스캐너에서 이미지를 찾고 가져옵니다.
Document Scan API는 앱과 확장 프로그램이 문서 콘텐츠를 표시하는 문서입니다.
권한
documentScan
가용성
개념 및 사용법
이 API는 두 가지 문서 스캔 방법을 지원합니다. 사용 사례의 효과가 있는 경우
구성을 제어할 필요가 없는 경우에는
scan()
메서드를 사용하여 지도 가장자리에
패딩을 추가할 수 있습니다. 더 복잡한 사용 사례에는 방법의 조합이 필요합니다.
이는 Chrome 124 이상에서만 지원됩니다.
간단한 검색
간단한 사용 사례, 즉 모든 스캐너와 호환될 수 있지만
구성 제어가 필요한 경우 scan()
를 호출하세요. 이 메서드는
ScanOptions
객체로 확인되고 ScanResults
로 확인되는 프로미스를 반환합니다.
객체를 지정합니다. 이 옵션은 스캔 횟수와 시간 제한에 따라
호출자가 수락하는 MIME 유형입니다. 스캔은 URL로 반환됩니다.
사용자 인터페이스의 <img>
태그에 표시할 수 있습니다.
복잡한 스캔
복잡한 스캔은 이 섹션에 설명된 것처럼 3단계로 수행됩니다. 이 개요에서 모든 메서드 인수 또는 반환되는 속성을 설명하지는 않습니다. 응답에서 제외됩니다. 스캐너 작성에 대한 일반적인 가이드를 제공하기 위한 것입니다. 있습니다.
디스커버리
getScannerList()
을 호출합니다. 사용 가능한 스캐너: 프라미스로 확인되는GetScannerListResponse
- 응답 객체에는
ScannerInfo
배열이 포함되어 있습니다. 객체입니다. - 스캐너가 단일 스캐너에 대한 여러 개의 엔트리를 포함하는 경우 해당 스캐너가 배열에 여러 프로토콜 또는 연결 방법을 지원합니다.
- 응답 객체에는
반환된 배열에서 스캐너를 선택하고
scannerId
속성입니다.개별
ScannerInfo
객체의 속성 사용 같은 스캐너의 여러 객체 중에서 구별할 수 있습니다. 동일한 스캐너가deviceUuid
속성에 대해 같은 값을 갖게 됩니다.ScannerInfo
또한imageFormats
속성을 포함하여 지원되는 이미지 유형입니다.
스캐너 구성
openScanner()
를 호출하여 저장된 스캐너 ID를 전달합니다.OpenScannerResponse
로 확인되는 프로미스를 반환합니다. 응답 객체에는 다음이 포함됩니다.저장해야 하는
scannerHandle
속성스캐너 관련 속성이 포함된 옵션 속성으로, 설정해야 합니다 자세한 내용은 검사 프로그램 검색 옵션을 참고하세요.
(선택사항) 사용자가 스캐너 옵션 값을 제공하도록 하려면 사용자 인터페이스를 구성할 수 있습니다. 먼저 개발자 제공 팀에서 제공한 옵션 그룹을 있습니다. 자세한 내용은 사용자 인터페이스 구성을 참고하세요.
다음을 사용하여
OptionSetting
객체의 배열 구성 사용자 제공 가치를 설정할 수 있습니다 자세한 내용은 스캐너 옵션 설정을 참고하세요. 확인할 수 있습니다OptionSetting
객체의 배열을setOptions()
: 스캐너 옵션을 설정합니다. 그것은 다음으로 확인되는 프라미스를 반환합니다.SetOptionsResponse
이 객체에는 스캐너의 1단계에서 가져온 스캐너 옵션의 업데이트된 버전 구성할 수 있습니다변경 후 다른 옵션의 제약 조건을 변경할 수 있지만 이 작업을 반복할 수 있습니다.
검사
StartScanOptions
객체를 구성하여 전달 (으)로startScan()
. 다음을 해결하는 프라미스를 반환합니다.StartScanResponse
를 사용합니다.job
속성: 스캔 데이터를 읽거나 스캔을 취소하는 데 사용할 핸들입니다.작업 핸들을
readScanData()
에 전달합니다. 이 함수는 해결책으로 해결되는ReadScanDataResponse
객체 데이터를 읽은 경우result
속성이SUCCESS
및data
속성과 같습니다. 포함ArrayBuffer
스캔의 일부로 스캔할 수 있습니다.estimatedCompletion
에는 예상 지금까지 전송된 전체 데이터의 비율입니다.result
속성이EOF
가 되거나 오류가 될 때까지 이전 단계를 반복합니다.
스캔이 끝나면
단계에서 저장된 스캐너 핸들이 있는 closeScanner()
3. 다음으로 확인되는 프라미스를 반환합니다.
CloseScannerResponse
전화 거는 중
cancelScan()
는 작업 생성 후 언제든지
있습니다.
응답 객체
모든 메서드는 일종의 응답 객체로 확인되는 프로미스를 반환합니다.
대부분은 result
속성을 포함하고 그 값은
OperationResult
응답 객체의 일부 속성
result
의 값에 특정 값이 없으면 값이 포함되지 않습니다. 이러한
관계는 각 응답 객체의 참조에 설명되어 있습니다.
예를 들어 OpenScannerResponse.scannerHandle
는
OpenScannerResponse.result
= SUCCESS
.
스캐너 옵션
스캐너 옵션은 기기에 따라 상당히 다릅니다. 따라서 한 번에 여러 개의
스캐너 옵션을 DocumentScan API 내에 직접 반영할 수 있습니다. 교통편
OpenScannerResponse
(
openScanner()
) 및
SetOptionsResponse
(
setOptions()
에 포함된 options
속성을
객체를 반환합니다. 각 옵션은 키-값 매핑으로
여기서 키는 기기별 옵션이며 값은
ScannerOption
구조는 일반적으로 다음과 같습니다.
{
"key1": { scannerOptionInstance }
"key2": { scannerOptionInstance }
}
예를 들어 'source'라는 옵션을 반환하는 스캐너가 있다고 가정해 보겠습니다. 및
'해결' 반환된 options
객체의 구조는 다음과 같습니다.
다음 예와 같습니다. 편의상 ScannerOption
부분만 작성
표시됩니다.
{
"source": {
"name": "source",
"type": OptionType.STRING,
...
},
"resolution": {
"name": "resolution",
"type": OptionType.INT,
...
},
...
}
사용자 인터페이스 구성
이 API를 반드시 사용할 필요는 없지만 사용자가
선택할 수 있습니다 이를 위해서는 사용자 인터페이스가 필요합니다. 사용
OpenScannerResponse
(다음 사용자가 열었음)
openScanner()
)을 사용하여 연결된
스캐너를 실행할 수 있습니다.
일부 스캐너는 기기별 방식으로 옵션을 그룹화합니다. 이 설정은 옵션에 영향을 주지 않습니다.
하지만 스캐너의 제품에서 이러한 그룹이 언급될 수 있기 때문에
문서에서 이러한 그룹을 사용자에게 표시해야 합니다. 사용자는 이러한
getOptionGroups()
를 호출하여 그룹을 삭제할 수 있습니다. 그러면
해결책으로 해결되는
GetOptionGroupsResponse
객체 groups
속성에는 스캐너별 그룹의 배열이 포함됩니다. 다음에서 정보를 사용하세요.
이 그룹을 사용하여
OpenScannerResponse
(디스플레이)
{
scannerHandle: "123456",
result: SUCCESS,
groups: [
{
title: "Standard",
members: [ "resolution", "mode", "source" ]
}
]
}
스캐너 구성에 명시된 대로 한 옵션을 변경하면 제약 조건이 변경될 수 있습니다.
옵션을 선택하세요. 그렇기 때문에
setOptionsResponse
(
setOptions()
)에는 다른 options
속성이 포함되어 있습니다. 사용
사용자 인터페이스를 업데이트합니다. 그런 다음 모든 옵션이 다음 항목으로 표시될 때까지 필요에 따라 반복합니다.
설정합니다.
스캐너 옵션 설정
다음 배열을 전달하여 스캐너 옵션을 설정합니다.
OptionSetting
객체를 다음과 같이 바꿉니다.
setOptions()
예를 보려면 다음 한 글자 크기로 된 페이지 스캔하기 섹션을 참고하세요.
예
페이지를 blob으로 검색
이 예는 스캐너에서 페이지를 blob으로 가져오고
다음 값을 사용하여 startScan()
및 readScanData()
의 사용을 보여줍니다.
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" });
}
한 글자 크기의 페이지 스캔
이 예에서는 스캐너를 선택하고 옵션을 설정하고 여는 방법을 보여줍니다. 그것은
단일 페이지의 콘텐츠를 가져오고 스캐너를 닫습니다. 이 프로세스
getScannerList()
, openScanner()
, setOptions()
,
closeScanner()
입니다. 페이지의 콘텐츠는
이전 예의 pageAsBlob()
함수입니다.
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);
}
구성 표시
다른 곳에서 언급했듯이 스캐너의 구성 옵션을 사용자에게 표시하려면
getOptionGroups()
를 호출하여
openScanner()
호출 이렇게 하면
제조업체에서 정의한 그룹 다음 예는 그 방법을 보여줍니다.
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");
}
}
}
}
유형
CancelScanResponse
속성
-
job
문자열
cancelScan()
에 전달된 것과 동일한 작업 핸들을 제공합니다. -
백엔드의 취소 스캔 결과입니다. 결과가
OperationResult.SUCCESS
또는OperationResult.CANCELLED
이면 스캔이 취소되었으며 스캐너가 새 스캔을 시작할 준비가 된 것입니다. 결과가OperationResult.DEVICE_BUSY
이면 스캐너가 여전히 요청된 취소를 처리하는 중입니다. 잠시 기다렸다가 요청을 다시 시도해야 합니다. 다른 결과 값은 재시도해서는 안 되는 영구적인 오류를 나타냅니다.
CloseScannerResponse
속성
-
스캐너를 닫은 결과 이 값이
SUCCESS
이 아닌 경우에도 핸들은 유효하지 않으므로 추가 작업에 사용해서는 안 됩니다. -
scannerHandle
문자열
closeScanner
에 전달된 것과 동일한 스캐너 핸들입니다.
Configurability
옵션을 변경하는 방법
열거형
"NOT_CONFIGURABLE"
이 옵션은 읽기 전용입니다.
"SOFTWARE_CONFIGURABLE"
소프트웨어에서 이 옵션을 설정할 수 있습니다.
"HARDWARE_CONFIGURABLE"
이 옵션은 사용자가 스캐너의 버튼을 전환하거나 눌러 설정할 수 있습니다.
ConnectionType
스캐너가 컴퓨터에 연결된 방법을 나타냅니다.
열거형
'지정되지 않음'
'USB'
'네트워크'
열거형
"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
각 작업의 결과를 나타내는 열거형입니다.
열거형
'UNKNOWN'
알 수 없는 오류 또는 일반 오류가 발생했습니다.
"SUCCESS"
작업에 성공했습니다.
"UNSUPPORTED"
지원되지 않는 작업입니다.
"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[] 선택사항
-
최대
숫자 선택사항
-
분
숫자 선택사항
-
수량
숫자 선택사항
OptionGroup
속성
-
멤버
문자열[]
운전자가 제공한 순서의 옵션 이름 배열입니다.
-
제목
문자열
인쇄 가능한 제목(예: '도형 옵션')을 제공합니다.
OptionSetting
속성
-
이름
문자열
설정할 옵션의 이름을 나타냅니다.
-
유형
옵션의 데이터 유형을 나타냅니다. 요청된 데이터 유형은 기본 옵션의 실제 데이터 유형과 일치해야 합니다.
-
값
string | 숫자 | boolean | number[] 선택사항
설정할 값을 나타냅니다.
autoSettable
가 사용 설정된 옵션의 자동 설정을 요청하려면 설정하지 않은 상태로 두세요.value
에 제공된 데이터 유형은type
과 일치해야 합니다.
OptionType
옵션의 데이터 유형입니다.
열거형
"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()
를 사용하여 구성원 옵션이 있는 그룹 목록을 검색합니다.
열거형
"UNITLESS"
값이 단위가 없는 숫자입니다. 예를 들어 기준점이 될 수 있습니다.
"PIXEL"
값은 픽셀 수(예: 스캔 크기)입니다.
"BIT"
값은 비트 수입니다(예: 색심도).
"MM"
값은 밀리미터 단위로 측정됩니다(예: 스캔 크기).
"DPI"
값은 인치당 도트 수로 측정됩니다(예: 해상도).
"PERCENT"
값은 퍼센트(예: 밝기)입니다.
"MICROsecond"
값은 마이크로초 단위로 측정됩니다(예: 노출 시간).
ReadScanDataResponse
속성
-
데이터
ArrayBuffer 선택사항
result
이SUCCESS
이면 스캔된 이미지 데이터의 다음 청크가 포함됩니다.result
이EOF
이면 스캔된 이미지 데이터의 마지막 청크가 포함됩니다. -
estimatedCompletion
숫자 선택사항
result
이SUCCESS
인 경우 지금까지 전송된 총 스캔 데이터 양에 대한 추정치(0~100 범위)입니다. -
job
문자열
readScanData()
에 전달된 작업 핸들을 제공합니다. -
데이터를 읽은 결과입니다. 값이
SUCCESS
이면data
에는 읽을 준비가 된 이미지 데이터의 다음 청크 (길이가 0일 수도 있음)가 포함됩니다. 값이EOF
인 경우data
에는 이미지 데이터의 마지막 청크가 포함됩니다.
ScannerInfo
속성
-
connectionType
스캐너가 컴퓨터에 연결된 방법을 나타냅니다.
-
deviceUuid
문자열
동일한 실제 기기를 가리키는 다른
ScannerInfo
항목과의 매칭. -
imageFormats
문자열[]
반환된 스캔에 대해 요청할 수 있는 MIME 유형의 배열입니다.
-
제조업체
문자열
스캐너 제조업체입니다.
-
모델
문자열
스캐너 모델(제공되는 경우) 또는 일반적인 설명입니다.
-
이름
문자열
UI에 표시할 스캐너의 인간이 읽을 수 있는 이름입니다.
-
protocolType
문자열
Mopria, WSD 또는 epsonds 등 스캐너에 액세스하는 데 사용되는 프로토콜 또는 드라이버에 대한 인간이 읽을 수 있는 설명입니다. 이는 기기가 여러 프로토콜을 지원하는 경우 사용자가 프로토콜 중에서 선택할 수 있도록 하는 데 주로 유용합니다.
-
scannerId
문자열
특정 스캐너의 ID입니다.
-
보안
부울
true인 경우 TLS 또는 USB와 같은 수동 리스너가 스캐너 연결 전송을 가로챌 수 없습니다.
ScannerOption
속성
-
구성 가능성
옵션 변경 가능 여부 및 방법을 나타냅니다.
-
제약조건
OptionConstraint 선택사항
현재 스캐너 옵션에서
OptionConstraint
를 정의합니다. -
설명
문자열
옵션에 관한 더 긴 설명입니다.
-
isActive
부울
옵션이 활성 상태이며 설정하거나 가져올 수 있음을 나타냅니다. false인 경우
value
속성이 설정되지 않습니다. -
isAdvanced
부울
UI가 기본적으로 이 옵션을 표시하면 안 됨을 나타냅니다.
-
isAutoSettable
부울
스캐너 드라이버에서 자동으로 설정할 수 있습니다.
-
isDetectable
부울
소프트웨어에서 이 옵션을 감지할 수 있음을 나타냅니다.
-
isEmulated
부울
true인 경우 스캐너 드라이버에 의해 에뮬레이션됩니다.
-
이름
문자열
소문자 ASCII 문자, 숫자, 대시를 사용한 옵션 이름입니다. 발음 구별 부호는 허용되지 않습니다.
-
제목
문자열
인쇄할 수 있는 한 줄 제목입니다.
-
유형
value
속성에 포함된 데이터 유형으로, 이 옵션을 설정하는 데 필요합니다. -
단위
이 옵션의 측정 단위입니다.
-
값
string | 숫자 | boolean | number[] 선택사항
옵션의 현재 값입니다(해당하는 경우). 이 속성의 데이터 유형은
type
에 지정된 데이터 유형과 일치해야 합니다.
ScanOptions
속성
-
maxImages
숫자 선택사항
허용되는 스캔 이미지 수입니다. 기본값은 1입니다.
-
mimeTypes
string[] 선택사항
호출자가 수락한 MIME 유형입니다.
ScanResults
속성
-
dataUrls
문자열[]
'src'로 전달할 수 있는 형식의 데이터 이미지 URL 배열입니다. 값을 이미지 태그에 추가합니다.
-
mimeType
문자열
dataUrls
의 MIME 유형입니다.
SetOptionResult
속성
-
이름
문자열
설정된 옵션의 이름을 나타냅니다.
-
옵션 설정 결과를 나타냅니다.
SetOptionsResponse
속성
-
옵션
객체(선택사항)
제공된 모든 옵션 설정을 시도한 후에 옵션 이름에서 새 구성을 포함하는
ScannerOption
값으로 키-값 매핑을 업데이트했습니다.OpenScannerResponse
의options
속성과 구조가 같습니다.이 속성은 일부 옵션이 성공적으로 설정되지 않은 경우에도 설정되지만 업데이트된 구성 가져오기에 실패하는 경우 (예: 스캔 도중에 스캐너 연결이 끊긴 경우) 설정 해제됩니다.
-
결과
전달된
OptionSetting
마다 하나씩 결과의 배열입니다. -
scannerHandle
문자열
setOptions()
에 전달된 스캐너 핸들을 제공합니다.
StartScanOptions
속성
-
형식
문자열
스캔된 데이터를 반환할 MIME 유형을 지정합니다.
-
maxReadSize
숫자 선택사항
0이 아닌 값을 지정하면 단일
readScanData
응답에서 반환되는 스캔되는 최대 바이트를 해당 값으로 제한합니다. 허용되는 최소 값은 32768 (32KB)입니다. 이 속성을 지정하지 않으면 반환된 청크의 크기가 스캔한 전체 이미지의 크기일 수 있습니다.
StartScanResponse
속성
-
job
문자열(선택사항)
result
가SUCCESS
이면 스캔 데이터를 읽거나 작업을 취소하는 데 사용할 수 있는 핸들을 제공합니다. -
스캔 시작 결과입니다. 값이
SUCCESS
이면job
속성이 채워집니다. -
scannerHandle
문자열
startScan()
에 전달된 것과 동일한 스캐너 핸들을 제공합니다.
메서드
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
)
시작된 스캔을 취소하고 CancelScanResponse
객체로 확인되는 프로미스를 반환합니다. 콜백을 사용하면 객체가 콜백으로 대신 전달됩니다.
매개변수
-
job
문자열
이전에
startScan
호출에서 반환된 활성 스캔 작업의 핸들입니다. -
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: CancelScanResponse) => void
반환 값
-
Promise<CancelScanResponse>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
)
전달된 핸들로 스캐너를 닫고 CloseScannerResponse
객체로 확인되는 프로미스를 반환합니다. 콜백을 사용하면 객체가 콜백으로 대신 전달됩니다. 응답이 성공하지 못하더라도 제공된 핸들은 유효하지 않게 되며 추가 작업에 사용해서는 안 됩니다.
매개변수
-
scannerHandle
문자열
이전에
openScanner
호출에서 반환된 열린 스캐너의 핸들을 지정합니다. -
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: CloseScannerResponse) => void
반환 값
-
Promise<CloseScannerResponse>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
)
이전에 openScanner
로 연 스캐너에서 그룹 이름 및 구성원 옵션을 가져옵니다. 이 메서드는 GetOptionGroupsResponse
객체로 확인되는 프로미스를 반환합니다. 이 함수에 콜백이 전달되면 반환된 데이터가 대신 이 함수에 전달됩니다.
매개변수
-
scannerHandle
문자열
openScanner
호출에서 반환된 열려 있는 스캐너의 핸들입니다. -
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: GetOptionGroupsResponse) => void
반환 값
-
Promise<GetOptionGroupsResponse>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
)
사용 가능한 스캐너 목록을 가져오고 GetScannerListResponse
객체로 확인되는 프로미스를 반환합니다. 이 함수에 콜백이 전달되면 반환된 데이터가 대신 이 함수에 전달됩니다.
매개변수
-
filter
반환되어야 하는 스캐너 유형을 나타내는
DeviceFilter
입니다. -
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(response: GetScannerListResponse) => void
반환 값
-
Promise<GetScannerListResponse>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
)
독점 액세스를 위한 스캐너를 열고 OpenScannerResponse
객체로 확인되는 프로미스를 반환합니다. 이 함수에 콜백이 전달되면 반환된 데이터가 대신 이 함수에 전달됩니다.
매개변수
-
scannerId
문자열
열 스캐너의 ID입니다. 이 값은 이전
getScannerList
호출에서 반환된 값입니다. -
콜백
함수 선택사항
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
매개변수는 다음과 같습니다.(response: ReadScanDataResponse) => void
반환 값
-
Promise<ReadScanDataResponse>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
)
문서 스캔을 실행하고 ScanResults
객체로 확인되는 프로미스를 반환합니다. 이 함수에 콜백이 전달되면 반환된 데이터가 대신 이 함수에 전달됩니다.
매개변수
-
옵션
스캔 매개변수를 포함하는 객체입니다.
-
콜백
함수 선택사항
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
매개변수는 다음과 같습니다.(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
매개변수는 다음과 같습니다.(response: StartScanResponse) => void
반환 값
-
Promise<StartScanResponse>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.