chrome.documentScan

ब्यौरा

अटैच किए गए दस्तावेज़ स्कैनर से इमेज खोजने और उन्हें वापस पाने के लिए, chrome.documentScan एपीआई का इस्तेमाल करें.

दस्तावेज़ स्कैन API को इस तरह से डिज़ाइन किया गया है कि ऐप्लिकेशन और एक्सटेंशन अटैच किए गए दस्तावेज़ स्कैनर पर कागज़ के दस्तावेज़ों की सामग्री.

अनुमतियां

documentScan

उपलब्धता

Chrome 44 और उसके बाद वाले वर्शन के लिए सिर्फ़ ChromeOS
बाद में जोड़े गए एपीआई सदस्यों के लिए उपलब्धता, उन सदस्यों के साथ दिखाई जाती है.

सिद्धांत और उनका इस्तेमाल

यह एपीआई, दस्तावेज़ों को दो तरीकों से स्कैन करने की सुविधा देता है. अगर आपके इस्तेमाल का उदाहरण काम करता है, तो साथ ही, किसी भी स्कैनर के साथ काम किया जा सकता है. साथ ही, इसे कॉन्फ़िगरेशन पर कंट्रोल करने की ज़रूरत नहीं होती है. इसके लिए, scan() तरीका. इस्तेमाल के ज़्यादा मुश्किल मामलों में, अलग-अलग तरीकों, जो सिर्फ़ Chrome 124 और उसके बाद के वर्शन में काम करते हैं.

आसानी से स्कैन करने की सुविधा

इस्तेमाल के आसान उदाहरणों के लिए, ऐसे टूल जो किसी भी स्कैनर के साथ काम कर सकते हैं और किसी भी स्कैनर के साथ काम नहीं कर सकते कॉन्फ़िगरेशन के नियंत्रण की ज़रूरत है, तो scan() पर कॉल करें. इस तरीके से ScanOptions ऑब्जेक्ट देता है और ऐसा प्रॉमिस देता है जो ScanResults से पूरा होता है ऑब्जेक्ट है. यह सुविधा इन मामलों में ही काम कर सकती है: MIME प्रकार जिन्हें कॉलर द्वारा स्वीकार किया जाएगा. स्कैन को यूआरएल के तौर पर दिखाया जाता है यूज़र इंटरफ़ेस के <img> टैग में दिखाने के लिए.

बारीकी से स्कैन करने की सुविधा

इस सेक्शन में बताया गया है कि कॉम्प्लेक्स स्कैन तीन चरणों में पूरे किए जाते हैं. यह आउटलाइन, तरीके के हर आर्ग्युमेंट या हर प्रॉपर्टी के बारे में नहीं बताती शामिल हैं. इसका मकसद सिर्फ़ आपको स्कैनर लिखने के लिए सामान्य गाइड देना है कोड.

डिस्कवरी

  1. getScannerList() पर कॉल करें. उपलब्ध स्कैनर ये हैं ऐसे प्रॉमिस के साथ वापस आ जाता है जिसका समाधान GetScannerListResponse.

    • रिस्पॉन्स ऑब्जेक्ट में ScannerInfo का अरे होता है ऑब्जेक्ट हैं.
    • अगर स्कैनर किसी स्कैनर में मौजूद है, तो वह अरे में एक स्कैनर के लिए एक से ज़्यादा एंट्री हो सकती हैं एक से ज़्यादा प्रोटोकॉल या कनेक्शन तरीकों का इस्तेमाल करता है.
  2. दिखाई गई सरणी से स्कैनर चुनें और इसका मान सेव करें scannerId प्रॉपर्टी.

    अलग-अलग ScannerInfo ऑब्जेक्ट की प्रॉपर्टी का इस्तेमाल करें का इस्तेमाल करें. इवेंट में मौजूद ऑब्जेक्ट deviceUuid प्रॉपर्टी के लिए उसी स्कैनर की वैल्यू एक जैसी होगी. ScannerInfo में एक imageFormats प्रॉपर्टी भी है, जिसमें यह कलेक्शन है इस्तेमाल किए जा सकते हैं.

