chrome.documentScan

Deskripsi

Gunakan chrome.documentScan API untuk menemukan dan mengambil gambar dari pemindai dokumen yang terhubung ke perangkat.

Izin

documentScan

Ketersediaan

Chrome 44+ Khusus ChromeOS

Document Scan API

Document Scan API dirancang untuk memungkinkan aplikasi dan ekstensi melihat konten dokumen kertas pada pemindai dokumen yang terhubung.

Jenis

CancelScanResponse

Chrome 125+

Properti

  • tugas

    string

    Memberikan handle tugas yang sama dengan yang diteruskan ke cancelScan().

  • Hasil pembatalan pemindaian backend. Jika hasilnya adalah OperationResult.SUCCESS atau OperationResult.CANCELLED, pemindaian telah dibatalkan dan pemindai siap memulai pemindaian baru. Jika hasilnya adalah OperationResult.DEVICE_BUSY , pemindai masih memproses pembatalan yang diminta; pemanggil harus menunggu sebentar dan mencoba permintaan lagi. Nilai hasil lainnya menunjukkan error permanen yang tidak boleh dicoba lagi.

CloseScannerResponse

Chrome 125+

Properti

  • Hasil penutupan pemindai. Meskipun nilai ini bukan SUCCESS, handle akan menjadi tidak valid dan tidak boleh digunakan untuk operasi lebih lanjut.

  • scannerHandle

    string

    Handle pemindai yang sama seperti yang diteruskan ke closeScanner.

Configurability

Chrome 125+

Cara mengubah opsi.

Enum

"NOT_CONFIGURABLE"
Opsi bersifat hanya baca.

"SOFTWARE_CONFIGURABLE"
Opsi dapat ditetapkan di software.

"HARDWARE_CONFIGURABLE"
Opsi dapat ditetapkan oleh pengguna dengan mengalihkan atau menekan tombol pada pemindai.

ConnectionType

Chrome 125+

Menunjukkan cara pemindai terhubung ke komputer.

Enum

"UNSPECIFIED"

"USB"

"NETWORK"

ConstraintType

Chrome 125+

Jenis data batasan yang diwakili oleh OptionConstraint.

Enum

"INT_RANGE"
Batasan pada rentang nilai OptionType.INT. Properti min, max, dan quant dari OptionConstraint akan menjadi long, dan properti list-nya akan dibatalkan.

"FIXED_RANGE"
Batasan pada rentang nilai OptionType.FIXED. Properti min, max, dan quant dari OptionConstraint akan menjadi double, dan properti list-nya akan dibatalkan.

"INT_LIST"
Batasan pada daftar nilai OptionType.INT tertentu. Properti OptionConstraint.list akan berisi nilai long, dan properti lainnya tidak akan ditetapkan.

"FIXED_LIST"
Batasan pada daftar nilai OptionType.FIXED tertentu. Properti OptionConstraint.list akan berisi nilai double, dan properti lainnya tidak akan ditetapkan.

"STRING_LIST"
Batasan pada daftar nilai OptionType.STRING tertentu. Properti OptionConstraint.list akan berisi nilai DOMString, dan properti lainnya tidak akan ditetapkan.

DeviceFilter

Chrome 125+

Properti

  • lokal

    boolean opsional

    Hanya menampilkan pemindai yang terhubung langsung ke komputer.

  • aman

    boolean opsional

    Hanya menampilkan pemindai yang menggunakan transportasi aman, seperti USB atau TLS.

GetOptionGroupsResponse

Chrome 125+

Properti

  • yang dilacak

    OptionGroup[] opsional

    Jika result adalah SUCCESS, akan memberikan daftar grup opsi dalam urutan yang diberikan oleh driver pemindai.

  • Hasil mendapatkan grup opsi. Jika nilainya adalah SUCCESS, properti groups akan diisi.

  • scannerHandle

    string

    Handle pemindai yang sama seperti yang diteruskan ke getOptionGroups.

GetScannerListResponse

Chrome 125+

Properti

  • Hasil enumerasi. Perhatikan bahwa hasil parsial dapat ditampilkan meskipun hal ini menunjukkan error.

  • pemindai

    Daftar pemindai yang mungkin kosong yang cocok dengan DeviceFilter yang diberikan.

