คำอธิบาย
ใช้ chrome.documentScan
API เพื่อค้นหาและเรียกข้อมูลรูปภาพจากเครื่องสแกนเอกสารที่แนบมา
Document Scan API ได้รับการออกแบบมาเพื่อให้แอปและส่วนขยายดู ของเนื้อหากระดาษบนเครื่องสแกนเอกสารที่แนบมา
สิทธิ์
documentScan
ความพร้อมใช้งาน
แนวคิดและการใช้งาน
API นี้รองรับการสแกนเอกสาร 2 วิธี กรณีการใช้งานที่ใช้ได้
ด้วยเครื่องสแกน และไม่จำเป็นต้องมีการควบคุมการกำหนดค่า ให้ใช้
scan()
วิธี กรณีการใช้งานที่ซับซ้อนกว่านั้น
ต้องอาศัยทั้งวิธีการต่างๆ
ซึ่งรองรับเฉพาะใน Chrome 124 ขึ้นไปเท่านั้น
การสแกนแบบง่าย
สำหรับกรณีการใช้งานทั่วไป ซึ่งหมายถึงกรณีการใช้งานที่สามารถทำงานกับสแกนเนอร์ใดๆ ก็ตาม
ต้องมีการควบคุมการกำหนดค่า โทร scan()
วิธีนี้ต้องใช้
ScanOptions
และแสดงผล Promise ที่แก้ไขด้วย ScanResults
ออบเจ็กต์ ความสามารถของตัวเลือกนี้จำกัดตามจำนวนการสแกนและ
ประเภท MIME ที่ผู้โทรจะยอมรับ การสแกนจะแสดงผลเป็น URL
เพื่อแสดงในแท็ก <img>
สำหรับอินเทอร์เฟซผู้ใช้
การสแกนแบบซับซ้อน
การสแกนที่ซับซ้อนแบ่งออกเป็น 3 ระยะดังที่อธิบายไว้ในส่วนนี้ โครงร่างนี้ไม่ได้อธิบายอาร์กิวเมนต์เมธอดหรือพร็อพเพอร์ตี้ทุกรายการที่แสดง ในการตอบกลับ มีวัตถุประสงค์เพื่อให้คำแนะนำทั่วไปในการเขียนโปรแกรมสแกนเท่านั้น โค้ด
Discovery
โทร
getScannerList()
เครื่องสแกนที่ใช้ได้คือ กลับมาในคำสัญญาที่แก้ไขด้วยGetScannerListResponse
- ออบเจ็กต์การตอบกลับมีอาร์เรย์ของ
ScannerInfo
ออบเจ็กต์ - อาร์เรย์อาจมีหลายรายการสำหรับเครื่องสแกนเครื่องเดียว ถ้าเครื่องสแกนเครื่องนั้น รองรับโปรโตคอลหรือวิธีการเชื่อมต่อหลายแบบ
- ออบเจ็กต์การตอบกลับมีอาร์เรย์ของ
เลือกสแกนเนอร์จากอาร์เรย์ที่แสดงผลและบันทึกค่าของ พร็อพเพอร์ตี้
scannerId
ใช้คุณสมบัติของออบเจ็กต์
ScannerInfo
แต่ละรายการ เพื่อแยกวัตถุต่างๆ สำหรับเครื่องสแกนเครื่องเดียวกัน ออบเจ็กต์จาก เครื่องสแกนเดียวกันจะมีค่าเดียวกันสำหรับพร็อพเพอร์ตี้deviceUuid
ScannerInfo
ยังมีพร็อพเพอร์ตี้imageFormats
ที่มีอาร์เรย์ของ ประเภทรูปภาพที่รองรับ
การกำหนดค่าเครื่องสแกน
เรียกใช้
openScanner()
โดยส่งผ่านรหัสเครื่องสแกนที่บันทึกไว้ โดยจะแสดงผล "คำสัญญา" ซึ่งแก้ไขได้ด้วย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" ]
}
]
}
ตามที่ระบุไว้ภายใต้การกำหนดค่าเครื่องตรวจการเข้าถึง การเปลี่ยนตัวเลือก 1 รายการสามารถเปลี่ยนแปลงข้อจำกัดได้
ในอีกตัวเลือกหนึ่ง เพราะเหตุนี้
setOptionsResponse
(ออบเจ็กต์การตอบกลับสำหรับ
setOptions()
) มีพร็อพเพอร์ตี้ options
อีกรายการ ใช้
เพื่ออัปเดตอินเทอร์เฟซผู้ใช้ แล้วทำซ้ำตามที่จำเป็นจนกว่าตัวเลือกทั้งหมดจะปรากฏ
ตั้งค่า
ตั้งค่าตัวเลือกเครื่องสแกน
ตั้งค่าตัวเลือกเครื่องสแกนโดยการส่งอาร์เรย์ของ
OptionSetting
ออบเจ็กต์ไปยัง
setOptions()
ตัวอย่างเช่น โปรดดูส่วนสแกนหน้าขนาดตัวอักษร 1 ตัวต่อไปนี้
ตัวอย่าง
ดึงข้อมูลหน้าเว็บเป็น 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" });
}
สแกนหน้าขนาดตัวอักษร 1 หน้า
ตัวอย่างนี้แสดงวิธีเลือกเครื่องสแกน ตั้งค่าตัวเลือก และเปิด ทั้งนี้
จะดึงเนื้อหาของหน้าเว็บหน้าเดียวและปิดเครื่องมือสแกน กระบวนการนี้
สาธิตโดยใช้ 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
พร็อพเพอร์ตี้
-
งาน
สตริง
ระบุแฮนเดิลงานเดียวกันกับที่ส่งไปยัง
cancelScan()
-
ผลลัพธ์
ผลการสแกนการยกเลิกของแบ็กเอนด์ หากผลลัพธ์คือ
OperationResult.SUCCESS
หรือOperationResult.CANCELLED
แสดงว่าการสแกนถูกยกเลิกและเครื่องสแกนพร้อมที่จะเริ่มการสแกนใหม่แล้ว หากผลลัพธ์คือOperationResult.DEVICE_BUSY
แสดงว่าเครื่องสแกนยังคงประมวลผลการยกเลิกที่ร้องขอ ผู้โทรควรรอสักครู่และลองส่งคำขออีกครั้ง ค่าผลลัพธ์อื่นๆ จะระบุข้อผิดพลาดถาวรที่ไม่ควรลองอีกครั้ง
CloseScannerResponse
พร็อพเพอร์ตี้
-
ผลลัพธ์
ผลลัพธ์ของการปิดเครื่องสแกน แม้ว่าค่านี้จะไม่ใช่
SUCCESS
แต่แฮนเดิลก็จะไม่ถูกต้องและไม่ควรใช้ในการดำเนินการเพิ่มเติมใดๆ -
scannerHandle
สตริง
แฮนเดิลเครื่องสแกนเดียวกันกับที่ส่งไปยัง
closeScanner
Configurability
วิธีเปลี่ยนตัวเลือก
ค่าแจกแจง
"NOT_CONFIGURABLE"
ตัวเลือกเป็นแบบอ่านอย่างเดียว
"SOFTWARE_CONFIGURABLE"
ตัวเลือกนี้ตั้งค่าได้ในซอฟต์แวร์
"HARDWARE_CONFIGURABLE"
ผู้ใช้จะตั้งค่าตัวเลือกนี้ได้โดยสลับหรือกดปุ่มบนเครื่องสแกน
ConnectionType
ระบุวิธีที่เครื่องสแกนเชื่อมต่อกับคอมพิวเตอร์
ค่าแจกแจง
"ไม่ระบุ"
"USB"
"NETWORK"
ค่าแจกแจง
"INT_RANGE"
ข้อจำกัดเกี่ยวกับช่วงของค่า OptionType.INT
พร็อพเพอร์ตี้ min
, max
และ quant
ของ OptionConstraint
จะเป็น long
และจะไม่ได้ตั้งค่าพร็อพเพอร์ตี้ list
"FIXED_RANGE"
ข้อจำกัดของช่วงของค่า OptionType.FIXED
พร็อพเพอร์ตี้ min
, max
และ quant
ของ OptionConstraint
จะถูก double
และจะไม่ได้ตั้งค่าพร็อพเพอร์ตี้ list
"INT_LIST"
ข้อจำกัดในรายการเจาะจงของค่า OptionType.INT
พร็อพเพอร์ตี้ OptionConstraint.list
จะมีค่า long
และจะยกเลิกการตั้งค่าพร็อพเพอร์ตี้อื่นๆ
"FIXED_LIST"
ข้อจำกัดในรายการเจาะจงของค่า OptionType.FIXED
พร็อพเพอร์ตี้ OptionConstraint.list
จะมีค่า double
และจะยกเลิกการตั้งค่าพร็อพเพอร์ตี้อื่นๆ
"STRING_LIST"
ข้อจำกัดในรายการเจาะจงของค่า OptionType.STRING
พร็อพเพอร์ตี้ OptionConstraint.list
จะมีค่า DOMString
และจะยกเลิกการตั้งค่าพร็อพเพอร์ตี้อื่นๆ
DeviceFilter
พร็อพเพอร์ตี้
-
local
บูลีน ไม่บังคับ
ส่งคืนเฉพาะเครื่องสแกนที่ต่อเข้ากับคอมพิวเตอร์โดยตรงเท่านั้น
-
รักษาความปลอดภัย
บูลีน ไม่บังคับ
ส่งคืนเฉพาะเครื่องสแกนที่ใช้การรับส่งที่ปลอดภัย เช่น USB หรือ TLS
GetOptionGroupsResponse
พร็อพเพอร์ตี้
-
กลุ่ม
OptionGroup[] ไม่บังคับ
หาก
result
คือSUCCESS
ให้แสดงรายการกลุ่มตัวเลือกตามลำดับที่ไดรเวอร์เครื่องสแกนกำหนด -
ผลลัพธ์
ผลลัพธ์จากการได้รับกลุ่มตัวเลือก หากค่าของพารามิเตอร์นี้คือ
SUCCESS
ระบบจะป้อนข้อมูลพร็อพเพอร์ตี้groups
-
scannerHandle
สตริง
แฮนเดิลเครื่องสแกนเดียวกันกับที่ส่งไปยัง
getOptionGroups
GetScannerListResponse
พร็อพเพอร์ตี้
-
ผลลัพธ์
ผลลัพธ์การแจกแจง โปรดทราบว่าผลลัพธ์บางส่วนอาจแสดงได้แม้ว่าจะระบุว่าเกิดข้อผิดพลาดก็ตาม
-
สแกนเนอร์
รายการเครื่องสแกนที่อาจว่างเปล่าซึ่งตรงกับ
DeviceFilter
ที่ให้ไว้
OpenScannerResponse
พร็อพเพอร์ตี้
-
ตัวเลือก
ออบเจ็กต์ไม่บังคับ
หาก
result
คือSUCCESS
ให้ระบุการแมปคีย์-ค่าโดยที่คีย์เป็นตัวเลือกเฉพาะอุปกรณ์และค่าเป็นอินสแตนซ์ของScannerOption
-
ผลลัพธ์
ผลของการเปิดเครื่องสแกน หากค่าของพารามิเตอร์นี้คือ
SUCCESS
ระบบจะป้อนข้อมูลพร็อพเพอร์ตี้scannerHandle
และoptions
-
scannerHandle
string ไม่บังคับ
หาก
result
คือSUCCESS
แฮนเดิลของเครื่องสแกนจะใช้เพื่อดำเนินการเพิ่มเติมได้ -
scannerId
สตริง
ส่งรหัสเครื่องสแกนไปยัง
openScanner()
OperationResult
Enum ที่บ่งชี้ผลลัพธ์ของการดำเนินการแต่ละรายการ
ค่าแจกแจง
"UNKNOWN"
เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุหรือทั่วไป
"SUCCESS"
การดำเนินการสำเร็จ
"UNSUPPORTED"
ระบบไม่รองรับการดำเนินการนี้
"CANCELLED"
การดำเนินการถูกยกเลิก
"DEVICE_BUSY"
อุปกรณ์ไม่ว่าง
"ไม่ถูกต้อง"
ข้อมูลหรืออาร์กิวเมนต์ที่ส่งไปยังเมธอดดังกล่าวไม่ถูกต้อง
"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
พร็อพเพอร์ตี้
-
สมาชิก
สตริง[]
อาร์เรย์ของชื่อตัวเลือกตามลำดับที่ระบุโดยคนขับ
-
title
สตริง
ระบุชื่อที่พิมพ์ได้ เช่น "ตัวเลือกเรขาคณิต"
OptionSetting
พร็อพเพอร์ตี้
-
ชื่อ
สตริง
ระบุชื่อของตัวเลือกที่จะตั้งค่า
-
ประเภท
ระบุประเภทข้อมูลของตัวเลือก ประเภทข้อมูลที่ขอต้องตรงกับประเภทข้อมูลจริงของตัวเลือกที่เกี่ยวข้อง
-
value
string | ตัวเลข | boolean | number[] ไม่บังคับ
ระบุค่าที่จะตั้งค่า ไม่ต้องตั้งค่าเพื่อส่งคำขอการตั้งค่าอัตโนมัติสำหรับตัวเลือกที่เปิดใช้
autoSettable
ไว้ ประเภทข้อมูลที่ให้ไว้สำหรับvalue
ต้องตรงกับtype
OptionType
ประเภทข้อมูลของตัวเลือก
ค่าแจกแจง
"UNKNOWN"
ไม่ทราบประเภทข้อมูลของตัวเลือก ระบบจะยกเลิกการตั้งค่าพร็อพเพอร์ตี้ value
"BOOL"
พร็อพเพอร์ตี้ value
จะเป็นหนึ่งใน true
false
"INT"
จำนวนเต็ม 32 บิตแบบมีเครื่องหมาย พร็อพเพอร์ตี้ value
จะยาวหรือยาว[] ขึ้นอยู่กับว่าตัวเลือกใช้มากกว่า 1 ค่า
"FIXED"
2 เท่าในช่วง -32768-32767.9999 โดยมีความละเอียด 1/65535 พร็อพเพอร์ตี้ value
จะเป็นเลขคู่หรือคู่[] ขึ้นอยู่กับว่าตัวเลือกใช้ค่ามากกว่า 1 ค่า ค่า 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 -
งาน
สตริง
ระบุแฮนเดิลงานที่ส่งให้
readScanData()
-
ผลลัพธ์
ผลจากการอ่านข้อมูล หากค่าคือ
SUCCESS
แล้วdata
จะมีข้อมูลรูปภาพส่วนถัดไป (อาจจะยาวเป็น 0) ที่พร้อมสำหรับการอ่าน หากค่าคือEOF
ค่าdata
จะประกอบด้วยข้อมูลรูปภาพกลุ่มสุดท้าย
ScannerInfo
พร็อพเพอร์ตี้
-
connectionType
ระบุวิธีที่เครื่องสแกนเชื่อมต่อกับคอมพิวเตอร์
-
deviceUuid
สตริง
สำหรับการจับคู่กับรายการอื่นๆ ของ
ScannerInfo
ที่ชี้ไปยังอุปกรณ์จริงเครื่องเดียวกัน -
imageFormats
สตริง[]
อาร์เรย์ของประเภท MIME ที่ขอการสแกนที่ส่งกลับได้
-
ผู้ผลิต
สตริง
ผู้ผลิตเครื่องสแกน
-
รุ่น
สตริง
โมเดลเครื่องสแกน (หากมี) หรือคำอธิบายทั่วไป
-
ชื่อ
สตริง
ชื่อเครื่องสแกนที่มนุษย์อ่านได้ใน UI
-
protocolType
สตริง
คำอธิบายโปรโตคอลหรือไดรเวอร์ที่มนุษย์อ่านได้ซึ่งใช้เข้าถึงเครื่องสแกน เช่น Mopria, WSD หรือ epsond ซึ่งจะเป็นประโยชน์หลักในการอนุญาตให้ผู้ใช้เลือกระหว่างโปรโตคอลต่างๆ หากอุปกรณ์รองรับหลายโปรโตคอล
-
scannerId
สตริง
รหัสของเครื่องสแกนที่เฉพาะเจาะจง
-
รักษาความปลอดภัย
boolean
หากเป็น "จริง" การ Listener แบบแพสซีฟ เช่น TLS หรือ USB จะขัดขวางการส่งของการเชื่อมต่อเครื่องสแกนไม่ได้
ScannerOption
พร็อพเพอร์ตี้
-
ความสามารถในการกำหนดค่า
ระบุว่าสามารถเปลี่ยนแปลงตัวเลือกได้หรือไม่และอย่างไร
-
ข้อจำกัด
OptionConstraint ไม่บังคับ
กำหนด
OptionConstraint
ในตัวเลือกเครื่องสแกนปัจจุบัน -
คำอธิบาย
สตริง
คำอธิบายตัวเลือกที่ยาวขึ้น
-
isActive
boolean
บ่งบอกว่าตัวเลือกดังกล่าวทำงานอยู่และสามารถตั้งค่าหรือดึงข้อมูลได้ หากเป็น "เท็จ" ระบบจะไม่ตั้งค่าพร็อพเพอร์ตี้
value
-
isAdvanced
boolean
ระบุว่า UI ไม่ควรแสดงตัวเลือกนี้โดยค่าเริ่มต้น
-
isAutoSettable
boolean
ไดรเวอร์เครื่องสแกนสามารถตั้งค่าโดยอัตโนมัติ
-
isDetectable
boolean
ระบุว่าตัวเลือกนี้สามารถตรวจพบได้จากซอฟต์แวร์
-
isEmulated
boolean
จำลองโดยไดรเวอร์เครื่องสแกน หากเป็น "จริง"
-
ชื่อ
สตริง
ชื่อตัวเลือกที่ใช้ตัวอักษร ASCII ตัวพิมพ์เล็ก ตัวเลข และขีดกลาง ไม่อนุญาตให้ใช้เครื่องหมายเสริมสัทอักษร
-
title
สตริง
ชื่อบรรทัดเดียวที่พิมพ์ได้
-
ประเภท
ประเภทข้อมูลที่อยู่ในพร็อพเพอร์ตี้
value
ซึ่งจำเป็นสำหรับการตั้งค่านี้ -
หน่วย
หน่วยวัดสำหรับตัวเลือกนี้
-
value
string | ตัวเลข | boolean | number[] ไม่บังคับ
ค่าปัจจุบันของตัวเลือก หากเกี่ยวข้อง โปรดทราบว่าประเภทข้อมูลของพร็อพเพอร์ตี้นี้ต้องตรงกับประเภทข้อมูลที่ระบุไว้ใน
type
ScanOptions
พร็อพเพอร์ตี้
-
maxImages
หมายเลข ไม่บังคับ
จำนวนรูปภาพที่สแกนที่อนุญาต ค่าเริ่มต้นคือ 1
-
mimeTypes
string[] ไม่บังคับ
ประเภท MIME ที่ผู้โทรยอมรับ
ScanResults
พร็อพเพอร์ตี้
-
dataUrls
สตริง[]
อาร์เรย์ของ URL รูปภาพข้อมูลในรูปแบบที่ส่งเป็น "src" ได้ ลงในแท็กรูปภาพ
-
mimeType
สตริง
ประเภท MIME ของ
dataUrls
SetOptionResult
พร็อพเพอร์ตี้
-
ชื่อ
สตริง
ระบุชื่อของตัวเลือกที่ตั้งค่าแล้ว
-
ผลลัพธ์
ระบุผลลัพธ์ของการตั้งค่าตัวเลือก
SetOptionsResponse
พร็อพเพอร์ตี้
-
ตัวเลือก
ออบเจ็กต์ไม่บังคับ
การแมปคีย์-ค่าที่อัปเดตแล้วจากชื่อตัวเลือกเป็นค่า
ScannerOption
ซึ่งมีการกำหนดค่าใหม่หลังจากพยายามตั้งค่าตัวเลือกที่ให้มาทั้งหมด ซึ่งมีโครงสร้างเดียวกันกับพร็อพเพอร์ตี้options
ในOpenScannerResponse
ระบบจะตั้งค่าพร็อพเพอร์ตี้นี้แม้จะไม่ได้ตั้งค่าบางตัวเลือกสำเร็จ แต่จะไม่มีการตั้งค่าหากเรียกข้อมูลการกำหนดค่าที่อัปเดตแล้วไม่สำเร็จ (เช่น ไม่ได้เชื่อมต่อกับเครื่องสแกนในระหว่างการสแกน)
-
ผลลัพธ์
อาร์เรย์ผลลัพธ์ รายการละ 1 รายการสำหรับ
OptionSetting
ที่ส่งผ่าน -
scannerHandle
สตริง
ระบุแฮนเดิลเครื่องสแกนที่ส่งไปยัง
setOptions()
StartScanOptions
พร็อพเพอร์ตี้
-
รูปแบบ
สตริง
ระบุประเภท MIME ที่จะแสดงข้อมูลที่สแกน
-
maxReadSize
หมายเลข ไม่บังคับ
หากระบุค่าที่ไม่ใช่ 0 จะเป็นการจำกัดไบต์สูงสุดที่สแกนซึ่งแสดงผลในคำตอบ
readScanData
ครั้งเดียวต่อค่านั้น ค่าต่ำสุดที่อนุญาตคือ 32768 (32 KB) หากไม่ได้ระบุคุณสมบัตินี้ ขนาดของกลุ่มที่ส่งคืนอาจใหญ่พอๆ กับรูปภาพที่สแกนทั้งหมด
StartScanResponse
พร็อพเพอร์ตี้
-
งาน
string ไม่บังคับ
หาก
result
คือSUCCESS
ให้ระบุแฮนเดิลที่ใช้อ่านข้อมูลการสแกนหรือยกเลิกงานได้ -
ผลลัพธ์
ผลของการเริ่มสแกน หากค่าของพารามิเตอร์นี้คือ
SUCCESS
ระบบจะป้อนข้อมูลพร็อพเพอร์ตี้job
-
scannerHandle
สตริง
ระบุแฮนเดิลเครื่องสแกนเดียวกันกับที่ส่งไปยัง
startScan()
เมธอด
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
)
ยกเลิกการสแกนที่เริ่มต้นแล้วและแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ CancelScanResponse
หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน
พารามิเตอร์
-
งาน
สตริง
แฮนเดิลของงานสแกนที่ใช้งานอยู่ซึ่งก่อนหน้านี้ส่งคืนจากการเรียกใช้
startScan
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(response: CancelScanResponse) => void
-
การตอบกลับ
-
การคืนสินค้า
-
Promise<CancelScanResponse>
รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
)
ปิดเครื่องสแกนที่มีแฮนเดิลที่ส่งผ่านและแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ CloseScannerResponse
หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน แม้การตอบกลับจะไม่เป็นผลสำเร็จ แต่แฮนเดิลที่ระบุจะใช้งานไม่ได้และไม่ควรใช้ในการดำเนินการเพิ่มเติม
พารามิเตอร์
-
scannerHandle
สตริง
ระบุแฮนเดิลของเครื่องสแกนที่เปิดอยู่ซึ่งส่งคืนจากการเรียกใช้
openScanner
ก่อนหน้านี้ -
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(response: CloseScannerResponse) => void
-
การตอบกลับ
-
การคืนสินค้า
-
Promise<CloseScannerResponse>
รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
)
ดูชื่อกลุ่มและตัวเลือกสมาชิกกลุ่มจากเครื่องสแกนที่เปิดก่อนหน้านี้โดย openScanner
วิธีนี้จะแสดง "คำสัญญา" ที่แก้ไขด้วยออบเจ็กต์ GetOptionGroupsResponse
หากมีการส่งผ่าน Callback ไปยังฟังก์ชันนี้ ระบบจะส่งข้อมูลที่ส่งกลับไปยังฟังก์ชันนี้แทน
พารามิเตอร์
-
scannerHandle
สตริง
แฮนเดิลของเครื่องสแกนที่เปิดอยู่ซึ่งส่งคืนจากการโทรหา
openScanner
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(response: GetOptionGroupsResponse) => void
-
การตอบกลับ
-
การคืนสินค้า
-
Promise<GetOptionGroupsResponse>
รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
)
รับรายการโปรแกรมสแกนที่ใช้ได้และแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ GetScannerListResponse
หากมีการส่งผ่าน Callback ไปยังฟังก์ชันนี้ ระบบจะส่งข้อมูลที่ส่งกลับไปยังฟังก์ชันนี้แทน
พารามิเตอร์
-
ตัวกรอง
สัญลักษณ์
DeviceFilter
ที่ระบุประเภทเครื่องสแกนที่ควรแสดงผล -
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(response: GetScannerListResponse) => void
-
การตอบกลับ
-
การคืนสินค้า
-
Promise<GetScannerListResponse>
รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
)
เปิดเครื่องมือสแกนเพื่อรับการเข้าถึงพิเศษและแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ OpenScannerResponse
หากมีการส่งผ่าน Callback ไปยังฟังก์ชันนี้ ระบบจะส่งข้อมูลที่ส่งกลับไปยังฟังก์ชันนี้แทน
พารามิเตอร์
-
scannerId
สตริง
รหัสของเครื่องสแกนที่จะเปิด ค่านี้เป็นค่าที่ส่งคืนจากการเรียกก่อนหน้าไปยัง
getScannerList
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(response: OpenScannerResponse) => void
-
การตอบกลับ
-
การคืนสินค้า
-
Promise<OpenScannerResponse>
รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
)
อ่านข้อมูลรูปภาพส่วนถัดไปที่มีอยู่จากแฮนเดิลงานที่ใช้งานอยู่ และแสดงผล Promise ที่ตรงกับออบเจ็กต์ ReadScanDataResponse
หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน
**หมายเหตุ**ใช้ได้กับผลลัพธ์คำตอบคือ SUCCESS
ที่มีสมาชิก data
ที่มีความยาวเป็น 0 ซึ่งหมายความว่าเครื่องสแกนยังคงทำงานอยู่ แต่ยังไม่พร้อมข้อมูลเพิ่มเติม ผู้โทรควรรอสักครู่แล้วลองอีกครั้ง
เมื่องานสแกนเสร็จสมบูรณ์แล้ว การตอบกลับจะมีค่าผลลัพธ์เป็น EOF
การตอบกลับนี้อาจมีสมาชิกสุดท้ายของ data
ที่ไม่ใช่ 0
พารามิเตอร์
-
งาน
สตริง
แฮนเดิลงานที่ใช้งานอยู่ก่อนหน้านี้ส่งคืนจาก
startScan
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(response: ReadScanDataResponse) => void
-
การตอบกลับ
-
การคืนสินค้า
-
Promise<ReadScanDataResponse>
รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
)
ทำการสแกนเอกสารและแสดงผลคำสัญญาที่แก้ไขได้ด้วยออบเจ็กต์ ScanResults
หากมีการส่งผ่าน Callback ไปยังฟังก์ชันนี้ ระบบจะส่งข้อมูลที่ส่งกลับไปยังฟังก์ชันนี้แทน
พารามิเตอร์
-
ตัวเลือก
ออบเจ็กต์ที่มีพารามิเตอร์การสแกน
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(result: ScanResults) => void
-
ผลลัพธ์
-
การคืนสินค้า
-
Promise<ScanResults>
Chrome 96 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
)
ตั้งค่าตัวเลือกในเครื่องสแกนที่ระบุและแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ SetOptionsResponse
ที่เป็นผลมาจากการพยายามตั้งค่าทุกค่าตามลำดับออบเจ็กต์ OptionSetting
ที่ส่ง หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน
พารามิเตอร์
-
scannerHandle
สตริง
แฮนเดิลของโปรแกรมสแกนสำหรับตั้งค่าตัวเลือก ซึ่งควรเป็นค่าที่ส่งคืนจากการเรียกใช้ไปยัง
openScanner
ก่อนหน้านี้ -
ตัวเลือก
รายการ
OptionSetting
ออบเจ็กต์ที่จะใช้กับเครื่องสแกน -
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(response: SetOptionsResponse) => void
-
การตอบกลับ
-
การคืนสินค้า
-
Promise<SetOptionsResponse>
รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
)
เริ่มสแกนบนเครื่องสแกนที่ระบุ และแสดงคำสัญญาที่แก้ไขด้วย StartScanResponse
ได้ หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน หากการเรียกใช้สำเร็จ การตอบกลับจะมีแฮนเดิลงานซึ่งใช้ในการเรียกใช้ครั้งต่อๆ ไปเพื่ออ่านข้อมูลการสแกนหรือยกเลิกการสแกนได้
พารามิเตอร์
-
scannerHandle
สตริง
แฮนเดิลของเครื่องสแกนที่เปิดอยู่ ซึ่งควรเป็นค่าที่ส่งคืนจากการเรียกใช้ไปยัง
openScanner
ก่อนหน้านี้ -
ตัวเลือก
ออบเจ็กต์
StartScanOptions
ที่ระบุตัวเลือกที่จะใช้สำหรับการสแกน พร็อพเพอร์ตี้StartScanOptions.format
ต้องตรงกับรายการใดรายการหนึ่งที่แสดงในScannerInfo
ของเครื่องสแกน -
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(response: StartScanResponse) => void
-
การตอบกลับ
-
การคืนสินค้า
-
Promise<StartScanResponse>
รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback