Deskripsi
Gunakan chrome.documentScan API untuk menemukan dan mengambil gambar dari pemindai dokumen yang terhubung ke perangkat.
Document Scan API dirancang untuk memungkinkan aplikasi dan ekstensi melihat konten dokumen kertas pada pemindai dokumen yang terhubung ke perangkat.
Izin
documentScanKetersediaan
Konsep dan penggunaan
API ini mendukung dua cara pemindaian dokumen. Jika kasus penggunaan Anda dapat berfungsi
dengan pemindai apa pun dan tidak memerlukan kontrol konfigurasi, gunakan
metode scan(). Kasus penggunaan yang lebih rumit memerlukan kombinasi metode,
yang hanya didukung di Chrome 124 dan yang lebih baru.
Pemindaian sederhana
Untuk kasus penggunaan sederhana, yang berarti dapat berfungsi dengan pemindai apa pun dan tidak
memerlukan kontrol konfigurasi, panggil scan(). Metode ini mengambil objek ScanOptions dan menampilkan Promise yang di-resolve dengan objek ScanResults. Kemampuan opsi ini terbatas pada jumlah pemindaian dan
jenis MIME yang akan diterima oleh pemanggil. Pemindaian ditampilkan sebagai URL untuk ditampilkan dalam tag <img> untuk antarmuka pengguna.
Pemindaian kompleks
Pemindaian kompleks dilakukan dalam tiga fase seperti yang dijelaskan di bagian ini. Kerangka ini tidak menjelaskan setiap argumen metode atau setiap properti yang ditampilkan dalam respons. Contoh ini hanya dimaksudkan untuk memberi Anda panduan umum dalam menulis kode pemindai.
Discovery
Panggil
getScannerList(). Pemindai yang tersedia ditampilkan dalam Promise yang di-resolve denganGetScannerListResponse.- Objek respons berisi array objek
ScannerInfo. - Array dapat berisi beberapa entri untuk satu pemindai jika pemindai tersebut mendukung beberapa protokol atau metode koneksi.
- Objek respons berisi array objek
Pilih pemindai dari array yang ditampilkan dan simpan nilai properti
scannerId-nya.Gunakan properti setiap objek
ScannerInfountuk membedakan beberapa objek untuk pemindai yang sama. Objek dari pemindai yang sama akan memiliki nilai yang sama untuk propertideviceUuid.ScannerInfojuga berisi propertiimageFormatsyang berisi array jenis gambar yang didukung.
Konfigurasi pemindai
Panggil
openScanner(), dengan meneruskan ID pemindai yang disimpan. Metode ini menampilkan Promise yang di-resolve denganOpenScannerResponse. Objek respons berisi:Properti
scannerHandle, yang harus Anda simpan.Properti opsi yang berisi properti khusus pemindai, yang perlu Anda tetapkan. Lihat Mengambil opsi pemindai untuk mengetahui informasi selengkapnya.
(Opsional) Jika Anda memerlukan pengguna untuk memberikan nilai untuk opsi pemindai, buat antarmuka pengguna. Anda akan memerlukan opsi pemindai yang disediakan oleh langkah sebelumnya, dan Anda harus mengambil grup opsi yang disediakan oleh pemindai. Lihat Membuat antarmuka pengguna untuk mengetahui informasi selengkapnya.
Buat array objek
OptionSettingmenggunakan nilai terprogram atau yang disediakan pengguna. Lihat Menetapkan opsi pemindai untuk mengetahui informasi selengkapnya.Teruskan array objek
OptionSettingkesetOptions()untuk menetapkan opsi pemindai. Metode ini menampilkan Promise yang di-resolve denganSetOptionsResponse. Objek ini berisi versi terbaru opsi pemindai yang diambil pada langkah 1 konfigurasi pemindai.Karena mengubah satu opsi dapat mengubah batasan pada opsi lain, Anda mungkin perlu mengulangi langkah-langkah ini beberapa kali.
Memindai
Buat objek
StartScanOptionsdan teruskan kestartScan(). Metode ini menampilkan Promise yang di-resolve denganStartScanResponse. Propertijob-nya adalah handle yang akan Anda gunakan untuk membaca data pemindaian atau membatalkan pemindaian.Teruskan handle tugas ke
readScanData(). Metode ini menampilkan Promise yang di-resolve dengan objekReadScanDataResponse. Jika data berhasil dibaca, propertiresult-nya sama denganSUCCESSdan propertidata-nya berisiArrayBufferdengan bagian dari pemindaian. Perhatikan bahwaestimatedCompletionberisi perkiraan persentase total data yang telah dikirimkan sejauh ini.Ulangi langkah sebelumnya hingga properti
resultsama denganEOFatau error.
Saat akhir pemindaian tercapai, panggil
closeScanner() dengan handle pemindai yang disimpan di langkah
3. Metode ini menampilkan Promise yang di-resolve dengan
CloseScannerResponse. Memanggil
cancelScan() kapan saja setelah tugas dibuat akan
mengakhiri pemindaian.
Objek respons
Semua metode menampilkan Promise yang di-resolve dengan objek respons tertentu.
Sebagian besar berisi properti result yang nilainya adalah anggota
OperationResult. Beberapa properti objek respons
tidak akan berisi nilai kecuali jika nilai result memiliki nilai tertentu. Hubungan ini dijelaskan dalam referensi untuk setiap objek respons.
Misalnya, OpenScannerResponse.scannerHandle hanya akan memiliki nilai jika
OpenScannerResponse.result sama dengan SUCCESS.
Opsi pemindai
Opsi pemindai sangat bervariasi menurut perangkat. Oleh karena itu, opsi pemindai tidak dapat ditampilkan langsung dalam documentScan API. Untuk mengatasi hal ini, OpenScannerResponse (diambil menggunakan openScanner()) dan SetOptionsResponse (objek respons untuk setOptions()) berisi properti options yang merupakan objek yang berisi opsi khusus pemindai. Setiap opsi adalah pemetaan nilai kunci
dengan kunci sebagai opsi khusus perangkat dan nilai sebagai instance
ScannerOption.
Strukturnya umumnya terlihat seperti ini:
{
"key1": { scannerOptionInstance }
"key2": { scannerOptionInstance }
}
Misalnya, bayangkan pemindai yang menampilkan opsi bernama "source" dan
"resolution". Struktur objek options yang ditampilkan akan terlihat seperti contoh berikut. Agar lebih praktis, hanya sebagian respons ScannerOption yang ditampilkan.
{
"source": {
"name": "source",
"type": OptionType.STRING,
...
},
"resolution": {
"name": "resolution",
"type": OptionType.INT,
...
},
...
}
Membuat antarmuka pengguna
Meskipun tidak diwajibkan untuk menggunakan API ini, Anda mungkin ingin pengguna memilih nilai untuk
opsi tertentu. Hal ini memerlukan antarmuka pengguna. Gunakan
OpenScannerResponse (dibuka oleh
openScanner()) untuk mengambil opsi pemindai yang terpasang
seperti yang dijelaskan di bagian sebelumnya.
Beberapa pemindai mengelompokkan opsi dengan cara khusus perangkat. Grup ini tidak memengaruhi perilaku
opsi, tetapi karena grup ini mungkin disebutkan dalam dokumentasi produk
pemindai, grup tersebut harus ditampilkan kepada pengguna. Anda dapat mengambil grup ini dengan memanggil getOptionGroups(). Tindakan ini akan menampilkan Promise yang di-resolve dengan objek GetOptionGroupsResponse. Properti groups-nya
berisi array grup khusus pemindai. Gunakan informasi dalam
grup ini untuk mengatur opsi di
OpenScannerResponse untuk ditampilkan.
{
scannerHandle: "123456",
result: SUCCESS,
groups: [
{
title: "Standard",
members: [ "resolution", "mode", "source" ]
}
]
}
Seperti yang dinyatakan dalam Konfigurasi pemindai, mengubah satu opsi dapat mengubah batasan pada opsi lain. Inilah alasan
setOptionsResponse (objek respons untuk
setOptions()) berisi properti options lainnya. Gunakan
ini untuk memperbarui antarmuka pengguna. Kemudian, ulangi sesuai kebutuhan hingga semua opsi ditetapkan.
Menetapkan opsi pemindai
Tetapkan opsi pemindai dengan meneruskan array objek
OptionSetting ke
setOptions(). Sebagai contoh, lihat bagian Memindai satu halaman berukuran letter berikut.
Contoh
Mengambil halaman sebagai blob
Contoh ini menunjukkan salah satu cara untuk mengambil halaman dari pemindai sebagai blob dan
menunjukkan penggunaan startScan() dan readScanData() menggunakan nilai
OperationResult.
async function pageAsBlob(handle) {
let response = await browser.documentScan.startScan(
handle, {format: "image/jpeg"});
if (response.result != browser.documentScan.OperationResult.SUCCESS) {
return null;
}
const job = response.job;
let imgParts = [];
response = await browser.documentScan.readScanData(job);
while (response.result == browser.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 browser.documentScan.readScanData(job);
}
if (response.result != browser.documentScan.OperationResult.EOF) {
return null;
}
if (response.data && response.data.byteLength > 0) {
imgParts.push(response.data);
}
return new Blob(imgParts, { type: "image/jpeg" });
}
Memindai satu halaman berukuran letter
Contoh ini menunjukkan cara memilih pemindai, menetapkan opsinya, dan membukanya. Kemudian,
aplikasi akan mengambil konten satu halaman dan menutup pemindai. Proses ini
menunjukkan penggunaan getScannerList(), openScanner(), setOptions(), dan
closeScanner(). Perhatikan bahwa konten halaman diambil dengan memanggil
fungsi pageAsBlob() dari contoh sebelumnya.
async function scan() {
let response = await browser.documentScan.getScannerList({ secure: true });
let scanner = await browser.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: browser.documentScan.OptionType.STRING,
value: { value: source }
});
break;
}
}
options.push({
name: "tl-x",
type: browser.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-x",
type: browser.documentScan.OptionType.FIXED,
value: 215.9 // 8.5" in mm
});
options.push({
name: "tl-y",
type: browser.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-y",
type: browser.documentScan.OptionType.FIXED,
value: 279.4 // 11" in mm
});
response = await browser.documentScan.setOptions(handle, options);
let imgBlob = await pageAsBlob(handle);
if (imgBlob != null) {
// Insert imgBlob into DOM, save to disk, etc
}
await browser.documentScan.closeScanner(handle);
}
Menampilkan konfigurasi
Seperti yang dinyatakan di tempat lain, menampilkan opsi konfigurasi pemindai kepada pengguna memerlukan
pemanggilan getOptionGroups() selain opsi pemindai yang ditampilkan dari
panggilan ke openScanner(). Hal ini agar opsi dapat ditampilkan kepada pengguna dalam
grup yang ditentukan produsen. Contoh ini menunjukkan cara melakukannya.
async function showConfig() {
let response = await browser.documentScan.getScannerList({ secure: true });
let scanner = await browser.documentScan.openScanner(
response.scanners[0].scannerId);
let groups = await browser.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");
}
}
}
}
Jenis
CancelScanResponse
Properti
-
pekerjaan
string
Menyediakan handle tugas yang sama dengan yang diteruskan ke
cancelScan(). -
hasil
Hasil pembatalan pemindaian backend. Jika hasilnya adalah
OperationResult.SUCCESSatauOperationResult.CANCELLED, pemindaian telah dibatalkan dan pemindai siap memulai pemindaian baru. Jika hasilnya adalahOperationResult.DEVICE_BUSY, pemindai masih memproses pembatalan yang diminta; pemanggil harus menunggu beberapa saat dan mencoba permintaan lagi. Nilai hasil lainnya menunjukkan error permanen yang tidak boleh dicoba lagi.
CloseScannerResponse
Properti
-
hasil
Hasil penutupan pemindai. Meskipun nilai ini bukan
SUCCESS, handle akan menjadi tidak valid dan tidak boleh digunakan untuk operasi lebih lanjut. -
scannerHandle
string
Nama pemindai yang sama seperti yang diteruskan ke
closeScanner.
Configurability
Cara mengubah opsi.
Enum
"NOT_CONFIGURABLE"
Opsi ini bersifat hanya baca.
"SOFTWARE_CONFIGURABLE"
Opsi ini dapat ditetapkan di software.
"HARDWARE_CONFIGURABLE"
Opsi ini dapat ditetapkan oleh pengguna dengan mengalihkan atau menekan tombol pada pemindai.
ConnectionType
Menunjukkan cara pemindai terhubung ke komputer.
Enum
"UNSPECIFIED"
"USB"
"NETWORK"
ConstraintType
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 tidak akan ditetapkan.
"FIXED_RANGE"
Batasan pada rentang nilai OptionType.FIXED. Properti min, max, dan quant dari OptionConstraint akan menjadi double, dan properti list-nya tidak akan ditetapkan.
"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
Properti
-
lokal
boolean opsional
Hanya tampilkan pemindai yang terhubung langsung ke komputer.
-
aman
boolean opsional
Hanya tampilkan pemindai yang menggunakan transpor aman, seperti USB atau TLS.
GetOptionGroupsResponse
Properti
-
yang dilacak
OptionGroup[] opsional
Jika
resultadalahSUCCESS, memberikan daftar grup opsi dalam urutan yang disediakan oleh driver pemindai. -
hasil
Hasil dari mendapatkan grup opsi. Jika nilainya adalah
SUCCESS, propertigroupsakan diisi. -
scannerHandle
string
Nama pemindai yang sama seperti yang diteruskan ke
getOptionGroups.
GetScannerListResponse
Properti
-
hasil
Hasil enumerasi. Perhatikan bahwa hasil parsial dapat ditampilkan meskipun hal ini menunjukkan error.
-
pemindai
Daftar pemindai yang mungkin kosong dan cocok dengan
DeviceFilteryang disediakan.
OpenScannerResponse
Properti
-
opsi
objek opsional
Jika
resultadalahSUCCESS, menyediakan key-value map dengan kunci sebagai opsi khusus perangkat dan nilai sebagai instanceScannerOption. -
hasil
Hasil pembukaan pemindai. Jika nilainya adalah
SUCCESS, propertiscannerHandledanoptionsakan diisi. -
scannerHandle
string opsional
Jika
resultadalahSUCCESS, handle ke pemindai yang dapat digunakan untuk operasi lebih lanjut. -
scannerId
string
ID pemindai yang diteruskan ke
openScanner().
OperationResult
Enum yang menunjukkan hasil setiap operasi.
Enum
"UNKNOWN"
Terjadi kegagalan yang tidak diketahui atau umum.
"SUCCESS"
Operasi berhasil.
"UNSUPPORTED"
Operasi tidak didukung.
"CANCELLED"
Operasi dibatalkan.
"DEVICE_BUSY"
Perangkat sedang sibuk.
"INVALID"
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.
"UNREACHABLE"
Perangkat tidak dapat dijangkau.
"MISSING"
Perangkat terputus.
"INTERNAL_ERROR"
Terjadi error di tempat lain selain aplikasi panggilan.
OptionConstraint
Properti
-
list
string[] | number[] opsional
-
maks
number opsional
-
mnt
number opsional
-
quant
number opsional
-
jenis
OptionGroup
Properti
-
anggota
string[]
Array nama opsi dalam urutan yang disediakan driver.
-
judul
string
Memberikan judul yang dapat dicetak, misalnya "Opsi geometri".
OptionSetting
Properti
-
nama
string
Menunjukkan nama opsi yang akan ditetapkan.
-
jenis
Menunjukkan jenis data opsi. Jenis data yang diminta harus cocok dengan jenis data sebenarnya dari opsi yang mendasarinya.
-
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 untukvalueharus cocok dengantype.
OptionType
Jenis data opsi.
Enum
"UNKNOWN"
Jenis data opsi tidak diketahui. Properti value akan dihapus.
"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 tersebut menggunakan lebih dari satu nilai.
"FIXED"
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 tepat 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. Sebagai gantinya, menyetel opsi jenis ini akan menyebabkan efek samping khusus opsi di driver pemindai. Misalnya, opsi jenis tombol dapat digunakan oleh driver pemindai untuk menyediakan cara memilih nilai default atau memberi tahu pengumpan dokumen otomatis untuk melanjutkan 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.
Enum
"UNITLESS"
Nilainya adalah angka tanpa satuan. Misalnya, nilai ini dapat 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 persen, misalnya, kecerahan.
"MICROSECOND"
Nilai diukur dalam mikrodetik, misalnya, waktu eksposur.
ReadScanDataResponse
Properti
-
data
ArrayBuffer opsional
Jika
resultadalahSUCCESS, berisi potongan data gambar yang dipindai berikutnya. JikaresultadalahEOF, berisi potongan terakhir dari data gambar yang dipindai. -
estimatedCompletion
number opsional
Jika
resultadalahSUCCESS, perkiraan jumlah total data pemindaian yang telah dikirimkan sejauh ini, dalam rentang 0 hingga 100. -
pekerjaan
string
Menyediakan handle tugas yang diteruskan ke
readScanData(). -
hasil
Hasil pembacaan data. Jika nilainya adalah
SUCCESS,dataakan berisi potongan data gambar berikutnya (mungkin panjangnya nol) yang siap dibaca. Jika nilainya adalahEOF,dataakan berisi potongan data gambar terakhir.
ScannerInfo
Properti
-
connectionType
Menunjukkan cara pemindai terhubung ke komputer.
-
deviceUuid
string
Untuk pencocokan dengan entri
ScannerInfolain yang mengarah ke perangkat fisik yang sama. -
imageFormats
string[]
Array jenis MIME yang dapat diminta untuk 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 yang dapat dibaca manusia tentang protokol atau driver yang digunakan untuk mengakses pemindai, seperti Mopria, WSD, atau epsonds. Hal ini terutama berguna untuk memungkinkan pengguna memilih di antara protokol jika perangkat mendukung beberapa protokol.
-
scannerId
string
ID pemindai tertentu.
-
aman
boolean
Jika benar, transport koneksi pemindai tidak dapat disadap oleh pemroses pasif, seperti TLS atau USB.
ScannerOption
Properti
-
kemampuan konfigurasi
Menunjukkan apakah dan bagaimana opsi dapat diubah.
-
batasan
OptionConstraint opsional
Menentukan
OptionConstraintpada opsi pemindai saat ini. -
deskripsi
string
Deskripsi panjang dari opsi.
-
isActive
boolean
Menunjukkan bahwa opsi aktif dan dapat ditetapkan atau diambil. Jika salah (false), properti
valuetidak 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
Diemulasikan oleh driver pemindai jika benar (true).
-
nama
string
Nama opsi yang menggunakan huruf ASCII kecil, angka, dan tanda hubung. Diakritik tidak diizinkan.
-
judul
string
Judul satu baris yang dapat dicetak.
-
jenis
Jenis data yang terdapat 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 di
type.
ScanOptions
Properti
-
maxImages
number 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
Properti
-
nama
string
Menunjukkan nama opsi yang ditetapkan.
-
hasil
Menunjukkan hasil penetapan opsi.
SetOptionsResponse
Properti
-
opsi
objek opsional
Pemetaan nilai kunci yang diperbarui dari nama opsi ke nilai
ScannerOptionyang berisi konfigurasi baru setelah mencoba menetapkan semua opsi yang disediakan. Strukturnya sama dengan propertioptionsdiOpenScannerResponse.Properti ini akan ditetapkan meskipun beberapa opsi tidak berhasil ditetapkan, tetapi tidak akan ditetapkan jika pengambilan konfigurasi yang diperbarui gagal (misalnya, jika pemindai terputus di tengah pemindaian).
-
hasil
Array hasil, masing-masing untuk setiap
OptionSettingyang diteruskan. -
scannerHandle
string
Menyediakan handle pemindai yang diteruskan ke
setOptions().
StartScanOptions
Properti
-
format
string
Menentukan jenis MIME untuk menampilkan data yang dipindai.
-
maxReadSize
number opsional
Jika nilai bukan nol ditentukan, batasi byte maksimum yang dipindai yang ditampilkan dalam satu respons
readScanDatake nilai tersebut. Nilai terkecil yang diizinkan adalah 32768 (32 KB). Jika properti ini tidak ditentukan, ukuran potongan yang ditampilkan mungkin sebesar seluruh gambar yang dipindai.
StartScanResponse
Properti
-
pekerjaan
string opsional
Jika
resultadalahSUCCESS, menyediakan handle yang dapat digunakan untuk membaca data pemindaian atau membatalkan tugas. -
hasil
Hasil dari memulai pemindaian. Jika nilainya adalah
SUCCESS, propertijobakan diisi. -
scannerHandle
string
Memberikan handle pemindai yang sama dengan yang diteruskan ke
startScan().
Metode
cancelScan()
browser.documentScan.cancelScan(
job: string,
): Promise<CancelScanResponse>
Membatalkan pemindaian yang dimulai dan menampilkan Promise yang di-resolve dengan objek CancelScanResponse. Jika callback digunakan, objek akan diteruskan ke callback tersebut.
Parameter
-
pekerjaan
string
Handle tugas pemindaian aktif yang sebelumnya ditampilkan dari panggilan ke
startScan.
Hasil
-
Promise<CancelScanResponse>
Menampilkan Promise yang di-resolve dengan hasilnya.
closeScanner()
browser.documentScan.closeScanner(
scannerHandle: string,
): Promise<CloseScannerResponse>
Menutup pemindai dengan handle yang diteruskan dan menampilkan Promise yang di-resolve dengan objek CloseScannerResponse. Jika callback digunakan, objek akan diteruskan ke callback tersebut. Meskipun responsnya tidak berhasil, handle yang diberikan menjadi tidak valid dan tidak boleh digunakan untuk operasi lebih lanjut.
Parameter
-
scannerHandle
string
Menentukan handle pemindai terbuka yang sebelumnya ditampilkan dari panggilan ke
openScanner.
Hasil
-
Promise<CloseScannerResponse>
Menampilkan Promise yang di-resolve dengan hasilnya.
getOptionGroups()
browser.documentScan.getOptionGroups(
scannerHandle: string,
): Promise<GetOptionGroupsResponse>
Mendapatkan nama grup dan opsi anggota dari pemindai yang sebelumnya dibuka oleh openScanner. Metode ini menampilkan Promise yang di-resolve dengan objek GetOptionGroupsResponse. Jika callback diteruskan ke fungsi ini, data yang ditampilkan akan diteruskan ke callback tersebut.
Parameter
-
scannerHandle
string
Tuas pemindai terbuka yang ditampilkan dari panggilan ke
openScanner.
Hasil
-
Promise<GetOptionGroupsResponse>
Menampilkan Promise yang di-resolve dengan hasilnya.
getScannerList()
browser.documentScan.getScannerList(
filter: DeviceFilter,
): Promise<GetScannerListResponse>
Mendapatkan daftar pemindai yang tersedia dan menampilkan Promise yang di-resolve dengan objek GetScannerListResponse. Jika callback diteruskan ke fungsi ini, data yang ditampilkan akan diteruskan ke callback tersebut.
Parameter
-
filter
DeviceFilteryang menunjukkan jenis pemindai yang harus ditampilkan.
Hasil
-
Promise<GetScannerListResponse>
Menampilkan Promise yang di-resolve dengan hasil dan daftar pemindai.
openScanner()
browser.documentScan.openScanner(
scannerId: string,
): Promise<OpenScannerResponse>
Membuka pemindai untuk akses eksklusif dan menampilkan Promise yang di-resolve 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 nilai yang ditampilkan dari panggilan sebelumnya ke
getScannerList.
Hasil
-
Promise<OpenScannerResponse>
Menampilkan Promise yang di-resolve dengan hasilnya.
readScanData()
browser.documentScan.readScanData(
job: string,
): 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 valid adalah SUCCESS dengan anggota data yang panjangnya nol. Artinya, pemindai masih berfungsi, tetapi belum memiliki data tambahan yang siap. Pemanggil harus menunggu beberapa saat dan mencoba lagi.
Setelah tugas pemindaian selesai, respons akan memiliki nilai hasil EOF. Respons ini mungkin berisi anggota data akhir selain nol.
Parameter
-
pekerjaan
string
Handle tugas aktif yang sebelumnya ditampilkan dari
startScan.
Hasil
-
Promise<ReadScanDataResponse>
Menampilkan Promise yang di-resolve dengan hasilnya.
scan()
browser.documentScan.scan(
options: ScanOptions,
): 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
-
opsi
Objek yang berisi parameter pemindaian.
Hasil
-
Promise<ScanResults>
Chrome 96+ browser.* sejak Chrome 148Menampilkan Promise yang di-resolve dengan hasil pemindaian.
setOptions()
browser.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
): Promise<SetOptionsResponse>
Menetapkan opsi pada pemindai yang ditentukan dan menampilkan Promise yang di-resolve 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 menetapkan opsi. Nilai ini harus berupa nilai yang sebelumnya ditampilkan dari panggilan ke
openScanner. -
opsi
Daftar objek
OptionSettingyang akan diterapkan ke pemindai.
Hasil
-
Promise<SetOptionsResponse>
Menampilkan Promise yang di-resolve dengan hasilnya.
startScan()
browser.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
): Promise<StartScanResponse>
Memulai pemindaian pada pemindai yang ditentukan dan menampilkan Promise yang di-resolve 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. -
opsi
Objek
StartScanOptionsyang menunjukkan opsi yang akan digunakan untuk pemindaian. PropertiStartScanOptions.formatharus cocok dengan salah satu entri yang ditampilkan diScannerInfopemindai.
Hasil
-
Promise<StartScanResponse>
Menampilkan Promise yang di-resolve dengan hasilnya.