स्कैनर का कॉन्फ़िगरेशन

  1. openScanner() पर कॉल करें. यह, सेव किए गए स्कैनर आईडी से पास हो रहा है. यह ऐसा प्रॉमिस देता है जो OpenScannerResponse से रिज़ॉल्व हो जाता है. रिस्पॉन्स ऑब्जेक्ट में यह शामिल है:

    • scannerHandle प्रॉपर्टी, जिसे आपको सेव करना होगा.

    • विकल्प प्रॉपर्टी में स्कैनर की खास प्रॉपर्टी मौजूद होती हैं. इस प्रॉपर्टी को सेट करना होगा. ज़्यादा जानकारी के लिए स्कैनर के विकल्प फिर से पाएं देखें.

  2. (ज़रूरी नहीं) अगर उपयोगकर्ता को स्कैनर के विकल्पों की वैल्यू देनी है, तो यूज़र इंटरफ़ेस बनाएं. आपको स्कैनर के दिए गए विकल्पों की ज़रूरत पड़ेगी पिछले चरण पर रीडायरेक्ट कर दिया है और आपको स्कैनर. ज़्यादा जानकारी के लिए यूज़र इंटरफ़ेस बनाना देखें.

  3. OptionSetting ऑब्जेक्ट का कलेक्शन बनाने के लिए, इनका इस्तेमाल करें प्रोग्रामैटिक या उपयोगकर्ता से मिले मान. ज़्यादा जानकारी के लिए, सेट स्कैनर के विकल्प देखें जानकारी.

  4. OptionSetting ऑब्जेक्ट के कलेक्शन को इसके लिए पास करें स्कैनर के विकल्प सेट करने के लिए setOptions(). यह ऐसा प्रॉमिस लौटाता है जो SetOptionsResponse. इस ऑब्जेक्ट में एक स्कैनर के पहले चरण में दिए गए स्कैनर के विकल्पों का अपडेट किया गया वर्शन कॉन्फ़िगरेशन.

    बदलने की वजह से विकल्प किसी अन्य विकल्प के कंस्ट्रेंट को बदल सकता है, आपको इन्हें दोहराने की ज़रूरत पड़ सकती है कई बार कदम उठाते हैं.

स्कैन किया जा रहा है

  1. StartScanOptions ऑब्जेक्ट बनाएं और उसे पास करें startScan() तक. यह जवाब में ऐसा प्रॉमिस देता है जिसका समाधान हो जाता है StartScanResponse के साथ. इसकी job प्रॉपर्टी है ऐसा हैंडल जिसका इस्तेमाल स्कैन का डेटा पढ़ने या स्कैन को रद्द करने के लिए किया जा सकता है.

  2. जॉब हैंडल को readScanData() को पास करें. यह ऐसा प्रॉमिस जो इससे खत्म हो जाएगा ReadScanDataResponse ऑब्जेक्ट. अगर डेटा को पढ़ा गया था सफलतापूर्वक, इसकी result प्रॉपर्टी SUCCESS और इसकी data प्रॉपर्टी के बराबर है इसमें शामिल है ArrayBuffer के हिस्से को स्कैन करें. ध्यान दें कि estimatedCompletion में अनुमानित डेटा है अब तक डिलीवर किए गए कुल डेटा का प्रतिशत.

  3. पिछला चरण तब तक दोहराएं, जब तक कि result प्रॉपर्टी की वैल्यू EOF न हो या कोई गड़बड़ी न हो जाए.

स्कैन खत्म होने पर, कॉल करें closeScanner() का स्कैन हैंडल, स्टेप में सेव हो गया है 3. यह एक ऐसा प्रॉमिस देता है जो CloseScannerResponse. कॉल से जुड़ी सुविधा जॉब बनाने के बाद, किसी भी समय cancelScan() का इस्तेमाल करने पर बंद करना.

रिस्पॉन्स ऑब्जेक्ट

सभी तरीकों से ऐसा प्रॉमिस प्रॉमिस होता है जो किसी तरह के रिस्पॉन्स ऑब्जेक्ट के साथ रिज़ॉल्व होता है. इनमें से ज़्यादातर में, result प्रॉपर्टी शामिल है जिसकी वैल्यू में शामिल है OperationResult. रिस्पॉन्स ऑब्जेक्ट की कुछ प्रॉपर्टी जब तक result की वैल्यू के लिए कोई तय वैल्यू न हो, तब तक वैल्यू नहीं होंगी. ये संबंधों की जानकारी, हर रिस्पॉन्स ऑब्जेक्ट के रेफ़रंस में दी गई है.

उदाहरण के लिए, OpenScannerResponse.scannerHandle की कोई वैल्यू सिर्फ़ तब होगी, जब OpenScannerResponse.result, SUCCESS के बराबर है.

स्कैनर के विकल्प

डिवाइस के हिसाब से, स्कैनर के विकल्प अलग-अलग होते हैं. इस वजह से, यह संभव नहीं है कि स्कैनर के विकल्पों को सीधे दस्तावेज़Scan 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 प्रॉपर्टी मौजूद है. इस्तेमाल की जाने वाली चीज़ें ताकि यूज़र इंटरफ़ेस को अपडेट किया जा सके. इसके बाद, जब तक सभी विकल्प उपलब्ध न हो जाएं, तब तक इस प्रोसेस को दोहराएं सेट.

स्कैनर के विकल्प सेट करें

OptionSetting ऑब्जेक्ट को setOptions(). उदाहरण के लिए, नीचे दिया गया एक अक्षर वाले साइज़ वाला पेज स्कैन करें सेक्शन देखें.

उदाहरण

किसी पेज को ब्लॉब के तौर पर वापस पाना

इस उदाहरण में, स्कैनर से किसी पेज को BLOB के तौर पर वापस पाने का एक तरीका बताया गया है और मान का इस्तेमाल करके, startScan() और readScanData() के इस्तेमाल को दिखाता है OperationResult.