OpenScannerResponse

Chrome 125+

Properti

  • opsi

    objek opsional

    Jika result adalah SUCCESS, memberikan pemetaan nilai kunci dengan kunci berupa opsi khusus perangkat dan nilai berupa instance ScannerOption.

  • Hasil pembukaan pemindai. Jika nilainya adalah SUCCESS, properti scannerHandle dan options akan diisi.

  • scannerHandle

    string opsional

    Jika result adalah SUCCESS, maka akan ada handle ke pemindai yang dapat digunakan untuk operasi lebih lanjut.

  • scannerId

    string

    ID pemindai yang diteruskan ke openScanner().

OperationResult

Chrome 125+

Enum yang menunjukkan hasil setiap operasi.

Enum

"UNKNOWN"
Terjadi kegagalan yang tidak diketahui atau umum.

"SUCCESS"
Operasi berhasil.

"UNSUPPORTED"
Operasi tidak didukung.

"DIBATALKAN"
Operasi dibatalkan.

"DEVICE_BUSY"
Perangkat sedang sibuk.

"TIDAK VALID"
Data atau argumen yang diteruskan ke metode tidak valid.

"WRONG_TYPE"
Nilai yang diberikan adalah jenis data yang salah untuk opsi yang mendasarinya.

"EOF"
Tidak ada lagi data yang tersedia.

"ADF_JAMMED"
Pengumpan dokumen macet.

"ADF_EMPTY"
Pengumpan dokumen kosong.

"COVER_OPEN"
Penutup flatbed terbuka.

"IO_ERROR"
Terjadi error saat berkomunikasi dengan perangkat.

"ACCESS_DENIED"
Perangkat memerlukan autentikasi.

"NO_MEMORY"
Memori yang tersedia di Chromebook tidak cukup untuk menyelesaikan operasi.

"TIDAK DAPAT DIJANGKAU"
Perangkat tidak dapat dijangkau.

"TIDAK ADA"
Koneksi perangkat terputus.

"INTERNAL_ERROR"
Terjadi error di tempat lain selain di aplikasi yang memanggil.

OptionConstraint

Chrome 125+

Properti

  • list

    string[] | number[] opsional

  • maks

    nomor opsional

  • mnt

    nomor opsional

  • quant

    nomor opsional

OptionGroup

Chrome 125+

Properti

  • anggota

    string[]

    Array nama opsi dalam urutan yang disediakan driver.

  • judul

    string

    Memberikan judul yang dapat dicetak, misalnya "Opsi geometri".

OptionSetting

Chrome 125+

Properti

  • nama

    string

    Menunjukkan nama opsi yang akan disetel.

  • jenis

    Menunjukkan jenis data opsi. Jenis data yang diminta harus cocok dengan jenis data sebenarnya dari opsi pokok.

  • nilai

    string | number | boolean | number[] opsional

    Menunjukkan nilai yang akan ditetapkan. Biarkan tidak disetel untuk meminta setelan otomatis untuk opsi yang mengaktifkan autoSettable. Jenis data yang diberikan untuk value harus cocok dengan type.

OptionType

Chrome 125+

Jenis data opsi.

Enum

"UNKNOWN"
Jenis data opsi tidak diketahui. Properti value akan dibatalkan.

"BOOL"
Properti value akan menjadi salah satu dari truefalse.

"INT"
Bilangan bulat 32-bit bertanda. Properti value akan berupa long atau long[], bergantung pada apakah opsi mengambil lebih dari satu nilai.

"TETAP"
Double dalam rentang -32768-32767.9999 dengan resolusi 1/65535. Properti value akan berupa double atau double[], bergantung pada apakah opsi mengambil lebih dari satu nilai. Nilai ganda yang tidak dapat direpresentasikan secara persis akan dibulatkan ke rentang dan presisi yang tersedia.

"STRING"
Urutan byte apa pun kecuali NUL ('\0'). Properti value akan berupa DOMString.

"BUTTON"
Opsi jenis ini tidak memiliki nilai. Sebaliknya, menyetel opsi jenis ini akan menyebabkan efek samping khusus opsi di driver pemindai. Misalnya, opsi berjenis tombol dapat digunakan oleh driver pemindai untuk menyediakan cara memilih nilai default atau untuk memberi tahu pengumpan dokumen otomatis agar beralih ke lembar kertas berikutnya.

