chrome.documentScan

คำอธิบาย

ใช้ chrome.documentScan API เพื่อค้นหาและเรียกข้อมูลรูปภาพจากเครื่องสแกนเอกสารที่แนบมา

สิทธิ์

documentScan

ความพร้อมใช้งาน

Chrome 44 ขึ้นไป ChromeOS เท่านั้น

API การสแกนเอกสาร

Document Scan API ได้รับการออกแบบมาเพื่อให้แอปและส่วนขยายดู ของเนื้อหากระดาษบนเครื่องสแกนเอกสารที่แนบมา

ประเภท

CancelScanResponse

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • งาน

    สตริง

    ระบุแฮนเดิลงานเดียวกันกับที่ส่งไปยัง cancelScan()

  • ผลลัพธ์

    ผลการสแกนการยกเลิกของแบ็กเอนด์ หากผลลัพธ์คือ OperationResult.SUCCESS หรือ OperationResult.CANCELLED แสดงว่าการสแกนถูกยกเลิกและเครื่องสแกนพร้อมที่จะเริ่มการสแกนใหม่แล้ว หากผลลัพธ์คือ OperationResult.DEVICE_BUSY แสดงว่าเครื่องสแกนยังคงประมวลผลการยกเลิกที่ร้องขอ ผู้โทรควรรอสักครู่และลองส่งคำขออีกครั้ง ค่าผลลัพธ์อื่นๆ จะระบุข้อผิดพลาดถาวรที่ไม่ควรลองอีกครั้ง

CloseScannerResponse

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • ผลลัพธ์

    ผลลัพธ์ของการปิดเครื่องสแกน แม้ว่าค่านี้จะไม่ใช่ SUCCESS แต่แฮนเดิลก็จะไม่ถูกต้องและไม่ควรใช้ในการดำเนินการเพิ่มเติมใดๆ

  • scannerHandle

    สตริง

    แฮนเดิลเครื่องสแกนเดียวกันกับที่ส่งไปยัง closeScanner

Configurability

Chrome 125 ขึ้นไป

วิธีเปลี่ยนตัวเลือก

ค่าแจกแจง

"NOT_CONFIGURABLE"
ตัวเลือกเป็นแบบอ่านอย่างเดียว

"SOFTWARE_CONFIGURABLE"
ตัวเลือกนี้ตั้งค่าได้ในซอฟต์แวร์

"HARDWARE_CONFIGURABLE"
ผู้ใช้จะตั้งค่าตัวเลือกนี้ได้โดยสลับหรือกดปุ่มบนเครื่องสแกน

ConnectionType

Chrome 125 ขึ้นไป

ระบุวิธีที่เครื่องสแกนเชื่อมต่อกับคอมพิวเตอร์

ค่าแจกแจง

"ไม่ระบุ"

"USB"

"NETWORK"

ConstraintType

Chrome 125 ขึ้นไป

ประเภทข้อมูลของข้อจำกัดที่แสดงโดย OptionConstraint

ค่าแจกแจง

"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

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • local

    บูลีน ไม่บังคับ

    ส่งคืนเฉพาะเครื่องสแกนที่ต่อเข้ากับคอมพิวเตอร์โดยตรงเท่านั้น

  • รักษาความปลอดภัย

    บูลีน ไม่บังคับ

    ส่งคืนเฉพาะเครื่องสแกนที่ใช้การรับส่งที่ปลอดภัย เช่น USB หรือ TLS

GetOptionGroupsResponse

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • กลุ่ม

    OptionGroup[] ไม่บังคับ

    หาก result คือ SUCCESS ให้แสดงรายการกลุ่มตัวเลือกตามลำดับที่ไดรเวอร์เครื่องสแกนกำหนด

  • ผลลัพธ์

    ผลลัพธ์จากการได้รับกลุ่มตัวเลือก หากค่าของพารามิเตอร์นี้คือ SUCCESS ระบบจะป้อนข้อมูลพร็อพเพอร์ตี้ groups

  • scannerHandle

    สตริง

    แฮนเดิลเครื่องสแกนเดียวกันกับที่ส่งไปยัง getOptionGroups