async function pageAsBlob(handle) {
  let response = await chrome.documentScan.startScan(
      handle, {format: "image/jpeg"});
  if (response.result != chrome.documentScan.OperationResult.SUCCESS) {
    return null;
  }
  const job = response.job;

  let imgParts = [];
  response = await chrome.documentScan.readScanData(job);
  while (response.result == chrome.documentScan.OperationResult.SUCCESS) {
    if (response.data && response.data.byteLength > 0) {
        imgParts.push(response.data);
    } else {
      // Delay so hardware can make progress.
      await new Promise(r => setTimeout(r, 100));
    }
    response = await chrome.documentScan.readScanData(job);
  }
  if (response.result != chrome.documentScan.OperationResult.EOF) {
    return null;
  }
  if (response.data && response.data.byteLength > 0) {
    imgParts.push(response.data);
  }
  return new Blob(imgParts, { type: "image/jpeg" });
}

एक अक्षर के आकार वाला पेज स्कैन करें

इस उदाहरण में, स्कैनर चुनने, उसके विकल्प सेट करने, और उसे खोलने का तरीका बताया गया है. यह फिर किसी एक पेज का कॉन्टेंट वापस लाता है और स्कैनर बंद करता है. यह प्रोसेस getScannerList(), openScanner(), setOptions() और closeScanner(). ध्यान दें कि पृष्ठ की सामग्री इस नंबर पर कॉल करके ऊपर दिए गए उदाहरण में बताए गए pageAsBlob() फ़ंक्शन को चुनें.

async function scan() {
    let response = await chrome.documentScan.getScannerList({ secure: true });
    let scanner = await chrome.documentScan.openScanner(
        response.scanners[0].scannerId);
    const handle = scanner.scannerHandle;

    let options = [];
    for (source of scanner.options["source"].constraint.list) {
        if (source.includes("ADF")) {
            options.push({
                name: "source",
                type: chrome.documentScan.OptionType.STRING,
                value: { value: source }
            });
            break;
        }
    }
    options.push({
        name: "tl-x",
        type: chrome.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-x",
        type: chrome.documentScan.OptionType.FIXED,
        value: 215.9  // 8.5" in mm
    });
    options.push({
        name: "tl-y",
        type: chrome.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-y",
        type: chrome.documentScan.OptionType.FIXED,
        value: 279.4  // 11" in mm
    });
    response = await chrome.documentScan.setOptions(handle, options);

    let imgBlob = await pageAsBlob(handle);
    if (imgBlob != null) {
        // Insert imgBlob into DOM, save to disk, etc
    }
    await chrome.documentScan.closeScanner(handle);
}

कॉन्फ़िगरेशन दिखाएं

जैसा कि कहीं और बताया गया है, उपयोगकर्ता को स्कैनर के कॉन्फ़िगरेशन के विकल्प दिखाने की ज़रूरत होती है स्कैनर से मिले विकल्पों के अलावा, getOptionGroups() पर कॉल किया जा रहा है openScanner() को कॉल. ऐसा इसलिए किया गया है, ताकि उपयोगकर्ताओं को ये विकल्प दिखाए जा सकें ऐसे ग्रुप जिन्हें मैन्युफ़ैक्चरर ने तय किया हो. इस उदाहरण में बताया गया है कि इसे कैसे किया जाए.

async function showConfig() {
  let response = await chrome.documentScan.getScannerList({ secure: true });
  let scanner = await chrome.documentScan.openScanner(
      response.scanners[0].scannerId);
  let groups = await chrome.documentScan.getOptionGroups(scanner.scannerHandle);

  for (const group of groups.groups) {
    console.log("=== " + group.title + " ===");
    for (const member of group.members) {
      const option = scanner.options[member];
      if (option.isActive) {
        console.log("  " + option.name + " = " + option.value);
      } else {
        console.log("  " + option.name + " is inactive");
      }
    }
  }
}

टाइप

CancelScanResponse

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • नौकरी

    स्ट्रिंग

    यह वही जॉब हैंडल देता है जो cancelScan() को दिया गया था.

  • नतीजा

    बैकएंड से, स्कैन करने का नतीजा रद्द हुआ. अगर नतीजा OperationResult.SUCCESS या OperationResult.CANCELLED है, तो इसका मतलब है कि स्कैन रद्द कर दिया गया है और स्कैनर नया स्कैन शुरू करने के लिए तैयार है. अगर नतीजा OperationResult.DEVICE_BUSY है , तो स्कैनर अब भी अनुरोध को रद्द करने की प्रोसेस को प्रोसेस कर रहा है; कॉलर को कुछ देर इंतज़ार करना चाहिए और फिर से अनुरोध करना चाहिए. अन्य नतीजों की वैल्यू से ऐसी स्थायी गड़बड़ी का पता चलता है जिसकी फिर से कोशिश नहीं की जानी चाहिए.

CloseScannerResponse

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • नतीजा

    स्कैनर बंद करने का नतीजा. यह वैल्यू SUCCESS न होने पर भी, हैंडल को अमान्य माना जाएगा. इसका इस्तेमाल, आगे किसी भी कार्रवाई के लिए नहीं किया जाना चाहिए.

  • scannerHandle

    स्ट्रिंग

    वही स्कैनर हैंडल जो closeScanner को दिया गया था.

Configurability

Chrome 125 और उसके बाद वाले वर्शन

विकल्प को कैसे बदला जा सकता है.