"GROUP"
Opsi pengelompokan. Tidak ada nilai. Ini disertakan untuk kompatibilitas, tetapi biasanya tidak akan ditampilkan dalam nilai ScannerOption. Gunakan getOptionGroups() untuk mengambil daftar grup beserta opsi anggotanya.

OptionUnit

Chrome 125+

Menunjukkan jenis data untuk ScannerOption.unit.

Enum

"TANPA SATUAN"
Nilainya adalah angka tanpa satuan. Misalnya, ini bisa berupa nilai minimum.

"PIXEL"
Nilainya adalah jumlah piksel, misalnya, dimensi pemindaian.

"BIT"
Nilainya adalah jumlah bit, misalnya, kedalaman warna.

"MM"
Nilai diukur dalam milimeter, misalnya, dimensi pemindaian.

"DPI"
Nilai diukur dalam titik per inci, misalnya, resolusi.

"PERCENT"
Nilainya adalah persentase, misalnya, kecerahan.

"MICROSECOND"
Nilai diukur dalam mikrodetik, misalnya, waktu eksposur.

ReadScanDataResponse

Chrome 125+

Properti

  • data

    ArrayBuffer opsional

    Jika result adalah SUCCESS, berisi potongan berikutnya dari data gambar yang dipindai. Jika result adalah EOF, berisi potongan terakhir data gambar yang dipindai.

  • estimatedCompletion

    nomor opsional

    Jika result adalah SUCCESS, perkiraan jumlah total data pemindaian yang telah dikirimkan sejauh ini, dalam rentang 0 hingga 100.

  • tugas

    string

    Menyediakan handle tugas yang diteruskan ke readScanData().

  • Hasil membaca data. Jika nilainya adalah SUCCESS, maka data berisi potongan data gambar berikutnya (mungkin panjangnya nol) yang siap dibaca. Jika nilainya adalah EOF, data berisi potongan data gambar terakhir.

ScannerInfo

Chrome 125+

Properti

  • connectionType

    Menunjukkan cara pemindai terhubung ke komputer.

  • deviceUuid

    string

    Untuk mencocokkan dengan entri ScannerInfo lain yang mengarah ke perangkat fisik yang sama.

  • imageFormats

    string[]

    Array jenis MIME yang dapat diminta untuk hasil pemindaian yang ditampilkan.

  • produsen

    string

    Produsen pemindai.

  • model

    string

    Model pemindai jika tersedia, atau deskripsi umum.

  • nama

    string

    Nama yang dapat dibaca manusia untuk pemindai yang akan ditampilkan di UI.

  • protocolType

    string

    Deskripsi protokol atau driver yang dapat dibaca manusia yang digunakan untuk mengakses pemindai, seperti Mopria, WSD, atau epsonscan. Hal ini terutama berguna untuk memungkinkan pengguna memilih antara protokol jika perangkat mendukung beberapa protokol.

  • scannerId

    string

    ID pemindai tertentu.

  • aman

    boolean

    Jika benar (true), transport koneksi pemindai tidak dapat dicegat oleh pendengar pasif, seperti TLS atau USB.

ScannerOption

Chrome 125+

Properti

  • dapat dikonfigurasi

    Menunjukkan apakah dan bagaimana opsi dapat diubah.

  • batasan

    Menentukan OptionConstraint pada opsi pemindai saat ini.

  • deskripsi

    string

    Deskripsi opsi yang lebih panjang.

  • isActive

    boolean

    Menunjukkan bahwa opsi aktif dan dapat disetel atau diambil. Jika salah (false), properti value tidak akan ditetapkan.

  • isAdvanced

    boolean

    Menunjukkan bahwa UI tidak boleh menampilkan opsi ini secara default.

  • isAutoSettable

    boolean

    Dapat disetel secara otomatis oleh driver pemindai.

  • isDetectable

    boolean

    Menunjukkan bahwa opsi ini dapat dideteksi dari software.

  • isEmulated

    boolean

    Diemulasi oleh driver pemindai jika benar.

  • nama

    string

    Nama opsi menggunakan huruf ASCII kecil, angka, dan tanda hubung. Diakritik tidak diizinkan.

  • judul

    string

    Judul satu baris yang dapat dicetak.

  • jenis

    Jenis data yang ada dalam properti value, yang diperlukan untuk menetapkan opsi ini.

  • satuan

    Satuan ukur untuk opsi ini.

  • nilai

    string | number | boolean | number[] opsional

    Nilai opsi saat ini, jika relevan. Perhatikan bahwa jenis data properti ini harus cocok dengan jenis data yang ditentukan dalam type.