GetScannerListResponse

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • ผลลัพธ์

    ผลลัพธ์การแจกแจง โปรดทราบว่าผลลัพธ์บางส่วนอาจแสดงได้แม้ว่าจะระบุว่าเกิดข้อผิดพลาดก็ตาม

  • สแกนเนอร์

    รายการเครื่องสแกนที่อาจว่างเปล่าซึ่งตรงกับ DeviceFilter ที่ให้ไว้

OpenScannerResponse

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • ตัวเลือก

    ออบเจ็กต์ไม่บังคับ

    หาก result คือ SUCCESS ให้ระบุการแมปคีย์-ค่าโดยที่คีย์เป็นตัวเลือกเฉพาะอุปกรณ์และค่าเป็นอินสแตนซ์ของ ScannerOption

  • ผลลัพธ์

    ผลของการเปิดเครื่องสแกน หากค่าของพารามิเตอร์นี้คือ SUCCESS ระบบจะป้อนข้อมูลพร็อพเพอร์ตี้ scannerHandle และ options

  • scannerHandle

    string ไม่บังคับ

    หาก result คือ SUCCESS แฮนเดิลของเครื่องสแกนจะใช้เพื่อดำเนินการเพิ่มเติมได้

  • scannerId

    สตริง

    ส่งรหัสเครื่องสแกนไปยัง openScanner()

OperationResult

Chrome 125 ขึ้นไป

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

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • list

    string[] | number[] ไม่บังคับ

  • สูงสุด

    หมายเลข ไม่บังคับ

  • นาที

    หมายเลข ไม่บังคับ

  • ปริมาณ

    หมายเลข ไม่บังคับ

  • ประเภท

OptionGroup

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • สมาชิก

    สตริง[]

    อาร์เรย์ของชื่อตัวเลือกตามลำดับที่ระบุโดยคนขับ

  • title

    สตริง

    ระบุชื่อที่พิมพ์ได้ เช่น "ตัวเลือกเรขาคณิต"

OptionSetting

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • ชื่อ

    สตริง

    ระบุชื่อของตัวเลือกที่จะตั้งค่า

  • ประเภท

    ระบุประเภทข้อมูลของตัวเลือก ประเภทข้อมูลที่ขอต้องตรงกับประเภทข้อมูลจริงของตัวเลือกที่เกี่ยวข้อง

  • value

    string | ตัวเลข | boolean | number[] ไม่บังคับ

    ระบุค่าที่จะตั้งค่า ไม่ต้องตั้งค่าเพื่อส่งคำขอการตั้งค่าอัตโนมัติสำหรับตัวเลือกที่เปิดใช้ autoSettable ไว้ ประเภทข้อมูลที่ให้ไว้สำหรับ value ต้องตรงกับ type

OptionType

Chrome 125 ขึ้นไป

ประเภทข้อมูลของตัวเลือก

ค่าแจกแจง

"UNKNOWN"
ไม่ทราบประเภทข้อมูลของตัวเลือก ระบบจะยกเลิกการตั้งค่าพร็อพเพอร์ตี้ value

"BOOL"
พร็อพเพอร์ตี้ value จะเป็นหนึ่งใน truefalse

"INT"
จำนวนเต็ม 32 บิตแบบมีเครื่องหมาย พร็อพเพอร์ตี้ value จะยาวหรือยาว[] ขึ้นอยู่กับว่าตัวเลือกใช้มากกว่า 1 ค่า

"FIXED"
2 เท่าในช่วง -32768-32767.9999 โดยมีความละเอียด 1/65535 พร็อพเพอร์ตี้ value จะเป็นเลขคู่หรือคู่[] ขึ้นอยู่กับว่าตัวเลือกใช้ค่ามากกว่า 1 ค่า ค่า Double ที่แสดงไม่ได้เหมือนกันทุกประการจะได้รับการปัดเศษให้เป็นช่วงและความแม่นยำที่ใช้ได้