Enum

"NOT_CONFIGURABLE"
यह विकल्प सिर्फ़ पढ़ने के लिए है.

"SOFTWARE_CONFIGURABLE"
इस विकल्प को सॉफ़्टवेयर में सेट किया जा सकता है.

"HARDWARE_CONFIGURABLE"
इस विकल्प को उपयोगकर्ता टॉगल करके सेट कर सकता है या स्कैनर पर बटन दबाकर.

ConnectionType

Chrome 125 और उसके बाद वाले वर्शन

यह बताता है कि स्कैनर कंप्यूटर से कैसे कनेक्ट किया गया है.

Enum

"जानकारी नहीं है"

"यूएसबी"

"नेटवर्क"

ConstraintType

Chrome 125 और उसके बाद वाले वर्शन

कंस्ट्रेंट का डेटा टाइप, जिसे 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

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • लोकल

    बूलियन ज़रूरी नहीं

    सिर्फ़ वे स्कैनर दिखाए जाते हैं जो सीधे कंप्यूटर से जुड़े होते हैं.

  • सुरक्षित

    बूलियन ज़रूरी नहीं

    सिर्फ़ उन स्कैनर को वापस करें जो यूएसबी या 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

    स्ट्रिंग ज़रूरी नहीं

    अगर result SUCCESS है, तो स्कैनर का हैंडल होता है. इसका इस्तेमाल आगे के काम के लिए किया जा सकता है.

  • scannerId

    स्ट्रिंग

    स्कैनर आईडी openScanner() को भेजा गया.

OperationResult

Chrome 125 और उसके बाद वाले वर्शन

एक ईनम, जो हर कार्रवाई का नतीजा दिखाती है.

Enum

"UNKNOWN"
कोई अनजान या सामान्य गड़बड़ी हुई.

"सफल"
कार्रवाई हो गई.

"UNSUPPORTED"
यह कार्रवाई नहीं की जा सकती.

"रद्द किया गया"
कार्रवाई रद्द कर दी गई थी.

"DEVICE_BUSY"
डिवाइस व्यस्त है.

"INVALID"
इस तरीके में दिया गया डेटा या तर्क मान्य नहीं है.

"WRONG_TYPE"
दिया गया मान, दिए गए विकल्प के लिए गलत डेटा प्रकार है.

"EOF"
कोई और डेटा उपलब्ध नहीं है.

"ADF_JAMMED"
दस्तावेज़ फ़ीडर जाम है.

"ADF_EMPTY"
दस्तावेज़ फ़ीडर खाली है.

"COVER_OPEN"
फ़्लैटबेड कवर खुला है.

"IO_ERROR"
डिवाइस से संपर्क करते समय कोई गड़बड़ी हुई.

"ACCESS_DENIED"
डिवाइस के लिए पुष्टि करना ज़रूरी है.

"NO_MEMORY"
Chromebook पर काम पूरा करने के लिए काफ़ी मेमोरी उपलब्ध नहीं है.

"नहीं पहुंच सकता"
डिवाइस पहुंच में नहीं है.

"MISSING"
डिवाइस डिसकनेक्ट हो गया है.

"interior_ERROR"
कॉल करने वाले ऐप्लिकेशन के बजाय कहीं और गड़बड़ी हुई.

OptionConstraint

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • सूची

    string[] | नंबर[] ज़रूरी नहीं

  • अधिकतम

    नंबर वैकल्पिक

  • कम से कम

    नंबर वैकल्पिक

  • क्वांट

    नंबर वैकल्पिक

  • टाइप

OptionGroup

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • सदस्य

    स्ट्रिंग[]

    ड्राइवर के दिए गए क्रम में विकल्पों के नाम का कलेक्शन.

  • title

    स्ट्रिंग

    प्रिंट किया जा सकने वाला टाइटल देता है, जैसे कि "ज्यामिति के विकल्प".

OptionSetting

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • नाम

    स्ट्रिंग

    सेट किए जाने वाले विकल्प का नाम दिखाता है.

  • टाइप

    विकल्प के डेटा टाइप को दिखाता है. अनुरोध किया गया डेटा टाइप, दिए गए विकल्प के असल डेटा टाइप से मेल खाना चाहिए.

  • value

    string | नंबर | boolean | नंबर[] ज़रूरी नहीं

    सेट की जाने वाली वैल्यू दिखाता है. जिन विकल्पों के लिए autoSettable चालू है उनके लिए, अपने-आप सेटिंग का अनुरोध करने के लिए, सेट न करें. value के लिए दिए गए डेटा टाइप का type से मेल खाना ज़रूरी है.

OptionType

Chrome 125 और उसके बाद वाले वर्शन

किसी विकल्प का डेटा टाइप.

Enum

"UNKNOWN"
इस विकल्प के डेटा टाइप के बारे में जानकारी नहीं है. value प्रॉपर्टी सेट नहीं होगी.

"बूल"
value प्रॉपर्टी trueगलत में से एक होगी.

"INT"
एक साइन किया हुआ 32-बिट पूर्णांक. value प्रॉपर्टी लंबी होगी या बड़ी[]. यह इस बात पर निर्भर करता है कि विकल्प के लिए एक से ज़्यादा वैल्यू की ज़रूरत है या नहीं.