ScanOptions

Properti

  • maxImages

    nomor opsional

    Jumlah gambar yang dipindai yang diizinkan. Nilai defaultnya adalah 1.

  • mimeTypes

    string[] opsional

    Jenis MIME yang diterima oleh pemanggil.

ScanResults

Properti

  • dataUrls

    string[]

    Array URL gambar data dalam bentuk yang dapat diteruskan sebagai nilai "src" ke tag gambar.

  • mimeType

    string

    Jenis MIME dataUrls.

SetOptionResult

Chrome 125+

Properti

  • nama

    string

    Menunjukkan nama opsi yang ditetapkan.

  • Menunjukkan hasil penyetelan opsi.

SetOptionsResponse

Chrome 125+

Properti

  • opsi

    objek opsional

    Pemetaan key-value yang diperbarui dari nama opsi ke nilai ScannerOption yang berisi konfigurasi baru setelah mencoba menyetel semua opsi yang diberikan. Strukturnya sama dengan properti options di OpenScannerResponse.

    Properti ini akan disetel meskipun beberapa opsi tidak berhasil disetel, tetapi akan dibatalkan jika pengambilan konfigurasi yang diperbarui gagal (misalnya, jika pemindai terputus di tengah pemindaian).

  • hasil

    Array hasil, masing-masing satu untuk setiap OptionSetting yang diteruskan.

  • scannerHandle

    string

    Menyediakan handle pemindai yang diteruskan ke setOptions().

StartScanOptions

Chrome 125+

Properti

  • format

    string

    Menentukan jenis MIME untuk menampilkan data yang dipindai.

  • maxReadSize

    nomor opsional

    Jika nilai bukan nol ditentukan, batasi byte yang dipindai maksimum yang ditampilkan dalam satu respons readScanData ke nilai tersebut. Nilai terkecil yang diizinkan adalah 32768 (32 KB). Jika properti ini tidak ditentukan, ukuran potongan yang ditampilkan dapat sebesar seluruh gambar yang dipindai.

StartScanResponse

Chrome 125+

Properti

  • tugas

    string opsional

    Jika result adalah SUCCESS, akan menyediakan handle yang dapat digunakan untuk membaca data pemindaian atau membatalkan tugas.

  • Hasil memulai pemindaian. Jika nilainya adalah SUCCESS, properti job akan diisi.

  • scannerHandle

    string

    Memberikan handle pemindai yang sama yang diteruskan ke startScan().

Metode

cancelScan()

Promise Chrome 125+
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)
: Promise<CancelScanResponse>

Membatalkan pemindaian yang dimulai dan menampilkan Promise yang diselesaikan dengan objek CancelScanResponse. Jika callback digunakan, objek akan diteruskan ke callback tersebut.

Parameter

  • tugas

    string

    Handle tugas pemindaian aktif yang sebelumnya ditampilkan dari panggilan ke startScan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (response: CancelScanResponse) => void

Hasil

  • Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

closeScanner()

Promise Chrome 125+
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)
: Promise<CloseScannerResponse>

Menutup pemindai dengan handle yang diteruskan dan menampilkan Promise yang diselesaikan dengan objek CloseScannerResponse. Jika callback digunakan, objek akan diteruskan ke callback tersebut. Meskipun respons tidak berhasil, handle yang diberikan menjadi tidak valid dan tidak boleh digunakan untuk operasi lebih lanjut.

Parameter

Hasil

  • Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

getOptionGroups()

Promise Chrome 125+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)
: Promise<GetOptionGroupsResponse>