"STRING"
ลำดับของไบต์ใดๆ ยกเว้น NUL ("\0") พร็อพเพอร์ตี้ value จะเป็น DOMString

"BUTTON"
ตัวเลือกประเภทนี้ไม่มีค่า แต่การตั้งค่าตัวเลือกประเภทนี้จะทำให้เกิดผลข้างเคียงเฉพาะตัวเลือกในไดรเวอร์เครื่องสแกน เช่น ไดรเวอร์เครื่องสแกนอาจใช้ตัวเลือกแบบปุ่มเพื่อระบุวิธีการเลือกค่าเริ่มต้น หรือบอกให้ตัวป้อนเอกสารอัตโนมัติเลื่อนไปยังกระดาษแผ่นถัดไป

"GROUP"
ตัวเลือกการจัดกลุ่ม ไม่มีค่า ส่วนนี้มีไว้เพื่อรองรับความเข้ากันได้ แต่ปกติแล้วจะไม่แสดงผลในค่า ScannerOption ใช้ getOptionGroups() เพื่อเรียกข้อมูลรายการกลุ่มที่มีตัวเลือกสมาชิก

OptionUnit

Chrome 125 ขึ้นไป

ระบุประเภทข้อมูลสำหรับ ScannerOption.unit

ค่าแจกแจง

"UNITLESS"
ค่านี้เป็นจำนวนหน่วย ตัวอย่างเช่น เกณฑ์ดังกล่าวอาจเป็นเกณฑ์

"PIXEL"
ค่าคือจำนวนพิกเซล เช่น มิติข้อมูลการสแกน

"BIT"
ค่าคือจำนวนบิต เช่น ความลึกของสี

"MM"
ค่าจะวัดเป็นหน่วยมิลลิเมตร เช่น ขนาดการสแกน

"DPI"
ค่าจะวัดเป็นจุดต่อนิ้ว เช่น ความละเอียด

"PERCENT"
ค่าเป็นเปอร์เซ็นต์ เช่น ความสว่าง

"MICROSECOND"
ค่าจะวัดเป็นไมโครวินาที เช่น เวลาเปิดรับแสง

ReadScanDataResponse

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • ข้อมูล

    ArrayBuffer ไม่บังคับ

    หาก result คือ SUCCESS จะมีข้อมูลรูปภาพที่สแกนในส่วนถัดไป หาก result คือ EOF จะมีข้อมูลรูปภาพที่สแกนบางส่วนสุดท้าย

  • estimatedCompletion

    หมายเลข ไม่บังคับ

    หาก result เท่ากับ SUCCESS จำนวนข้อมูลการสแกนทั้งหมดโดยประมาณที่ส่งไปแล้วจนถึงขณะนี้จะอยู่ในช่วง 0 ถึง 100

  • งาน

    สตริง

    ระบุแฮนเดิลงานที่ส่งให้ readScanData()

  • ผลลัพธ์

    ผลจากการอ่านข้อมูล หากค่าคือ SUCCESS แล้ว data จะมีข้อมูลรูปภาพส่วนถัดไป (อาจจะยาวเป็น 0) ที่พร้อมสำหรับการอ่าน หากค่าคือ EOF ค่า data จะประกอบด้วยข้อมูลรูปภาพกลุ่มสุดท้าย