"FIXED"
1/65535 के रिज़ॉल्यूशन के साथ, -32768-32767.9999 की रेंज में दोगुना. विकल्प के लिए एक से ज़्यादा वैल्यू लेना के आधार पर, value प्रॉपर्टी डबल या डबल[] होगी. जिन डबल वैल्यू को सटीक तरीके से नहीं दिखाया जा सकता उन्हें उपलब्ध रेंज और सटीक वैल्यू में बदल दिया जाएगा.

"STRING"
NUL ('\0') को छोड़कर किसी भी बाइट का क्रम. value प्रॉपर्टी एक DOMString होगी.

"बटन"
इस तरह के विकल्प का कोई मान नहीं है. इसके बजाय, इस तरह का कोई विकल्प सेट करने से, स्कैनर ड्राइवर में विकल्प से जुड़ा एक खास खराब असर पड़ता है. उदाहरण के लिए, डिफ़ॉल्ट वैल्यू चुनने का तरीका बताने या दस्तावेज़ की अगली शीट पर जाने के लिए, अपने-आप काम करने वाले फ़ीडर को निर्देश देने के लिए, स्कैनर ड्राइवर बटन टाइप किए गए विकल्प का इस्तेमाल कर सकता है.

"GROUP"
ग्रुप करने का विकल्प. कोई मान नहीं. इसे साथ काम करने के लिए शामिल किया गया है, लेकिन इसे आम तौर पर ScannerOption वैल्यू में नहीं दिखाया जाएगा. सदस्यों के विकल्पों के साथ ग्रुप की सूची वापस पाने के लिए, getOptionGroups() का इस्तेमाल करें.

OptionUnit

Chrome 125 और उसके बाद वाले वर्शन

इससे ScannerOption.unit के लिए डेटा टाइप का पता चलता है.

Enum

"UNITLESS"
मान बिना इकाई की संख्या है. उदाहरण के लिए, यह कोई थ्रेशोल्ड हो सकता है.

"PIXEL"
यह वैल्यू पिक्सल की संख्या होती है. उदाहरण के लिए, डाइमेंशन को स्कैन करें.

"BIT"
यह वैल्यू, बिट की संख्या होती है. उदाहरण के लिए, रंग की गहराई.

"MM"
वैल्यू को मिलीमीटर में मापा जाता है. उदाहरण के लिए, स्कैन डाइमेंशन.

"डीपीआई"
वैल्यू को डॉट प्रति इंच के हिसाब से मापा जाता है, जैसे कि रिज़ॉल्यूशन.

"PERCENT"
मान प्रतिशत है, उदाहरण के लिए, चमक.

"MICROTOTAL"
वैल्यू को माइक्रोसेकंड में मापा जाता है. उदाहरण के लिए, एक्सपोज़र का समय.

ReadScanDataResponse

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • डेटा

    ArrayBuffer ज़रूरी नहीं है

    अगर result की वैल्यू SUCCESS है, तो इसमें स्कैन की गई इमेज के डेटा का अगला हिस्सा शामिल होता है. अगर result, EOF है, तो इसमें स्कैन की गई इमेज के डेटा का आखिरी हिस्सा शामिल है.

  • estimatedCompletion

    नंबर वैकल्पिक

    अगर result, SUCCESS है, तो 0 से 100 की रेंज में, स्कैन का कुल डेटा अब तक कितना डेटा डिलीवर किया जा चुका है, इसका एक अनुमान.

  • नौकरी

    स्ट्रिंग

    यह readScanData() को पास किया गया जॉब हैंडल देता है.

  • नतीजा

    डेटा पढ़ने का नतीजा. अगर इसकी वैल्यू SUCCESS है, तो data में इमेज डेटा का next (शायद शून्य लंबाई) वाला हिस्सा शामिल होगा जो पढ़ने के लिए तैयार है. अगर इसकी वैल्यू EOF है, तो data में इमेज डेटा का आखिरी हिस्सा होता है.

ScannerInfo

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • connectionType

    यह बताता है कि स्कैनर कंप्यूटर से कैसे कनेक्ट किया गया है.

  • deviceUuid

    स्ट्रिंग

    ScannerInfo एंट्री से मिलान करने के लिए, जो एक ही डिवाइस पर ले जाते हैं.

  • imageFormats

    स्ट्रिंग[]

    MIME टाइप का कलेक्शन, जिसका अनुरोध वापस किए गए स्कैन के लिए किया जा सकता है.

  • निर्माता

    स्ट्रिंग

    स्कैनर बनाने वाली कंपनी.

  • मॉडल

    स्ट्रिंग

    अगर स्कैनर उपलब्ध है, तो उसका मॉडल या सामान्य ब्यौरा.

  • नाम

    स्ट्रिंग

    स्कैनर के लिए यूज़र इंटरफ़ेस (यूआई) में दिखने के लिए ऐसा नाम जिसे कोई भी व्यक्ति आसानी से पढ़ सके.

  • protocolType

    स्ट्रिंग

    Mopria, WSD या epsonds जैसे स्कैनर को ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले प्रोटोकॉल या ड्राइवर के बारे में ऐसी जानकारी जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. यह मुख्य रूप से तब काम आता है, जब किसी डिवाइस पर एक से ज़्यादा प्रोटोकॉल काम करते हैं. ऐसे में, अगर किसी डिवाइस पर एक से ज़्यादा प्रोटोकॉल काम करते हैं, तो उपयोगकर्ता को इनमें से किसी एक प्रोटोकॉल को चुनने की अनुमति मिल जाती है.

  • scannerId

    स्ट्रिंग

    किसी खास स्कैनर का आईडी.

  • सुरक्षित

    बूलियन

    अगर सही है, तो स्कैनर कनेक्शन के ट्रांसपोर्टेशन को TLS या यूएसबी जैसे पैसिव लिसनर से रोका नहीं जा सकता.

ScannerOption

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • कॉन्फ़िगर करने की क्षमता

    यह बताता है कि इस विकल्प को बदला जा सकता है या नहीं. साथ ही, यह भी बताया जाता है कि इसे कैसे बदला जा सकता है.

  • कंस्ट्रेंट

    OptionConstraint ज़रूरी नहीं

    स्कैनर के मौजूदा विकल्प पर OptionConstraint के बारे में बताता है.

  • ब्यौरा

    स्ट्रिंग

    विकल्प के बारे में ज़्यादा जानकारी.

  • isActive

    बूलियन

    इससे पता चलता है कि विकल्प चालू है और इसे सेट किया जा सकता है या वापस लाया जा सकता है. अगर यह नीति 'गलत है' पर सेट है, तो value प्रॉपर्टी सेट नहीं की जाएगी.

  • isAdvanced

    बूलियन

    इससे पता चलता है कि यूज़र इंटरफ़ेस (यूआई) में यह विकल्प डिफ़ॉल्ट रूप से नहीं दिखना चाहिए.

  • isAutoSettable

    बूलियन

    इसे स्कैनर ड्राइवर अपने-आप सेट कर सकता है.

  • isDetectable

    बूलियन

    इससे पता चलता है कि इस विकल्प का पता सॉफ़्टवेयर से लगाया जा सकता है.

  • isEmulated

    बूलियन

    अगर सही हो, तो स्कैनर ड्राइवर ने एम्युलेट किया गया.

  • नाम

    स्ट्रिंग

    विकल्प का नाम, जिसमें ASCII के अंग्रेज़ी के छोटे अक्षर, संख्याएं, और डैश इस्तेमाल किए गए हों. खास तरह के चिह्नों की अनुमति नहीं है.

  • title

    स्ट्रिंग

    प्रिंट करने योग्य एक पंक्ति का शीर्षक.

  • टाइप

    value प्रॉपर्टी में शामिल डेटा टाइप. इस विकल्प को सेट करने के लिए इसकी ज़रूरत होती है.

  • यूनिट

    इस विकल्प के लिए मेज़रमेंट की यूनिट.

  • value

    string | नंबर | boolean | नंबर[] ज़रूरी नहीं

    अगर ज़रूरी हो, तो विकल्प की मौजूदा वैल्यू. ध्यान दें कि इस प्रॉपर्टी का डेटा टाइप, type में बताए गए डेटा टाइप से मेल खाना चाहिए.

ScanOptions

प्रॉपर्टी

  • maxImages

    नंबर वैकल्पिक

    स्कैन की गई इमेज की संख्या. डिफ़ॉल्ट वैल्यू एक होती है.

  • mimeTypes

    स्ट्रिंग[] ज़रूरी नहीं

    ऐसे MIME टाइप जिन्हें कॉलर स्वीकार करता है.

ScanResults

प्रॉपर्टी

  • dataUrls

    स्ट्रिंग[]

    डेटा इमेज के यूआरएल का कलेक्शन. यह ऐसे फ़ॉर्मैट में होता है जिसे "src" के तौर पर भेजा जा सकता है मान को इमेज टैग में बदलें.

  • mimeType

    स्ट्रिंग

    dataUrls का MIME टाइप.

SetOptionResult

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • नाम

    स्ट्रिंग

    सेट किए गए विकल्प का नाम दिखाता है.

  • नतीजा

    विकल्प को सेट करने के परिणाम को दिखाता है.

SetOptionsResponse

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • विकल्प

    ऑब्जेक्ट ज़रूरी नहीं

    दिए गए सभी विकल्पों को सेट करने के बाद, नए कॉन्फ़िगरेशन वाले विकल्प के नामों से ScannerOption वैल्यू पर अपडेट की गई की-वैल्यू मैपिंग. इसका स्ट्रक्चर OpenScannerResponse में मौजूद options प्रॉपर्टी के जैसा ही है.

    कुछ विकल्पों के सही से सेट न होने पर भी इस प्रॉपर्टी को सेट कर दिया जाएगा. हालांकि, अपडेट किए गए कॉन्फ़िगरेशन को वापस पाने पर, इस प्रॉपर्टी को सेट नहीं किया जाएगा. उदाहरण के लिए, अगर स्कैनिंग के दौरान ही स्कैनर डिसकनेक्ट हो जाता है.

  • नतीजे

    नतीजों का कलेक्शन, हर पास-इन OptionSetting के लिए एक-एक नतीजे.

  • scannerHandle

    स्ट्रिंग

    setOptions() को पास किया गया स्कैनर हैंडल देता है.

StartScanOptions

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • फ़ॉर्मैट

    स्ट्रिंग

    स्कैन किया गया डेटा दिखाने के लिए MIME टाइप तय करता है.

  • maxReadSize

    नंबर वैकल्पिक

    अगर कोई ऐसी वैल्यू दी गई है जो शून्य नहीं है, तो उस वैल्यू के लिए एक readScanData रिस्पॉन्स में स्कैन की गई ज़्यादा से ज़्यादा बाइट की सीमा तय की जाती है. स्वीकार की गई सबसे छोटी वैल्यू 32768 (32 केबी) है. अगर यह प्रॉपर्टी नहीं बताई गई है, तो लौटाए गए हिस्से का साइज़, स्कैन की गई पूरी इमेज जितना बड़ा हो सकता है.

StartScanResponse

Chrome 125 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • नौकरी

    स्ट्रिंग ज़रूरी नहीं

    अगर result की वैल्यू SUCCESS है, तो इससे एक हैंडल मिलता है. इसका इस्तेमाल, स्कैन का डेटा पढ़ने या जॉब को रद्द करने के लिए किया जा सकता है.

  • नतीजा

    स्कैन शुरू करने का नतीजा. अगर इसकी वैल्यू SUCCESS है, तो job प्रॉपर्टी में अपने-आप जानकारी भर जाएगी.

  • scannerHandle

    स्ट्रिंग

    यह वही स्कैनर हैंडल देता है जो startScan() को भेजा गया था.

तरीके

cancelScan()

प्रॉमिस Chrome 125 और उसके बाद वाले वर्शन के लिए
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

शुरू किए गए स्कैन को रद्द करता है और CancelScanResponse ऑब्जेक्ट के साथ रिज़ॉल्व होने वाला प्रॉमिस देता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को उसके बजाय पास कर दिया जाता है.

पैरामीटर

  • नौकरी

    स्ट्रिंग

    startScan पर किए गए कॉल के बाद, ऐक्टिव स्कैन जॉब का हैंडल.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (response: CancelScanResponse) => void

रिटर्न

  • Promise&lt;CancelScanResponse&gt;

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

closeScanner()

प्रॉमिस Chrome 125 और उसके बाद वाले वर्शन के लिए
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

पास किए गए हैंडल वाले स्कैनर को बंद करता है. साथ ही, ऐसा प्रॉमिस देता है जो CloseScannerResponse ऑब्जेक्ट के साथ रिज़ॉल्व हो जाता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को उसके बजाय पास कर दिया जाता है. भले ही, रिस्पॉन्स सही न हो, लेकिन दिया गया हैंडल अमान्य हो जाता है. इसका इस्तेमाल, आगे की कार्रवाइयों के लिए नहीं किया जाना चाहिए.

पैरामीटर

  • scannerHandle

    स्ट्रिंग

    यह नीति उस ओपन स्कैनर का हैंडल तय करती है जिसे पहले openScanner पर किए गए कॉल के बाद भेजा गया था.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (response: CloseScannerResponse) => void

रिटर्न

  • Promise&lt;CloseScannerResponse&gt;

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getOptionGroups()

प्रॉमिस Chrome 125 और उसके बाद वाले वर्शन के लिए
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)

ग्रुप के नाम और सदस्यों के विकल्प उस स्कैनर से मिलता है जिसे openScanner ने पहले खोला था. इस तरीके से ऐसा प्रॉमिस मिलता है जो GetOptionGroupsResponse ऑब्जेक्ट के साथ रिज़ॉल्व हो जाता है. अगर इस फ़ंक्शन को कॉलबैक भेजा जाता है, तो लौटाया गया डेटा इसके बजाय उसे पास कर दिया जाता है.

पैरामीटर

  • scannerHandle

    स्ट्रिंग

    openScanner पर कॉल करने के बाद, खुले स्कैनर का हैंडल.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (response: GetOptionGroupsResponse) => void

रिटर्न

  • मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getScannerList()

प्रॉमिस Chrome 125 और उसके बाद वाले वर्शन के लिए
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

इसकी मदद से, उपलब्ध स्कैनर की सूची ली जाती है और ऐसा प्रॉमिस दिखाया जाता है जो GetScannerListResponse ऑब्जेक्ट के साथ ठीक होता है. अगर इस फ़ंक्शन को कॉलबैक भेजा जाता है, तो लौटाया गया डेटा इसके बजाय उसे पास कर दिया जाता है.

पैरामीटर

  • फ़िल्टर करें

    एक DeviceFilter, जो बताता है कि किस तरह के स्कैनर दिखाए जाने चाहिए.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (response: GetScannerListResponse) => void

रिटर्न

  • Promise&lt;GetScannerListResponse&gt;

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

openScanner()

प्रॉमिस Chrome 125 और उसके बाद वाले वर्शन के लिए
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