Mendapatkan nama grup dan opsi anggota dari pemindai yang sebelumnya dibuka oleh openScanner. Metode ini menampilkan Promise yang diselesaikan dengan objek GetOptionGroupsResponse. Jika callback diteruskan ke fungsi ini, data yang ditampilkan akan diteruskan ke callback tersebut.

Parameter

Hasil

  • Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

getScannerList()

Promise Chrome 125+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)
: Promise<GetScannerListResponse>

Mendapatkan daftar pemindai yang tersedia dan menampilkan Promise yang diselesaikan dengan objek GetScannerListResponse. Jika callback diteruskan ke fungsi ini, data yang ditampilkan akan diteruskan ke callback tersebut.

Parameter

Hasil

  • Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

openScanner()

Promise Chrome 125+
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)
: Promise<OpenScannerResponse>

Membuka pemindai untuk akses eksklusif dan menampilkan Promise yang diselesaikan dengan objek OpenScannerResponse. Jika callback diteruskan ke fungsi ini, data yang ditampilkan akan diteruskan ke callback tersebut.

Parameter

  • scannerId

    string

    ID pemindai yang akan dibuka. Nilai ini adalah salah satu yang ditampilkan dari panggilan sebelumnya ke getScannerList.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (response: OpenScannerResponse) => void

Hasil

  • Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

readScanData()

Promise Chrome 125+
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)
: Promise<ReadScanDataResponse>

Membaca potongan data gambar berikutnya yang tersedia dari handle tugas aktif, dan menampilkan Promise yang di-resolve dengan objek ReadScanDataResponse. Jika callback digunakan, objek akan diteruskan ke callback tersebut.

**Catatan:**Hasil respons yang berupa SUCCESS dengan anggota data yang panjangnya nol adalah valid. Artinya, pemindai masih berfungsi, tetapi belum siap untuk menerima data tambahan. Penelepon harus menunggu sebentar dan mencoba lagi.

Setelah tugas pemindaian selesai, respons akan memiliki nilai hasil EOF. Respons ini mungkin berisi anggota data akhir yang bukan nol.

Parameter

Hasil

  • Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

scan()

Janji
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)
: Promise<ScanResults>

Melakukan pemindaian dokumen dan menampilkan Promise yang di-resolve dengan objek ScanResults. Jika callback diteruskan ke fungsi ini, data yang ditampilkan akan diteruskan ke callback tersebut.

Parameter

  • Objek yang berisi parameter pemindaian.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (result: ScanResults) => void

Hasil

  • Promise<ScanResults>

    Chrome 96+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

setOptions()

Promise Chrome 125+
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)
: Promise<SetOptionsResponse>

Menetapkan opsi pada pemindai yang ditentukan dan menampilkan Promise yang diselesaikan dengan objek SetOptionsResponse yang berisi hasil upaya untuk menetapkan setiap nilai dalam urutan objek OptionSetting yang diteruskan. Jika callback digunakan, objek akan diteruskan ke callback tersebut.

Parameter

  • scannerHandle

    string

    Handle pemindai untuk menyetel opsi. Nilai ini harus berupa nilai yang sebelumnya ditampilkan dari panggilan ke openScanner.

  • opsi

    Daftar objek OptionSetting yang akan diterapkan ke pemindai.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (response: SetOptionsResponse) => void

Hasil

  • Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

startScan()

Promise Chrome 125+
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)
: Promise<StartScanResponse>

Memulai pemindaian pada pemindai yang ditentukan dan menampilkan Promise yang diselesaikan dengan StartScanResponse. Jika callback digunakan, objek akan diteruskan ke callback tersebut. Jika panggilan berhasil, respons akan menyertakan handle tugas yang dapat digunakan dalam panggilan berikutnya untuk membaca data pemindaian atau membatalkan pemindaian.

Parameter

  • scannerHandle

    string

    Gagang pemindai yang terbuka. Nilai ini harus berupa nilai yang sebelumnya ditampilkan dari panggilan ke openScanner.

  • Objek StartScanOptions yang menunjukkan opsi yang akan digunakan untuk pemindaian. Properti StartScanOptions.format harus cocok dengan salah satu entri yang ditampilkan di ScannerInfo pemindai.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (response: StartScanResponse) => void

Hasil

  • Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.