ScannerInfo

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • connectionType

    ระบุวิธีที่เครื่องสแกนเชื่อมต่อกับคอมพิวเตอร์

  • deviceUuid

    สตริง

    สำหรับการจับคู่กับรายการอื่นๆ ของ ScannerInfo ที่ชี้ไปยังอุปกรณ์จริงเครื่องเดียวกัน

  • imageFormats

    สตริง[]

    อาร์เรย์ของประเภท MIME ที่ขอการสแกนที่ส่งกลับได้

  • ผู้ผลิต

    สตริง

    ผู้ผลิตเครื่องสแกน

  • รุ่น

    สตริง

    โมเดลเครื่องสแกน (หากมี) หรือคำอธิบายทั่วไป

  • ชื่อ

    สตริง

    ชื่อเครื่องสแกนที่มนุษย์อ่านได้ใน UI

  • protocolType

    สตริง

    คำอธิบายโปรโตคอลหรือไดรเวอร์ที่มนุษย์อ่านได้ซึ่งใช้เข้าถึงเครื่องสแกน เช่น Mopria, WSD หรือ epsond ซึ่งจะเป็นประโยชน์หลักในการอนุญาตให้ผู้ใช้เลือกระหว่างโปรโตคอลต่างๆ หากอุปกรณ์รองรับหลายโปรโตคอล

  • scannerId

    สตริง

    รหัสของเครื่องสแกนที่เฉพาะเจาะจง

  • รักษาความปลอดภัย

    boolean

    หากเป็น "จริง" การ Listener แบบแพสซีฟ เช่น TLS หรือ USB จะขัดขวางการส่งของการเชื่อมต่อเครื่องสแกนไม่ได้

ScannerOption

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • ความสามารถในการกำหนดค่า

    ระบุว่าสามารถเปลี่ยนแปลงตัวเลือกได้หรือไม่และอย่างไร

  • ข้อจำกัด

    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

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • ชื่อ

    สตริง

    ระบุชื่อของตัวเลือกที่ตั้งค่าแล้ว

  • ผลลัพธ์

    ระบุผลลัพธ์ของการตั้งค่าตัวเลือก

SetOptionsResponse

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • ตัวเลือก

    ออบเจ็กต์ไม่บังคับ

    การแมปคีย์-ค่าที่อัปเดตแล้วจากชื่อตัวเลือกเป็นค่า ScannerOption ซึ่งมีการกำหนดค่าใหม่หลังจากพยายามตั้งค่าตัวเลือกที่ให้มาทั้งหมด ซึ่งมีโครงสร้างเดียวกันกับพร็อพเพอร์ตี้ options ใน OpenScannerResponse

    ระบบจะตั้งค่าพร็อพเพอร์ตี้นี้แม้จะไม่ได้ตั้งค่าบางตัวเลือกสำเร็จ แต่จะไม่มีการตั้งค่าหากเรียกข้อมูลการกำหนดค่าที่อัปเดตแล้วไม่สำเร็จ (เช่น ไม่ได้เชื่อมต่อกับเครื่องสแกนในระหว่างการสแกน)

  • ผลลัพธ์

    อาร์เรย์ผลลัพธ์ รายการละ 1 รายการสำหรับ OptionSetting ที่ส่งผ่าน

  • scannerHandle

    สตริง

    ระบุแฮนเดิลเครื่องสแกนที่ส่งไปยัง setOptions()

StartScanOptions

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • รูปแบบ

    สตริง

    ระบุประเภท MIME ที่จะแสดงข้อมูลที่สแกน

  • maxReadSize

    หมายเลข ไม่บังคับ

    หากระบุค่าที่ไม่ใช่ 0 จะเป็นการจำกัดไบต์สูงสุดที่สแกนซึ่งแสดงผลในคำตอบ readScanData ครั้งเดียวต่อค่านั้น ค่าต่ำสุดที่อนุญาตคือ 32768 (32 KB) หากไม่ได้ระบุคุณสมบัตินี้ ขนาดของกลุ่มที่ส่งคืนอาจใหญ่พอๆ กับรูปภาพที่สแกนทั้งหมด

StartScanResponse

Chrome 125 ขึ้นไป

พร็อพเพอร์ตี้

  • งาน

    string ไม่บังคับ

    หาก result คือ SUCCESS ให้ระบุแฮนเดิลที่ใช้อ่านข้อมูลการสแกนหรือยกเลิกงานได้

  • ผลลัพธ์

    ผลของการเริ่มสแกน หากค่าของพารามิเตอร์นี้คือ SUCCESS ระบบจะป้อนข้อมูลพร็อพเพอร์ตี้ job

  • scannerHandle

    สตริง

    ระบุแฮนเดิลเครื่องสแกนเดียวกันกับที่ส่งไปยัง startScan()