खास ऐक्सेस पाने के लिए स्कैनर खोलता है. साथ ही, एक प्रॉमिस देता है, जो OpenScannerResponse ऑब्जेक्ट के साथ ठीक होता है. अगर इस फ़ंक्शन को कॉलबैक भेजा जाता है, तो लौटाया गया डेटा इसके बजाय उसे पास कर दिया जाता है.

पैरामीटर

  • scannerId

    स्ट्रिंग

    खोले जाने वाले स्कैनर का आईडी. यह मान getScannerList को किए गए पिछले कॉल के आधार पर दिखाया गया है.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (response: OpenScannerResponse) => void

रिटर्न

  • Promise&lt;OpenScannerResponse&gt;

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

readScanData()

प्रॉमिस Chrome 125 और उसके बाद वाले वर्शन के लिए
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

यह फ़ंक्शन किसी ऐक्टिव जॉब हैंडल में मौजूद इमेज के डेटा का अगला हिस्सा पढ़ता है. साथ ही, ऐसा प्रॉमिस देता है जो ReadScanDataResponse ऑब्जेक्ट से ठीक होता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को उसके बजाय पास कर दिया जाता है.

**ध्यान दें:**जवाब के तौर पर ऐसे नतीजे के लिए मान्य है जो data के किसी सदस्य के साथ SUCCESS हो. इसका मतलब है कि स्कैनर अब भी काम कर रहा है. हालांकि, इसमें अभी कोई और डेटा तैयार नहीं है. कॉल करने वाले को कुछ देर इंतज़ार करना चाहिए और फिर से कोशिश करनी चाहिए.

स्कैन पूरा होने पर, रिस्पॉन्स के नतीजे की वैल्यू EOF होगी. इस जवाब में data का कोई ऐसा सदस्य हो सकता है जो शून्य न हो.

पैरामीटर

  • नौकरी

    स्ट्रिंग

    ऐक्टिव जॉब हैंडल को startScan से वापस लाया गया था.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (response: ReadScanDataResponse) => void

रिटर्न

  • Promise&lt;ReadScanDataResponse&gt;

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

scan()

प्रॉमिस
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)

दस्तावेज़ स्कैन करता है और ऐसा प्रॉमिस देता है जो ScanResults ऑब्जेक्ट के साथ रिज़ॉल्व हो जाता है. अगर इस फ़ंक्शन में कॉलबैक को पास किया जाता है, तो लौटाए गए डेटा को इसके बजाय पास कर दिया जाता है.

पैरामीटर

  • विकल्प

    एक ऑब्जेक्ट, जिसमें स्कैन पैरामीटर शामिल हैं.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (result: ScanResults) => void

रिटर्न

  • Promise&lt;ScanResults&gt;

    Chrome 96 और उसके बाद के वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

setOptions()

प्रॉमिस Chrome 125 और उसके बाद वाले वर्शन के लिए
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)

चुने गए स्कैनर पर विकल्प सेट करता है. साथ ही, ऐसा प्रॉमिस देता है जो SetOptionsResponse ऑब्जेक्ट के साथ ठीक होता है. इसमें, पास किए गए OptionSetting ऑब्जेक्ट के क्रम में हर वैल्यू को सेट करने की कोशिश करने पर नतीजा मिलता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को उसके बजाय पास कर दिया जाता है.

पैरामीटर

  • scannerHandle

    स्ट्रिंग

    विकल्पों को सेट करने के लिए, स्कैनर का हैंडल. यह ऐसी वैल्यू होनी चाहिए जो पहले openScanner को किए गए कॉल के दौरान मिली हो.

  • विकल्प

    स्कैनर पर लागू किए जाने वाले OptionSetting ऑब्जेक्ट की सूची.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (response: SetOptionsResponse) => void

रिटर्न

  • Promise&lt;SetOptionsResponse&gt;

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

startScan()

प्रॉमिस Chrome 125 और उसके बाद वाले वर्शन के लिए
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)

दिए गए स्कैनर पर स्कैन शुरू करता है और ऐसा प्रॉमिस देता है जो StartScanResponse से ठीक होता है. अगर कॉलबैक का इस्तेमाल किया जाता है, तो ऑब्जेक्ट को उसके बजाय पास कर दिया जाता है. अगर कॉल पूरा होता है, तो रिस्पॉन्स में जॉब हैंडल शामिल होता है. इसका इस्तेमाल, आगे के कॉल में स्कैन डेटा पढ़ने या स्कैन रद्द करने के लिए किया जा सकता है.

पैरामीटर

  • scannerHandle

    स्ट्रिंग

    खुले हुए स्कैनर का हैंडल. यह ऐसी वैल्यू होनी चाहिए जो पहले openScanner को किए गए कॉल के दौरान मिली हो.

  • विकल्प

    StartScanOptions ऑब्जेक्ट, जो स्कैन करने के लिए इस्तेमाल किए जाने वाले विकल्पों को दिखाता है. StartScanOptions.format प्रॉपर्टी, स्कैनर के ScannerInfo में दिखाई गई किसी एक एंट्री से मेल खानी चाहिए.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (response: StartScanResponse) => void

रिटर्न

  • Promise&lt;StartScanResponse&gt;

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.