ब्यौरा
अटैच किए गए दस्तावेज़ स्कैनर से इमेज ढूंढने और उन्हें वापस पाने के लिए, chrome.documentScan
एपीआई का इस्तेमाल करें.
Document Scan API को इस तरह से डिज़ाइन किया गया है कि ऐप्लिकेशन और एक्सटेंशन, अटैच किए गए दस्तावेज़ स्कैनर पर, पेपर दस्तावेज़ों का कॉन्टेंट देख सकें.
अनुमतियां
documentScan
उपलब्धता
कॉन्सेप्ट और इस्तेमाल
यह एपीआई, दस्तावेज़ों को स्कैन करने के दो तरीकों के साथ काम करता है. अगर आपका इस्तेमाल का उदाहरण किसी भी स्कैनर के साथ काम कर सकता है और उसे कॉन्फ़िगरेशन को कंट्रोल करने की ज़रूरत नहीं है, तो scan()
तरीके का इस्तेमाल करें. ज़्यादा मुश्किल इस्तेमाल के उदाहरणों के लिए, कई तरीकों का इस्तेमाल करना पड़ता है. ये तरीके सिर्फ़ Chrome 124 और उसके बाद के वर्शन में काम करते हैं.
आसानी से स्कैन करना
आसान इस्तेमाल के उदाहरणों के लिए, scan()
को कॉल करें. उदाहरण के लिए, ऐसे उदाहरण जो किसी भी स्कैनर के साथ काम कर सकते हैं और जिनके लिए कॉन्फ़िगरेशन को कंट्रोल करने की ज़रूरत नहीं होती. यह तरीका, ScanOptions
ऑब्जेक्ट लेता है और एक प्रॉमिस दिखाता है, जो ScanResults
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. इस विकल्प की सुविधाएं, स्कैन की संख्या और उन MIME टाइप तक सीमित होती हैं जिन्हें कॉल करने वाला स्वीकार करेगा. स्कैन को यूआरएल के तौर पर दिखाया जाता है, ताकि उन्हें यूज़र इंटरफ़ेस के लिए <img>
टैग में दिखाया जा सके.
कॉम्प्लेक्स स्कैनिंग
जटिल स्कैन, तीन चरणों में पूरे किए जाते हैं. इनके बारे में इस सेक्शन में बताया गया है. इस आउटलाइन में, हर तरीके के आर्ग्युमेंट या जवाब में दी गई हर प्रॉपर्टी के बारे में नहीं बताया गया है. इसका मकसद, आपको स्कैनर कोड लिखने के बारे में सामान्य जानकारी देना है.
डिस्कवरी
getScannerList()
पर कॉल करें. उपलब्ध स्कैनर, एक प्रॉमिस के तौर पर दिखाए जाते हैं. यह प्रॉमिस,GetScannerListResponse
के साथ पूरा होता है.- रिस्पॉन्स ऑब्जेक्ट में
ScannerInfo
ऑब्जेक्ट का एक कलेक्शन होता है. - अगर कोई स्कैनर कई प्रोटोकॉल या कनेक्शन के तरीकों के साथ काम करता है, तो ऐरे में एक स्कैनर के लिए कई एंट्री हो सकती हैं.
- रिस्पॉन्स ऑब्जेक्ट में
दिखाए गए कलेक्शन से कोई स्कैनर चुनें और उसकी
scannerId
प्रॉपर्टी की वैल्यू सेव करें.एक ही स्कैनर के लिए, एक से ज़्यादा ऑब्जेक्ट के बीच अंतर करने के लिए, अलग-अलग
ScannerInfo
ऑब्जेक्ट की प्रॉपर्टी का इस्तेमाल करें. एक ही स्कैनर से मिले ऑब्जेक्ट कीdeviceUuid
प्रॉपर्टी की वैल्यू एक ही होगी.ScannerInfo
में एकimageFormats
प्रॉपर्टी भी होती है, जिसमें इस्तेमाल की जा सकने वाली इमेज टाइप का कलेक्शन होता है.
स्कैनर का कॉन्फ़िगरेशन
सेव किए गए स्कैनर आईडी को पास करके,
openScanner()
को कॉल करें. यह एक प्रॉमिस दिखाता है, जोOpenScannerResponse
के साथ रिज़ॉल्व होता है. रिस्पॉन्स ऑब्जेक्ट में ये शामिल हैं:scannerHandle
प्रॉपर्टी, जिसे आपको सेव करना होगा.यह एक विकल्पों वाली प्रॉपर्टी है, जिसमें स्कैनर से जुड़ी प्रॉपर्टी होती हैं. आपको इन्हें सेट करना होगा. ज़्यादा जानकारी के लिए, स्कैनर से डेटा वापस पाने के विकल्प देखें.
(ज़रूरी नहीं) अगर आपको उपयोगकर्ता से स्कैनर के विकल्पों के लिए वैल्यू चाहिए, तो एक यूज़र इंटरफ़ेस बनाएं. आपको स्कैनर के विकल्पों की ज़रूरत होगी, जो आपको पिछले चरण में दिए गए थे. साथ ही, आपको स्कैनर के दिए गए विकल्पों के ग्रुप भी वापस लाने होंगे. ज़्यादा जानकारी के लिए, यूज़र इंटरफ़ेस बनाना लेख पढ़ें.
प्रोग्राम के हिसाब से या उपयोगकर्ता की दी गई वैल्यू का इस्तेमाल करके,
OptionSetting
ऑब्जेक्ट का कलेक्शन बनाएं. ज़्यादा जानकारी के लिए, स्कैनर के विकल्प सेट करें लेख देखें.स्कैनर के विकल्प सेट करने के लिए,
OptionSetting
ऑब्जेक्ट का कलेक्शन,setOptions()
को पास करें. यह एक ऐसा प्रॉमिस दिखाता है जोSetOptionsResponse
के साथ रिज़ॉल्व होता है. इस ऑब्जेक्ट में, स्कैनर कॉन्फ़िगरेशन के पहले चरण में, स्कैनर के विकल्पों का अपडेट किया गया वर्शन शामिल होता है.एक विकल्प बदलने से, दूसरे विकल्प की पाबंदियां बदल सकती हैं. इसलिए, आपको ये चरण कई बार दोहराने पड़ सकते हैं.
स्कैन किया जा रहा है
StartScanOptions
ऑब्जेक्ट बनाएं और उसेstartScan()
को पास करें. यह एक प्रॉमिस दिखाता है, जोStartScanResponse
के साथ रिज़ॉल्व होता है. इसकीjob
प्रॉपर्टी एक हैंडल है. इसका इस्तेमाल, स्कैन किए गए डेटा को पढ़ने या स्कैन को रद्द करने के लिए किया जाएगा.जॉब हैंडल को
readScanData()
को पास करें. यह एक ऐसा प्रॉमिस दिखाता है जोReadScanDataResponse
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. अगर डेटा को सही तरीके से पढ़ा गया है, तो उसकीresult
प्रॉपर्टी की वैल्यूSUCCESS
होगी और उसकीdata
प्रॉपर्टी में स्कैन के हिस्से के साथArrayBuffer
शामिल होगा. ध्यान दें किestimatedCompletion
में, अब तक डिलीवर किए गए कुल डेटा का अनुमानित प्रतिशत शामिल होता है.पिछले चरण को तब तक दोहराएं, जब तक
result
प्रॉपर्टीEOF
के बराबर न हो जाए या कोई गड़बड़ी न हो जाए.
स्कैन पूरा होने के बाद, तीसरे चरण में सेव किए गए स्कैनर हैंडल का इस्तेमाल करके, closeScanner()
को कॉल करें. यह एक प्रॉमिस दिखाता है, जो CloseScannerResponse
के साथ रिज़ॉल्व होता है. जॉब बनाने के बाद, किसी भी समय cancelScan()
को कॉल करने पर, स्कैनिंग बंद हो जाएगी.
रिस्पॉन्स ऑब्जेक्ट
सभी तरीके एक प्रॉमिस दिखाते हैं, जो किसी तरह के रिस्पॉन्स ऑब्जेक्ट के साथ रिज़ॉल्व होता है.
इनमें से ज़्यादातर में एक result
प्रॉपर्टी होती है, जिसकी वैल्यू OperationResult
की सदस्य होती है. जब तक result
की वैल्यू में कोई खास वैल्यू नहीं होगी, तब तक रिस्पॉन्स ऑब्जेक्ट की कुछ प्रॉपर्टी में वैल्यू नहीं होंगी. इन संबंधों के बारे में, हर जवाब ऑब्जेक्ट के रेफ़रंस में बताया गया है.
उदाहरण के लिए, OpenScannerResponse.scannerHandle
की वैल्यू सिर्फ़ तब होगी, जब
OpenScannerResponse.result
की वैल्यू SUCCESS
के बराबर होगी.
स्कैनर के विकल्प
स्कैनर के विकल्प, डिवाइस के हिसाब से काफ़ी अलग-अलग होते हैं. इसलिए, documentScan API में स्कैनर के विकल्पों को सीधे तौर पर दिखाना संभव नहीं है. इस समस्या को हल करने के लिए, OpenScannerResponse
(openScanner()
का इस्तेमाल करके हासिल किया गया) और SetOptionsResponse
(setOptions()
के लिए रिस्पॉन्स ऑब्जेक्ट) में एक options
प्रॉपर्टी होती है. यह एक ऐसा ऑब्जेक्ट होता है जिसमें स्कैनर के हिसाब से विकल्प होते हैं. हर विकल्प, एक की-वैल्यू मैपिंग है. इसमें की, डिवाइस के हिसाब से विकल्प होता है और वैल्यू, ScannerOption
का एक इंस्टेंस होता है.
आम तौर पर, स्ट्रक्चर ऐसा दिखता है:
{
"key1": { scannerOptionInstance }
"key2": { scannerOptionInstance }
}
उदाहरण के लिए, एक ऐसे स्कैनर की कल्पना करें जो "सोर्स" और "रिज़ॉल्यूशन" नाम के विकल्प दिखाता है. दिखाए गए options
ऑब्जेक्ट का स्ट्रक्चर, कुछ ऐसा दिखेगा. आसानी से समझने के लिए, ScannerOption
सिर्फ़ कुछ जवाब दिखाए जाते हैं.
{
"source": {
"name": "source",
"type": OptionType.STRING,
...
},
"resolution": {
"name": "resolution",
"type": OptionType.INT,
...
},
...
}
यूज़र इंटरफ़ेस बनाना
इस एपीआई का इस्तेमाल करना ज़रूरी नहीं है. हालांकि, हो सकता है कि आप किसी उपयोगकर्ता से किसी खास विकल्प के लिए वैल्यू चुनने के लिए कहें. इसके लिए, यूज़र इंटरफ़ेस की ज़रूरत होती है. अटैच किए गए स्कैनर के विकल्पों को वापस पाने के लिए, OpenScannerResponse
(openScanner()
से खोला जाता है) का इस्तेमाल करें. इसके बारे में पिछले सेक्शन में बताया गया है.
कुछ स्कैनर, विकल्पों को डिवाइस के हिसाब से ग्रुप में बांटते हैं. इनसे विकल्प के व्यवहार पर कोई असर नहीं पड़ता. हालांकि, हो सकता है कि इन ग्रुप का ज़िक्र स्कैनर के प्रॉडक्ट दस्तावेज़ में किया गया हो. इसलिए, ऐसे ग्रुप को उपयोगकर्ता को दिखाया जाना चाहिए. getOptionGroups()
को कॉल करके, इन ग्रुप को फिर से पाया जा सकता है. इससे एक ऐसा प्रॉमिस मिलता है जो GetOptionGroupsResponse
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. इसकी groups
प्रॉपर्टी में, स्कैनर के हिसाब से ग्रुप का कलेक्शन होता है. इन ग्रुप में मौजूद जानकारी का इस्तेमाल करके, OpenScannerResponse
में विकल्पों को व्यवस्थित करें, ताकि उन्हें दिखाया जा सके.
{
scannerHandle: "123456",
result: SUCCESS,
groups: [
{
title: "Standard",
members: [ "resolution", "mode", "source" ]
}
]
}
स्कैनर कॉन्फ़िगरेशन में बताया गया है कि एक विकल्प बदलने से, दूसरे विकल्प पर पाबंदियां बदल सकती हैं. यही वजह है कि setOptionsResponse
(setOptions()
के लिए रिस्पॉन्स ऑब्जेक्ट) में एक और options
प्रॉपर्टी शामिल है. यूज़र इंटरफ़ेस को अपडेट करने के लिए, इसका इस्तेमाल करें. इसके बाद, सभी विकल्प सेट होने तक ज़रूरत के हिसाब से दोहराएं.
स्कैनर के विकल्प सेट करना
setOptions()
को OptionSetting
ऑब्जेक्ट का कलेक्शन भेजकर, स्कैनर के विकल्प सेट करें. उदाहरण के लिए, नीचे दिया गया एक लेटर साइज़ पेज स्कैन करें सेक्शन देखें.
उदाहरण
किसी पेज को ब्लॉब के तौर पर वापस पाना
इस उदाहरण में, स्कैनर से किसी पेज को ब्लॉब के तौर पर वापस पाने का एक तरीका बताया गया है. साथ ही, OperationResult
की वैल्यू का इस्तेमाल करके startScan()
और readScanData()
के इस्तेमाल के बारे में बताया गया है.
async function pageAsBlob(handle) {
let response = await chrome.documentScan.startScan(
handle, {format: "image/jpeg"});
if (response.result != chrome.documentScan.OperationResult.SUCCESS) {
return null;
}
const job = response.job;
let imgParts = [];
response = await chrome.documentScan.readScanData(job);
while (response.result == chrome.documentScan.OperationResult.SUCCESS) {
if (response.data && response.data.byteLength > 0) {
imgParts.push(response.data);
} else {
// Delay so hardware can make progress.
await new Promise(r => setTimeout(r, 100));
}
response = await chrome.documentScan.readScanData(job);
}
if (response.result != chrome.documentScan.OperationResult.EOF) {
return null;
}
if (response.data && response.data.byteLength > 0) {
imgParts.push(response.data);
}
return new Blob(imgParts, { type: "image/jpeg" });
}
एक लेटर साइज़ पेज को स्कैन करना
इस उदाहरण में, स्कैनर चुनने, उसके विकल्प सेट करने, और उसे खोलने का तरीका बताया गया है. इसके बाद, यह एक पेज का कॉन्टेंट वापस लाता है और स्कैनर को बंद कर देता है. इस प्रोसेस में, getScannerList()
, openScanner()
, setOptions()
, और
closeScanner()
का इस्तेमाल करके, इवेंट को मेज़र करने का तरीका बताया गया है. ध्यान दें कि पिछले उदाहरण में दिए गए pageAsBlob()
फ़ंक्शन को कॉल करके, पेज का कॉन्टेंट वापस पाया जाता है.
async function scan() {
let response = await chrome.documentScan.getScannerList({ secure: true });
let scanner = await chrome.documentScan.openScanner(
response.scanners[0].scannerId);
const handle = scanner.scannerHandle;
let options = [];
for (source of scanner.options["source"].constraint.list) {
if (source.includes("ADF")) {
options.push({
name: "source",
type: chrome.documentScan.OptionType.STRING,
value: { value: source }
});
break;
}
}
options.push({
name: "tl-x",
type: chrome.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-x",
type: chrome.documentScan.OptionType.FIXED,
value: 215.9 // 8.5" in mm
});
options.push({
name: "tl-y",
type: chrome.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-y",
type: chrome.documentScan.OptionType.FIXED,
value: 279.4 // 11" in mm
});
response = await chrome.documentScan.setOptions(handle, options);
let imgBlob = await pageAsBlob(handle);
if (imgBlob != null) {
// Insert imgBlob into DOM, save to disk, etc
}
await chrome.documentScan.closeScanner(handle);
}
कॉन्फ़िगरेशन दिखाना
जैसा कि कहीं और बताया गया है, उपयोगकर्ता को स्कैनर के कॉन्फ़िगरेशन के विकल्प दिखाने के लिए, openScanner()
को कॉल करने से मिले स्कैनर के विकल्पों के अलावा, getOptionGroups()
को कॉल करना ज़रूरी है. ऐसा इसलिए किया जाता है, ताकि उपयोगकर्ताओं को मैन्युफ़ैक्चरर के तय किए गए ग्रुप में विकल्प दिखाए जा सकें. इस उदाहरण में, ऐसा करने का तरीका बताया गया है.
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
किसी विकल्प को कैसे बदला जा सकता है.
Enum
"NOT_CONFIGURABLE"
यह विकल्प रीड-ओनली है.
"SOFTWARE_CONFIGURABLE"
इस विकल्प को सॉफ़्टवेयर में सेट किया जा सकता है.
"HARDWARE_CONFIGURABLE"
उपयोगकर्ता, स्कैनर पर बटन को टॉगल करके या दबाकर, यह विकल्प सेट कर सकता है.
ConnectionType
इससे पता चलता है कि स्कैनर, कंप्यूटर से कैसे कनेक्ट है.
Enum
"UNSPECIFIED"
"USB"
"NETWORK"
ConstraintType
पाबंदी का डेटा टाइप, जिसे OptionConstraint
से दिखाया जाता है.
Enum
"INT_RANGE"
OptionType.INT
वैल्यू की रेंज पर पाबंदी. OptionConstraint
की min
, max
, और quant
प्रॉपर्टी long
होंगी और इसकी list
प्रॉपर्टी अनसेट हो जाएगी.
"FIXED_RANGE"
OptionType.FIXED
वैल्यू की रेंज पर पाबंदी. OptionConstraint
की min
, max
, और quant
प्रॉपर्टी की वैल्यू double
होगी और उसकी list
प्रॉपर्टी अनसेट हो जाएगी.
"INT_LIST"
OptionType.INT
वैल्यू की किसी खास सूची पर पाबंदी. OptionConstraint.list
प्रॉपर्टी में long
वैल्यू होंगी और अन्य प्रॉपर्टी अनसेट हो जाएंगी.
"FIXED_LIST"
OptionType.FIXED
वैल्यू की किसी खास सूची पर पाबंदी. OptionConstraint.list
प्रॉपर्टी में double
वैल्यू होंगी और अन्य प्रॉपर्टी अनसेट हो जाएंगी.
"STRING_LIST"
OptionType.STRING
वैल्यू की किसी खास सूची पर पाबंदी. OptionConstraint.list
प्रॉपर्टी में DOMString
वैल्यू होंगी और अन्य प्रॉपर्टी अनसेट हो जाएंगी.
DeviceFilter
प्रॉपर्टी
-
लोकल
बूलियन ज़रूरी नहीं
सिर्फ़ ऐसे स्कैनर लौटाएं जो सीधे कंप्यूटर से जुड़े हों.
-
सुरक्षित
बूलियन ज़रूरी नहीं
सिर्फ़ ऐसे स्कैनर दिखाएं जो सुरक्षित ट्रांसपोर्ट का इस्तेमाल करते हैं, जैसे कि यूएसबी या TLS.
GetOptionGroupsResponse
प्रॉपर्टी
-
समूह
OptionGroup[] ज़रूरी नहीं
अगर
result
SUCCESS
है, तो स्कैनर ड्राइवर के दिए गए क्रम में विकल्प ग्रुप की सूची उपलब्ध कराता है. -
नतीजा
विकल्प ग्रुप पाने का नतीजा. अगर इसकी वैल्यू
SUCCESS
है, तोgroups
प्रॉपर्टी अपने-आप पॉप्युलेट हो जाएगी. -
scannerHandle
स्ट्रिंग
वही स्कैनर हैंडल जो
getOptionGroups
को पास किया गया था.
GetScannerListResponse
प्रॉपर्टी
-
नतीजा
गिनती का नतीजा. ध्यान दें कि गड़बड़ी का पता चलने पर भी, कुछ नतीजे दिखाए जा सकते हैं.
-
स्कैनर
दिए गए
DeviceFilter
से मैच करने वाले स्कैनर की सूची, जो शायद खाली हो.
OpenScannerResponse
प्रॉपर्टी
-
विकल्प
ऑब्जेक्ट ज़रूरी नहीं है
अगर
result
SUCCESS
है, तो यह एक की-वैल्यू मैपिंग उपलब्ध कराता है. इसमें, की डिवाइस के हिसाब से उपलब्ध विकल्प होता है और वैल्यूScannerOption
का एक इंस्टेंस होता है. -
नतीजा
स्कैनर खोलने का नतीजा. अगर इसकी वैल्यू
SUCCESS
है, तोscannerHandle
औरoptions
प्रॉपर्टी अपने-आप पॉप्युलेट हो जाएंगी. -
scannerHandle
स्ट्रिंग ज़रूरी नहीं
अगर
result
,SUCCESS
है, तो स्कैनर का हैंडल, जिसका इस्तेमाल आगे की कार्रवाइयों के लिए किया जा सकता है. -
scannerId
स्ट्रिंग
openScanner()
को भेजा गया स्कैनर आईडी.
OperationResult
एक एनम, जो हर कार्रवाई का नतीजा दिखाता है.
Enum
"UNKNOWN"
कोई ऐसी गड़बड़ी हुई जिसकी जानकारी नहीं है.
"SUCCESS"
कार्रवाई पूरी हो गई.
"यह सुविधा काम नहीं करती"
यह कार्रवाई काम नहीं करती.
"रद्द किया गया"
कार्रवाई रद्द कर दी गई थी.
"DEVICE_BUSY"
डिवाइस व्यस्त है.
"INVALID"
या तो डेटा या फिर मेथड में इस्तेमाल किया गया आर्ग्युमेंट अमान्य है.
"WRONG_TYPE"
आपने जो वैल्यू दी है वह मौजूदा विकल्प के लिए गलत डेटा टाइप है.
"EOF"
कोई और डेटा उपलब्ध नहीं है.
"ADF_JAMMED"
डॉक्यूमेंट फ़ीडर जाम हो गया है.
"ADF_EMPTY"
डॉक्यूमेंट फ़ीडर खाली है.
"COVER_OPEN"
फ़्लैटबेड कवर खुला है.
"IO_ERROR"
डिवाइस से संपर्क करते समय कोई गड़बड़ी हुई.
"ACCESS_DENIED"
डिवाइस की पुष्टि करना ज़रूरी है.
"NO_MEMORY"
कार्रवाई पूरी करने के लिए, Chromebook में ज़रूरत के मुताबिक मेमोरी उपलब्ध नहीं है.
"UNREACHABLE"
डिवाइस से कनेक्ट नहीं किया जा सकता.
"मौजूद नहीं है"
डिवाइस डिसकनेक्ट हो गया है.
"INTERNAL_ERROR"
कॉल करने वाले ऐप्लिकेशन के अलावा, किसी और जगह पर गड़बड़ी हुई है.
OptionConstraint
प्रॉपर्टी
-
सूची
string[] | number[] ज़रूरी नहीं
-
अधिकतम
number ज़रूरी नहीं
-
कम से कम
number ज़रूरी नहीं
-
quant
number ज़रूरी नहीं
-
टाइप
OptionGroup
प्रॉपर्टी
-
सदस्य
string[]
ड्राइवर के दिए गए क्रम में, विकल्पों के नामों की सूची.
-
title
स्ट्रिंग
प्रिंट किया जा सकने वाला टाइटल उपलब्ध कराता है. उदाहरण के लिए, "ज्यामिति के विकल्प".
OptionSetting
प्रॉपर्टी
-
नाम
स्ट्रिंग
सेट किए जाने वाले विकल्प का नाम दिखाता है.
-
टाइप
यह विकल्प के डेटा टाइप के बारे में बताता है. अनुरोध किया गया डेटा टाइप, मौजूदा विकल्प के असल डेटा टाइप से मेल खाना चाहिए.
-
value
string | number | boolean | number[] ज़रूरी नहीं
सेट की जाने वाली वैल्यू दिखाता है. जिन विकल्पों के लिए
autoSettable
चालू है उनके लिए, अपने-आप सेट होने की सेटिंग का अनुरोध करने के लिए, सेट न करें.value
के लिए दिया गया डेटा टाइप,type
से मेल खाना चाहिए.
OptionType
किसी विकल्प का डेटा टाइप.
Enum
"UNKNOWN"
विकल्प का डेटा टाइप अज्ञात है. value
प्रॉपर्टी की वैल्यू हटा दी जाएगी.
"BOOL"
value
प्रॉपर्टी, true
false में से कोई एक होगी.
"INT"
32-बिट का एक साइन वाला इंटिजर. value
प्रॉपर्टी, long या long[] होगी. यह इस बात पर निर्भर करता है कि विकल्प में एक से ज़्यादा वैल्यू दी गई हैं या नहीं.
"तय"
-32768 से 32767.9999 की रेंज में एक डबल वैल्यू, जिसका रिज़ॉल्यूशन 1/65535 है. value
प्रॉपर्टी, double या double[] होगी. यह इस बात पर निर्भर करता है कि विकल्प में एक से ज़्यादा वैल्यू डाली जा सकती हैं या नहीं. डबल वैल्यू को सटीक तौर पर नहीं दिखाया जा सकता. इसलिए, उन्हें उपलब्ध रेंज और सटीक वैल्यू के हिसाब से राउंड किया जाएगा.
"STRING"
NUL ('\0') को छोड़कर, किसी भी बाइट का क्रम. value
प्रॉपर्टी एक DOMString होगी.
"BUTTON"
इस तरह के विकल्प की कोई वैल्यू नहीं होती. इसके बजाय, इस तरह का विकल्प सेट करने से स्कैनर ड्राइवर में, विकल्प के हिसाब से साइड इफ़ेक्ट होता है. उदाहरण के लिए, बटन टाइप वाले विकल्प का इस्तेमाल स्कैनर ड्राइवर, डिफ़ॉल्ट वैल्यू चुनने के लिए कर सकता है. इसके अलावा, यह विकल्प, अपने-आप काम करने वाले दस्तावेज़ फ़ीड को पेपर की अगली शीट पर जाने के लिए भी इस्तेमाल किया जा सकता है.
"ग्रुप"
ग्रुप करने का विकल्प. कोई वैल्यू नहीं. इसे काम करने के लिए शामिल किया गया है, लेकिन आम तौर पर इसे ScannerOption
वैल्यू में नहीं दिखाया जाएगा. getOptionGroups()
का इस्तेमाल करके, ग्रुप की सूची और उनके सदस्यों के विकल्पों को देखें.
Enum
"UNITLESS"
वैल्यू, यूनिट के बिना दी गई संख्या होती है. उदाहरण के लिए, यह थ्रेशोल्ड हो सकता है.
"PIXEL"
वैल्यू, पिक्सल की संख्या होती है. उदाहरण के लिए, स्कैन डाइमेंशन.
"BIT"
वैल्यू, बिट की संख्या होती है. उदाहरण के लिए, कलर डेप्थ.
"MM"
इस वैल्यू को मिलीमीटर में मेज़र किया जाता है. जैसे, स्कैन के डाइमेंशन.
"डीपीआई"
इसकी वैल्यू को डॉट्स पर इंच में मेज़र किया जाता है. उदाहरण के लिए, रिज़ॉल्यूशन.
"PERCENT"
वैल्यू प्रतिशत में होती है. उदाहरण के लिए, चमक.
"MICROSECOND"
वैल्यू को माइक्रोसेकंड में मेज़र किया जाता है. उदाहरण के लिए, एक्सपोज़र का समय.
ReadScanDataResponse
प्रॉपर्टी
-
डेटा
ArrayBuffer ज़रूरी नहीं है
अगर
result
SUCCESS
है, तो इसमें स्कैन की गई इमेज के डेटा का अगला हिस्सा होता है. अगरresult
EOF
है, तो इसमें स्कैन की गई इमेज के डेटा का आखिरी हिस्सा होता है. -
estimatedCompletion
number ज़रूरी नहीं
अगर
result
SUCCESS
है, तो इसका मतलब है कि अब तक स्कैन किए गए कुल डेटा में से कितना डेटा डिलीवर किया गया है. यह अनुमान 0 से 100 के बीच होता है. -
नौकरी
स्ट्रिंग
readScanData()
को पास किया गया जॉब हैंडल दिखाता है. -
नतीजा
डेटा पढ़ने का नतीजा. अगर इसकी वैल्यू
SUCCESS
है, तोdata
में इमेज डेटा का अगला (शायद शून्य लंबाई वाला) हिस्सा होता है, जो पढ़ने के लिए तैयार होता है. अगर इसकी वैल्यूEOF
है, तोdata
में इमेज डेटा का आखिरी हिस्सा होता है.
ScannerInfo
प्रॉपर्टी
-
connectionType
इससे पता चलता है कि स्कैनर, कंप्यूटर से कैसे कनेक्ट है.
-
deviceUuid
स्ट्रिंग
एक ही फ़िज़िकल डिवाइस पर मौजूद अन्य
ScannerInfo
एंट्री से मैच करने के लिए. -
imageFormats
string[]
MIME टाइप का एक कलेक्शन, जिसका इस्तेमाल करके स्कैन किए गए दस्तावेज़ों को वापस पाने का अनुरोध किया जा सकता है.
-
निर्माता
स्ट्रिंग
स्कैनर बनाने वाली कंपनी.
-
मॉडल
स्ट्रिंग
स्कैनर का मॉडल, अगर वह उपलब्ध है या सामान्य जानकारी.
-
नाम
स्ट्रिंग
स्कैनर का ऐसा नाम जिसे आसानी से पढ़ा जा सकता है. यह नाम, यूज़र इंटरफ़ेस (यूआई) में दिखता है.
-
protocolType
स्ट्रिंग
स्कैनर को ऐक्सेस करने के लिए इस्तेमाल किए गए प्रोटोकॉल या ड्राइवर के बारे में ऐसी जानकारी जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. जैसे, Mopria, WSD या epsonds. यह मुख्य रूप से तब काम आता है, जब किसी डिवाइस पर एक से ज़्यादा प्रोटोकॉल काम करते हों. इससे उपयोगकर्ता को प्रोटोकॉल में से किसी एक को चुनने की सुविधा मिलती है.
-
scannerId
स्ट्रिंग
किसी स्कैनर का आईडी.
-
सुरक्षित
बूलियन
अगर यह सही है, तो स्कैनर कनेक्शन के ट्रांसपोर्ट को TLS या यूएसबी जैसे पैसिव लिसनर से इंटरसेप्ट नहीं किया जा सकता.
ScannerOption
प्रॉपर्टी
-
कॉन्फ़िगर करने की सुविधा
इससे पता चलता है कि विकल्प में बदलाव किया जा सकता है या नहीं. साथ ही, बदलाव करने का तरीका भी पता चलता है.
-
सीमा
OptionConstraint ज़रूरी नहीं
स्कैनर के मौजूदा विकल्प पर
OptionConstraint
तय करता है. -
ब्यौरा
स्ट्रिंग
विकल्प के बारे में ज़्यादा जानकारी.
-
isActive
बूलियन
इससे पता चलता है कि विकल्प चालू है और उसे सेट या वापस पाया जा सकता है. अगर यह 'गलत है' पर सेट है, तो
value
प्रॉपर्टी सेट नहीं होगी. -
isAdvanced
बूलियन
इससे पता चलता है कि यूज़र इंटरफ़ेस (यूआई) को डिफ़ॉल्ट रूप से यह विकल्प नहीं दिखाना चाहिए.
-
isAutoSettable
बूलियन
स्कैनर ड्राइवर इसे अपने-आप सेट कर सकता है.
-
isDetectable
बूलियन
इससे पता चलता है कि इस विकल्प का पता, सॉफ़्टवेयर से लगाया जा सकता है.
-
isEmulated
बूलियन
अगर यह सही है, तो स्कैनर ड्राइवर इसे एमुलेट करता है.
-
नाम
स्ट्रिंग
विकल्प का नाम, जिसमें अंग्रेज़ी के छोटे अक्षर, संख्याएं, और डैश का इस्तेमाल किया गया हो. डायाक्रिटिक का इस्तेमाल नहीं किया जा सकता.
-
title
स्ट्रिंग
प्रिंट किया जा सकने वाला एक लाइन का टाइटल.
-
टाइप
value
प्रॉपर्टी में मौजूद डेटा टाइप, जो इस विकल्प को सेट करने के लिए ज़रूरी है. -
यूनिट
इस विकल्प के लिए, मेज़रमेंट की इकाई.
-
value
string | number | boolean | number[] ज़रूरी नहीं
अगर लागू हो, तो विकल्प की मौजूदा वैल्यू. ध्यान दें कि इस प्रॉपर्टी का डेटा टाइप,
type
में बताए गए डेटा टाइप से मेल खाना चाहिए.
ScanOptions
प्रॉपर्टी
-
maxImages
number ज़रूरी नहीं
स्कैन की गई इमेज की संख्या. डिफ़ॉल्ट रूप से, यह 1 पर सेट होता है.
-
mimeTypes
string[] ज़रूरी नहीं
कॉलर के स्वीकार किए जाने वाले MIME टाइप.
ScanResults
प्रॉपर्टी
-
dataUrls
string[]
डेटा इमेज के यूआरएल का ऐरे, जिसे किसी इमेज टैग में "src" वैल्यू के तौर पर पास किया जा सकता है.
-
mimeType
स्ट्रिंग
dataUrls
का MIME टाइप.
SetOptionResult
प्रॉपर्टी
-
नाम
स्ट्रिंग
सेट किए गए विकल्प का नाम दिखाता है.
-
नतीजा
विकल्प सेट करने का नतीजा दिखाता है.
SetOptionsResponse
प्रॉपर्टी
-
विकल्प
ऑब्जेक्ट ज़रूरी नहीं है
विकल्पों के नामों से
ScannerOption
वैल्यू पर अपडेट की गई की-वैल्यू मैपिंग. इसमें, दिए गए सभी विकल्पों को सेट करने की कोशिश के बाद, नया कॉन्फ़िगरेशन शामिल होता है. इसका स्ट्रक्चर,OpenScannerResponse
में मौजूदoptions
प्रॉपर्टी जैसा ही है.अगर कुछ विकल्प सेट नहीं हुए हैं, तब भी यह प्रॉपर्टी सेट हो जाएगी. हालांकि, अपडेट किया गया कॉन्फ़िगरेशन वापस पाने में होने वाली किसी भी तरह की गड़बड़ी की वजह से, इसे अनसेट कर दिया जाएगा. उदाहरण के लिए, अगर स्कैनिंग के बीच में स्कैनर डिसकनेक्ट हो जाता है.
-
नतीजे
नतीजों का कलेक्शन, जिसमें पास किए गए हर
OptionSetting
के लिए एक नतीजा होता है. -
scannerHandle
स्ट्रिंग
setOptions()
को पास किया गया स्कैनर हैंडल उपलब्ध कराता है.
StartScanOptions
प्रॉपर्टी
-
फ़ॉर्मैट
स्ट्रिंग
स्कैन किए गए डेटा को दिखाने के लिए MIME टाइप तय करता है.
-
maxReadSize
number ज़रूरी नहीं
अगर शून्य से ज़्यादा की कोई वैल्यू दी जाती है, तो एक
readScanData
रिस्पॉन्स में स्कैन किए गए ज़्यादा से ज़्यादा बाइट को उस वैल्यू तक सीमित कर दिया जाता है. कम से कम वैल्यू 32768 (32 केबी) होनी चाहिए. अगर इस प्रॉपर्टी की जानकारी नहीं दी जाती है, तो हो सकता है कि दिखाए गए हिस्से का साइज़, स्कैन की गई पूरी इमेज के बराबर हो.
StartScanResponse
प्रॉपर्टी
-
नौकरी
स्ट्रिंग ज़रूरी नहीं
अगर
result
SUCCESS
है, तो एक हैंडल उपलब्ध कराया जाता है. इसका इस्तेमाल, स्कैन किए गए डेटा को पढ़ने या नौकरी को रद्द करने के लिए किया जा सकता है. -
नतीजा
स्कैन शुरू करने का नतीजा. अगर इसकी वैल्यू
SUCCESS
है, तोjob
प्रॉपर्टी अपने-आप पॉप्युलेट हो जाएगी. -
scannerHandle
स्ट्रिंग
वही स्कैनर हैंडल दिखाता है जो
startScan()
को पास किया गया था.
तरीके
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
)
शुरू किए गए स्कैन को रद्द करता है और एक प्रॉमिस दिखाता है, जो CancelScanResponse
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को इसके बजाय कॉलबैक में पास किया जाता है.
पैरामीटर
-
नौकरी
स्ट्रिंग
startScan
को कॉल करने पर, पहले जो स्कैन जॉब रिटर्न हुआ था उसका हैंडल. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(response: CancelScanResponse) => void
-
जवाब
-
रिटर्न
-
Promise<CancelScanResponse>
मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
)
इस्तेमाल किए जा रहे हैंंडल के साथ स्कैनर को बंद करता है और एक प्रॉमिस दिखाता है, जो CloseScannerResponse
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को इसके बजाय कॉलबैक में पास किया जाता है. भले ही, रिस्पॉन्स सफल न हो, लेकिन दिया गया हैंडल अमान्य हो जाता है और इसका इस्तेमाल आगे के ऑपरेशन के लिए नहीं किया जाना चाहिए.
पैरामीटर
-
scannerHandle
स्ट्रिंग
किसी ऐसे स्कैनर का हैंडल बताता है जो पहले
openScanner
पर कॉल करने पर खुला था. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(response: CloseScannerResponse) => void
-
जवाब
-
रिटर्न
-
Promise<CloseScannerResponse>
मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
)
openScanner
से पहले खोले गए स्कैनर से, ग्रुप के नाम और सदस्य के विकल्प पाता है. यह तरीका एक प्रॉमिस दिखाता है, जो GetOptionGroupsResponse
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. अगर इस फ़ंक्शन में कोई कॉलबैक पास किया जाता है, तो नतीजे के तौर पर मिला डेटा उसमें पास कर दिया जाता है.
पैरामीटर
-
scannerHandle
स्ट्रिंग
कॉल से
openScanner
पर वापस आकर, खुले हुए स्कैनर का हैंडल. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(response: GetOptionGroupsResponse) => void
रिटर्न
-
Promise<GetOptionGroupsResponse>
मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
)
यह उपलब्ध स्कैनर की सूची दिखाता है और एक प्रॉमिस दिखाता है, जो GetScannerListResponse
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. अगर इस फ़ंक्शन में कोई कॉलबैक पास किया जाता है, तो नतीजे के तौर पर मिला डेटा उसमें पास कर दिया जाता है.
पैरामीटर
-
फ़िल्टर करें
DeviceFilter
, जिसमें यह बताया गया है कि किस तरह के स्कैनर लौटाए जाने चाहिए. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(response: GetScannerListResponse) => void
रिटर्न
-
Promise<GetScannerListResponse>
मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
)
खास ऐक्सेस के लिए स्कैनर खोलता है और एक प्रॉमिस दिखाता है, जो OpenScannerResponse
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. अगर इस फ़ंक्शन में कोई कॉलबैक पास किया जाता है, तो नतीजे के तौर पर मिला डेटा उसमें पास कर दिया जाता है.
पैरामीटर
-
scannerId
स्ट्रिंग
जिस स्कैनर को खोलना है उसका आईडी. यह वैल्यू,
getScannerList
पर किए गए पिछले कॉल से मिली है. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(response: OpenScannerResponse) => void
-
जवाब
-
रिटर्न
-
Promise<OpenScannerResponse>
मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
)
यह किसी चालू जॉब हैंडल से, उपलब्ध इमेज डेटा का अगला हिस्सा पढ़ता है. साथ ही, एक प्रॉमिस दिखाता है, जो ReadScanDataResponse
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को इसके बजाय कॉलबैक में पास किया जाता है.
**ध्यान दें:**जवाब के तौर पर SUCCESS
का होना मान्य है. इसमें data
एलिमेंट की लंबाई शून्य हो सकती है. इसका मतलब है कि स्कैनर अब भी काम कर रहा है, लेकिन उसके पास अभी ज़्यादा डेटा तैयार नहीं है. कॉल करने वाले को थोड़ी देर इंतज़ार करना चाहिए और फिर से कोशिश करनी चाहिए.
स्कैन जॉब पूरा होने पर, जवाब में नतीजे की वैल्यू EOF
होगी. इस रिस्पॉन्स में, data
सदस्यों की संख्या शून्य से ज़्यादा हो सकती है.
पैरामीटर
-
नौकरी
स्ट्रिंग
startScan
से पहले दिखाया गया, चालू जॉब का हैंडल. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(response: ReadScanDataResponse) => void
-
जवाब
-
रिटर्न
-
Promise<ReadScanDataResponse>
मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
)
यह फ़ंक्शन, दस्तावेज़ को स्कैन करता है और एक प्रॉमिस दिखाता है. यह प्रॉमिस, ScanResults
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. अगर इस फ़ंक्शन में कोई कॉलबैक पास किया जाता है, तो नतीजे के तौर पर मिला डेटा उस कॉलबैक में पास कर दिया जाता है.
पैरामीटर
-
विकल्प
स्कैन पैरामीटर वाला ऑब्जेक्ट.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(result: ScanResults) => void
-
नतीजा
-
रिटर्न
-
Promise<ScanResults>
Chrome 96 और उसके बाद के वर्शनमेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
)
यह फ़ंक्शन, दिए गए स्कैनर पर विकल्प सेट करता है और एक प्रॉमिस दिखाता है. यह प्रॉमिस, SetOptionsResponse
ऑब्जेक्ट के साथ रिज़ॉल्व होता है. इसमें, पास किए गए OptionSetting
ऑब्जेक्ट के क्रम में हर वैल्यू को सेट करने की कोशिश का नतीजा होता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को इसके बजाय कॉलबैक में पास किया जाता है.
पैरामीटर
-
scannerHandle
स्ट्रिंग
स्कैनर का हैंडल, जिस पर विकल्प सेट करने के लिए टैप किया जाता है. यह वैल्यू,
openScanner
को कॉल करने पर पहले रिटर्न की गई वैल्यू होनी चाहिए. -
विकल्प
स्कैनर पर लागू किए जाने वाले
OptionSetting
ऑब्जेक्ट की सूची. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(response: SetOptionsResponse) => void
-
जवाब
-
रिटर्न
-
Promise<SetOptionsResponse>
मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
)
यह फ़ंक्शन, दिए गए स्कैनर पर स्कैन शुरू करता है और एक प्रॉमिस दिखाता है, जो StartScanResponse
के साथ पूरा होता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को इसके बजाय कॉलबैक में पास किया जाता है. अगर कॉल पूरा हो जाता है, तो जवाब में एक जॉब हैंडल शामिल होता है. इसका इस्तेमाल, स्कैन डेटा पढ़ने या स्कैन रद्द करने के लिए, बाद के कॉल में किया जा सकता है.
पैरामीटर
-
scannerHandle
स्ट्रिंग
खुले हुए स्कैनर का हैंडल. यह वैल्यू,
openScanner
को कॉल करने पर पहले रिटर्न की गई वैल्यू होनी चाहिए. -
विकल्प
StartScanOptions
ऑब्जेक्ट, जो स्कैन के लिए इस्तेमाल किए जाने वाले विकल्पों के बारे में बताता है.StartScanOptions.format
प्रॉपर्टी, स्कैनर कीScannerInfo
में दी गई किसी एक एंट्री से मेल खानी चाहिए. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(response: StartScanResponse) => void
-
जवाब
-
रिटर्न
-
Promise<StartScanResponse>
मेनिफ़ेस्ट के तीसरे और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.