เมธอด

cancelScan()

สัญญา Chrome 125 ขึ้นไป
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

ยกเลิกการสแกนที่เริ่มต้นแล้วและแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ CancelScanResponse หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน

พารามิเตอร์

  • งาน

    สตริง

    แฮนเดิลของงานสแกนที่ใช้งานอยู่ซึ่งก่อนหน้านี้ส่งคืนจากการเรียกใช้ startScan

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (response: CancelScanResponse) => void

การคืนสินค้า

  • Promise<CancelScanResponse>

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

closeScanner()

สัญญา Chrome 125 ขึ้นไป
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

ปิดเครื่องสแกนที่มีแฮนเดิลที่ส่งผ่านและแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ CloseScannerResponse หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน แม้การตอบกลับจะไม่เป็นผลสำเร็จ แต่แฮนเดิลที่ระบุจะใช้งานไม่ได้และไม่ควรใช้ในการดำเนินการเพิ่มเติม

พารามิเตอร์

  • scannerHandle

    สตริง

    ระบุแฮนเดิลของเครื่องสแกนที่เปิดอยู่ซึ่งส่งคืนจากการเรียกใช้ openScanner ก่อนหน้านี้

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (response: CloseScannerResponse) => void

การคืนสินค้า

  • Promise<CloseScannerResponse>

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getOptionGroups()

สัญญา Chrome 125 ขึ้นไป
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)

ดูชื่อกลุ่มและตัวเลือกสมาชิกกลุ่มจากเครื่องสแกนที่เปิดก่อนหน้านี้โดย openScanner วิธีนี้จะแสดง "คำสัญญา" ที่แก้ไขด้วยออบเจ็กต์ GetOptionGroupsResponse หากมีการส่งผ่าน Callback ไปยังฟังก์ชันนี้ ระบบจะส่งข้อมูลที่ส่งกลับไปยังฟังก์ชันนี้แทน

พารามิเตอร์

  • scannerHandle

    สตริง

    แฮนเดิลของเครื่องสแกนที่เปิดอยู่ซึ่งส่งคืนจากการโทรหา openScanner

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (response: GetOptionGroupsResponse) => void

การคืนสินค้า

  • Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getScannerList()

สัญญา Chrome 125 ขึ้นไป
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

รับรายการโปรแกรมสแกนที่ใช้ได้และแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ GetScannerListResponse หากมีการส่งผ่าน Callback ไปยังฟังก์ชันนี้ ระบบจะส่งข้อมูลที่ส่งกลับไปยังฟังก์ชันนี้แทน

พารามิเตอร์

  • ตัวกรอง

    สัญลักษณ์ DeviceFilter ที่ระบุประเภทเครื่องสแกนที่ควรแสดงผล

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (response: GetScannerListResponse) => void

การคืนสินค้า

  • Promise<GetScannerListResponse>

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

openScanner()

สัญญา Chrome 125 ขึ้นไป
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

เปิดเครื่องมือสแกนเพื่อรับการเข้าถึงพิเศษและแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ OpenScannerResponse หากมีการส่งผ่าน Callback ไปยังฟังก์ชันนี้ ระบบจะส่งข้อมูลที่ส่งกลับไปยังฟังก์ชันนี้แทน

พารามิเตอร์

  • scannerId

    สตริง

    รหัสของเครื่องสแกนที่จะเปิด ค่านี้เป็นค่าที่ส่งคืนจากการเรียกก่อนหน้าไปยัง getScannerList

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (response: OpenScannerResponse) => void

การคืนสินค้า

  • Promise<OpenScannerResponse>

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

readScanData()

สัญญา Chrome 125 ขึ้นไป
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

อ่านข้อมูลรูปภาพส่วนถัดไปที่มีอยู่จากแฮนเดิลงานที่ใช้งานอยู่ และแสดงผล Promise ที่ตรงกับออบเจ็กต์ ReadScanDataResponse หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน

**หมายเหตุ**ใช้ได้กับผลลัพธ์คำตอบคือ SUCCESS ที่มีสมาชิก data ที่มีความยาวเป็น 0 ซึ่งหมายความว่าเครื่องสแกนยังคงทำงานอยู่ แต่ยังไม่พร้อมข้อมูลเพิ่มเติม ผู้โทรควรรอสักครู่แล้วลองอีกครั้ง

เมื่องานสแกนเสร็จสมบูรณ์แล้ว การตอบกลับจะมีค่าผลลัพธ์เป็น EOF การตอบกลับนี้อาจมีสมาชิกสุดท้ายของ data ที่ไม่ใช่ 0

พารามิเตอร์

  • งาน

    สตริง

    แฮนเดิลงานที่ใช้งานอยู่ก่อนหน้านี้ส่งคืนจาก startScan

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (response: ReadScanDataResponse) => void

การคืนสินค้า

  • Promise<ReadScanDataResponse>

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

scan()

สัญญา
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)

ทำการสแกนเอกสารและแสดงผลคำสัญญาที่แก้ไขได้ด้วยออบเจ็กต์ ScanResults หากมีการส่งผ่าน Callback ไปยังฟังก์ชันนี้ ระบบจะส่งข้อมูลที่ส่งกลับไปยังฟังก์ชันนี้แทน

พารามิเตอร์

  • ตัวเลือก

    ออบเจ็กต์ที่มีพารามิเตอร์การสแกน

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (result: ScanResults) => void

การคืนสินค้า

  • Promise<ScanResults>

    Chrome 96 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

setOptions()

สัญญา Chrome 125 ขึ้นไป
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)

ตั้งค่าตัวเลือกในเครื่องสแกนที่ระบุและแสดงผล Promise ที่แก้ไขด้วยออบเจ็กต์ SetOptionsResponse ที่เป็นผลมาจากการพยายามตั้งค่าทุกค่าตามลำดับออบเจ็กต์ OptionSetting ที่ส่ง หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน

พารามิเตอร์

  • scannerHandle

    สตริง

    แฮนเดิลของโปรแกรมสแกนสำหรับตั้งค่าตัวเลือก ซึ่งควรเป็นค่าที่ส่งคืนจากการเรียกใช้ไปยัง openScanner ก่อนหน้านี้

  • ตัวเลือก

    รายการ OptionSetting ออบเจ็กต์ที่จะใช้กับเครื่องสแกน

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (response: SetOptionsResponse) => void

การคืนสินค้า

  • Promise<SetOptionsResponse>

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

startScan()

สัญญา Chrome 125 ขึ้นไป
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)

เริ่มสแกนบนเครื่องสแกนที่ระบุ และแสดงคำสัญญาที่แก้ไขด้วย StartScanResponse ได้ หากมีการใช้ Callback ระบบจะส่งออบเจ็กต์ไปยังออบเจ็กต์ดังกล่าวแทน หากการเรียกใช้สำเร็จ การตอบกลับจะมีแฮนเดิลงานซึ่งใช้ในการเรียกใช้ครั้งต่อๆ ไปเพื่ออ่านข้อมูลการสแกนหรือยกเลิกการสแกนได้

พารามิเตอร์

  • scannerHandle

    สตริง

    แฮนเดิลของเครื่องสแกนที่เปิดอยู่ ซึ่งควรเป็นค่าที่ส่งคืนจากการเรียกใช้ไปยัง openScanner ก่อนหน้านี้

  • ตัวเลือก

    ออบเจ็กต์ StartScanOptions ที่ระบุตัวเลือกที่จะใช้สำหรับการสแกน พร็อพเพอร์ตี้ StartScanOptions.format ต้องตรงกับรายการใดรายการหนึ่งที่แสดงใน ScannerInfo ของเครื่องสแกน

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (response: StartScanResponse) => void

การคืนสินค้า

  • Promise<StartScanResponse>

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback