chrome.documentScan

বিবরণ

সংযুক্ত ডকুমেন্ট স্ক্যানার থেকে ছবি আবিষ্কার এবং পুনরুদ্ধার করতে chrome.documentScan API ব্যবহার করুন।

ডকুমেন্ট স্ক্যান এপিআই এমনভাবে ডিজাইন করা হয়েছে যাতে অ্যাপ এবং এক্সটেনশনগুলি একটি সংযুক্ত ডকুমেন্ট স্ক্যানারে কাগজের নথির বিষয়বস্তু দেখতে পারে।

অনুমতিসমূহ

documentScan

উপস্থিতি

শুধুমাত্র Chrome 44+ ChromeOS
পরে যোগ করা API সদস্যদের জন্য উপলব্ধতা সেই সদস্যদের সাথে দেখানো হয়েছে।

ধারণা এবং ব্যবহার

এই API দুটি পদ্ধতিতে ডকুমেন্ট স্ক্যান করতে পারে। যদি আপনার ব্যবহারের ক্ষেত্রে যেকোনো স্ক্যানারের সাথে কাজ করতে পারে এবং কনফিগারেশন নিয়ন্ত্রণের প্রয়োজন না হয়, scan() পদ্ধতি ব্যবহার করুন। আরও জটিল ব্যবহারের ক্ষেত্রে পদ্ধতির সংমিশ্রণ প্রয়োজন, যা শুধুমাত্র Chrome 124 এবং পরবর্তী সংস্করণগুলিতে সমর্থিত।

সহজ স্ক্যানিং

সাধারণ ব্যবহারের ক্ষেত্রে, অর্থাৎ যেগুলি যেকোনো স্ক্যানারের সাথে কাজ করতে পারে এবং কনফিগারেশন নিয়ন্ত্রণের প্রয়োজন হয় না, scan() কল করুন। এই পদ্ধতিটি একটি ScanOptions অবজেক্ট নেয় এবং একটি Promise ফেরত দেয় যা ScanResults অবজেক্টের সাথে সমাধান করে। এই বিকল্পের ক্ষমতা স্ক্যানের সংখ্যা এবং কলার দ্বারা গৃহীত MIME প্রকারের মধ্যে সীমাবদ্ধ। স্ক্যানগুলি একটি ব্যবহারকারী ইন্টারফেসের জন্য <img> ট্যাগে প্রদর্শনের জন্য URL হিসাবে ফেরত পাঠানো হয়।

জটিল স্ক্যানিং

এই বিভাগে বর্ণিত জটিল স্ক্যানগুলি তিনটি ধাপে সম্পন্ন করা হয়। এই রূপরেখাটি প্রতিটি পদ্ধতির যুক্তি বা প্রতিক্রিয়ায় ফিরে আসা প্রতিটি বৈশিষ্ট্য বর্ণনা করে না। এটি কেবল আপনাকে স্ক্যানার কোড লেখার জন্য একটি সাধারণ নির্দেশিকা দেওয়ার উদ্দেশ্যে তৈরি।

আবিষ্কার

  1. getScannerList() এ কল করুন। উপলব্ধ স্ক্যানারগুলি একটি প্রতিশ্রুতিতে ফেরত পাঠানো হয় যা GetScannerListResponse দিয়ে সমাধান করা হয়।

    • রেসপন্স অবজেক্টে ScannerInfo অবজেক্টের একটি অ্যারে রয়েছে।
    • যদি একটি স্ক্যানারের একাধিক প্রোটোকল বা সংযোগ পদ্ধতি সমর্থন করে, তাহলে অ্যারেতে একটি একক স্ক্যানারের জন্য একাধিক এন্ট্রি থাকতে পারে।
  2. ফিরে আসা অ্যারে থেকে একটি স্ক্যানার নির্বাচন করুন এবং এর scannerId প্রোপার্টির মান সংরক্ষণ করুন।

    একই স্ক্যানারের জন্য একাধিক বস্তুর মধ্যে পার্থক্য করার জন্য পৃথক ScannerInfo বস্তুর বৈশিষ্ট্য ব্যবহার করুন। একই স্ক্যানারের বস্তুর deviceUuid সম্পত্তির জন্য একই মান থাকবে। ScannerInfo একটি imageFormats সম্পত্তিও রয়েছে যাতে সমর্থিত চিত্রের ধরণের একটি অ্যারে থাকে।

স্ক্যানার কনফিগারেশন

  1. openScanner() কল করুন, সংরক্ষিত স্ক্যানার আইডিটি প্রবেশ করান। এটি একটি প্রতিশ্রুতি প্রদান করে যা OpenScannerResponse দিয়ে সমাধান করা হয়। প্রতিক্রিয়া অবজেক্টটিতে রয়েছে:

    • একটি scannerHandle প্রপার্টি, যা আপনাকে সংরক্ষণ করতে হবে।

    • স্ক্যানার-নির্দিষ্ট বৈশিষ্ট্য সম্বলিত একটি বিকল্প বৈশিষ্ট্য, যা আপনাকে সেট করতে হবে। আরও তথ্যের জন্য স্ক্যানার বিকল্পগুলি পুনরুদ্ধার করুন দেখুন।

  2. (ঐচ্ছিক) যদি আপনার ব্যবহারকারীকে স্ক্যানার বিকল্পগুলির জন্য মান প্রদান করতে হয়, তাহলে একটি ব্যবহারকারী ইন্টারফেস তৈরি করুন। আপনার পূর্ববর্তী ধাপে প্রদত্ত স্ক্যানার বিকল্পগুলির প্রয়োজন হবে এবং আপনাকে স্ক্যানার দ্বারা প্রদত্ত বিকল্প গোষ্ঠীগুলি পুনরুদ্ধার করতে হবে। আরও তথ্যের জন্য একটি ব্যবহারকারী ইন্টারফেস তৈরি করুন দেখুন।

  3. প্রোগ্রাম্যাটিক বা ব্যবহারকারী-প্রদত্ত মান ব্যবহার করে OptionSetting অবজেক্টের একটি অ্যারে তৈরি করুন। আরও তথ্যের জন্য Set স্ক্যানার বিকল্পগুলি দেখুন।

  4. স্ক্যানারের জন্য অপশন সেট করার জন্য OptionSetting অবজেক্টের অ্যারে setOptions() এ পাস করুন। এটি একটি Promise প্রদান করে যা SetOptionsResponse দিয়ে সমাধান করে। এই অবজেক্টে স্ক্যানার কনফিগারেশনের ধাপ ১ এ পুনরুদ্ধার করা স্ক্যানার অপশনের একটি আপডেটেড সংস্করণ রয়েছে।

    যেহেতু একটি বিকল্প পরিবর্তন করলে অন্য বিকল্পের সীমাবদ্ধতা পরিবর্তন হতে পারে, তাই আপনাকে এই পদক্ষেপগুলি বেশ কয়েকবার পুনরাবৃত্তি করতে হতে পারে।

স্ক্যানিং

  1. একটি StartScanOptions অবজেক্ট তৈরি করুন এবং এটি startScan() এ পাস করুন। এটি একটি Promise প্রদান করে যা StartScanResponse দিয়ে সমাধান করে। এর job বৈশিষ্ট্য হল একটি হ্যান্ডেল যা আপনি স্ক্যান ডেটা পড়তে বা স্ক্যান বাতিল করতে ব্যবহার করবেন।

  2. জব হ্যান্ডেলটি readScanData() এ পাস করুন। এটি একটি Promise প্রদান করে যা একটি ReadScanDataResponse অবজেক্টের সাথে সমাধান করে। যদি ডেটা সফলভাবে পড়া হয়, তাহলে এর result প্রোপার্টি SUCCESS সমান এবং এর data প্রোপার্টিতে স্ক্যানের অংশ সহ একটি ArrayBuffer থাকে। মনে রাখবেন যে estimatedCompletion এখন পর্যন্ত বিতরণ করা মোট ডেটার আনুমানিক শতাংশ রয়েছে।

  3. পূর্ববর্তী ধাপটি পুনরাবৃত্তি করুন যতক্ষণ না 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 }
}

উদাহরণস্বরূপ, কল্পনা করুন যে একটি স্ক্যানার "source" এবং "resolution" নামক বিকল্পগুলি ফেরত দেয়। ফেরত দেওয়া options বস্তুর গঠনটি নিম্নলিখিত উদাহরণের মতো দেখতে হবে। সরলতার জন্য, শুধুমাত্র আংশিক ScannerOption প্রতিক্রিয়াগুলি দেখানো হয়েছে।

{
  "source": {
    "name": "source",
    "type": OptionType.STRING,
...
},
  "resolution": {
    "name": "resolution",
    "type": OptionType.INT,
...
  },
...
}

একটি ইউজার ইন্টারফেস তৈরি করুন

যদিও এই API ব্যবহার করার প্রয়োজন নেই, আপনি একজন ব্যবহারকারীকে একটি নির্দিষ্ট বিকল্পের জন্য মান নির্বাচন করতে বলতে পারেন। এর জন্য একটি ব্যবহারকারী ইন্টারফেস প্রয়োজন। পূর্ববর্তী বিভাগে বর্ণিত সংযুক্ত স্ক্যানারের বিকল্পগুলি পুনরুদ্ধার করতে OpenScannerResponse ( openScanner() দ্বারা খোলা) ব্যবহার করুন।

কিছু স্ক্যানার ডিভাইস-নির্দিষ্ট উপায়ে বিকল্পগুলিকে গ্রুপ করে। এগুলি বিকল্প আচরণকে প্রভাবিত করে না, তবে যেহেতু এই গ্রুপগুলি স্ক্যানারের পণ্য ডকুমেন্টেশনে উল্লেখ করা যেতে পারে, তাই এই গ্রুপগুলি ব্যবহারকারীকে দেখানো উচিত। আপনি getOptionGroups() কল করে এই গ্রুপগুলি পুনরুদ্ধার করতে পারেন। এটি একটি প্রতিশ্রুতি প্রদান করে যা একটি GetOptionGroupsResponse অবজেক্টের সাথে সমাধান করে। এর groups সম্পত্তিতে স্ক্যানার-নির্দিষ্ট গ্রুপগুলির একটি অ্যারে রয়েছে। প্রদর্শনের জন্য OpenScannerResponse এ বিকল্পগুলি সংগঠিত করতে এই গ্রুপগুলির তথ্য ব্যবহার করুন।

{
  scannerHandle: "123456",
  result: SUCCESS,
  groups: [
    {
      title: "Standard",
      members: [ "resolution", "mode", "source" ]
    }
  ]
}

স্ক্যানার কনফিগারেশনের অধীনে যেমন বলা হয়েছে, একটি বিকল্প পরিবর্তন করলে অন্য বিকল্পের সীমাবদ্ধতা পরিবর্তন হতে পারে। এই কারণেই setOptionsResponse ( setOptions() এর প্রতিক্রিয়া অবজেক্ট) অন্য options বৈশিষ্ট্য ধারণ করে। ইউজার ইন্টারফেস আপডেট করতে এটি ব্যবহার করুন। তারপর সমস্ত বিকল্প সেট না হওয়া পর্যন্ত প্রয়োজন অনুসারে পুনরাবৃত্তি করুন।

স্ক্যানার বিকল্প সেট করুন

OptionSetting অবজেক্টের একটি অ্যারে setOptions() তে পাস করে স্ক্যানার বিকল্পগুলি সেট করুন। উদাহরণস্বরূপ, নিম্নলিখিত স্ক্যান এক অক্ষরের আকারের পৃষ্ঠা বিভাগটি দেখুন।

উদাহরণ

একটি পৃষ্ঠাকে ব্লব হিসেবে পুনরুদ্ধার করুন

এই উদাহরণে স্ক্যানার থেকে একটি পৃষ্ঠাকে ব্লব হিসেবে পুনরুদ্ধার করার একটি উপায় দেখানো হয়েছে এবং 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 না হলেও, হ্যান্ডেলটি অবৈধ হবে এবং পরবর্তী কোনও ক্রিয়াকলাপের জন্য এটি ব্যবহার করা উচিত নয়।

  • স্ক্যানারহ্যান্ডেল

    স্ট্রিং

    closeScanner এ যে স্ক্যানার হ্যান্ডেলটি দেওয়া হয়েছিল, সেই একই হ্যান্ডেল।

Configurability

ক্রোম ১২৫+

কিভাবে একটি বিকল্প পরিবর্তন করা যেতে পারে।

এনাম

"কনফিগারযোগ্য নয়"
বিকল্পটি কেবল পঠনযোগ্য।

"সফ্টওয়্যার_কনফিগারযোগ্য"
বিকল্পটি সফ্টওয়্যারে সেট করা যেতে পারে।

"হার্ডওয়্যার_কনফিগারেবল"
ব্যবহারকারী স্ক্যানারের একটি বোতাম টগল করে বা চাপ দিয়ে বিকল্পটি সেট করতে পারেন।

ConnectionType

ক্রোম ১২৫+

স্ক্যানারটি কম্পিউটারের সাথে কীভাবে সংযুক্ত তা নির্দেশ করে।

এনাম

"অনির্দিষ্ট"

"ইউএসবি"

"নেটওয়ার্ক"

ConstraintType

ক্রোম ১২৫+

OptionConstraint দ্বারা উপস্থাপিত ডেটা ধরণের সীমাবদ্ধতা।

এনাম

"INT_RANGE"
OptionType.INT মানের একটি পরিসরের সীমাবদ্ধতা। OptionConstraint এর min , max এবং quant বৈশিষ্ট্যগুলি long হবে এবং এর list বৈশিষ্ট্যগুলি সেট করা থাকবে না।

"স্থির_রেঞ্জ"
OptionType.FIXED মানের একটি পরিসরের সীমাবদ্ধতা। OptionConstraint এর min , max , এবং quant বৈশিষ্ট্যগুলি double হবে এবং এর list বৈশিষ্ট্যটি আনসেট করা হবে।

"INT_LIST"
OptionType.INT মানের একটি নির্দিষ্ট তালিকার সীমাবদ্ধতা। OptionConstraint.list সম্পত্তিতে long মান থাকবে এবং অন্যান্য বৈশিষ্ট্যগুলি সেট করা থাকবে না।

"স্থির_তালিকা"
OptionType.FIXED মানের একটি নির্দিষ্ট তালিকার সীমাবদ্ধতা। OptionConstraint.list সম্পত্তিতে double মান থাকবে এবং অন্যান্য বৈশিষ্ট্যগুলি সেট করা থাকবে না।

"STRING_LIST"
OptionType.STRING মানের একটি নির্দিষ্ট তালিকার সীমাবদ্ধতা। OptionConstraint.list সম্পত্তিতে DOMString মান থাকবে এবং অন্যান্য বৈশিষ্ট্যগুলি সেট করা থাকবে না।

DeviceFilter

ক্রোম ১২৫+

বৈশিষ্ট্য

  • স্থানীয়

    বুলিয়ান ঐচ্ছিক

    শুধুমাত্র কম্পিউটারের সাথে সরাসরি সংযুক্ত স্ক্যানারগুলি ফেরত দিন।

  • নিরাপদ

    বুলিয়ান ঐচ্ছিক

    শুধুমাত্র সেইসব স্ক্যানার ফেরত দিন যেগুলো USB বা TLS এর মতো নিরাপদ পরিবহন ব্যবহার করে।

GetOptionGroupsResponse

ক্রোম ১২৫+

বৈশিষ্ট্য

  • দল

    অপশনগ্রুপ [] ঐচ্ছিক

    যদি result SUCCESS হয়, তাহলে স্ক্যানার ড্রাইভার দ্বারা সরবরাহিত ক্রমে বিকল্প গ্রুপগুলির একটি তালিকা প্রদান করে।

  • অপশন গ্রুপ পাওয়ার ফলাফল। যদি এর মান SUCCESS হয়, তাহলে groups সম্পত্তিটি পূরণ করা হবে।

  • স্ক্যানারহ্যান্ডেল

    স্ট্রিং

    getOptionGroups এ যে স্ক্যানার হ্যান্ডেলটি পাঠানো হয়েছিল, সেই একই হ্যান্ডেল।

GetScannerListResponse

ক্রোম ১২৫+

বৈশিষ্ট্য

  • গণনার ফলাফল। মনে রাখবেন যে আংশিক ফলাফল ফেরত পাঠানো যেতে পারে এমনকি যদি এটি একটি ত্রুটি নির্দেশ করে।

  • স্ক্যানার

    প্রদত্ত DeviceFilter সাথে মেলে এমন স্ক্যানারের একটি সম্ভবত-খালি তালিকা।

OpenScannerResponse

ক্রোম ১২৫+

বৈশিষ্ট্য

  • বিকল্পগুলি

    ঐচ্ছিক বস্তু

    যদি result SUCCESS হয়, তাহলে একটি কী-মান ম্যাপিং প্রদান করে যেখানে কীটি একটি ডিভাইস-নির্দিষ্ট বিকল্প এবং মানটি ScannerOption এর একটি উদাহরণ।

  • স্ক্যানার খোলার ফলাফল। যদি এর মান SUCCESS হয়, তাহলে scannerHandle এবং options বৈশিষ্ট্যগুলি পূরণ করা হবে।

  • স্ক্যানারহ্যান্ডেল

    স্ট্রিং ঐচ্ছিক

    যদি result SUCCESS হয়, তাহলে স্ক্যানারের একটি হ্যান্ডেল যা পরবর্তী ক্রিয়াকলাপের জন্য ব্যবহার করা যেতে পারে।

  • স্ক্যানার আইডি

    স্ট্রিং

    স্ক্যানার আইডিটি openScanner() এ পাঠানো হয়েছে।

OperationResult

ক্রোম ১২৫+

একটি enum যা প্রতিটি অপারেশনের ফলাফল নির্দেশ করে।

এনাম

"অজানা"
একটি অজানা বা সাধারণ ব্যর্থতা ঘটেছে।

"সাফল্য"
অপারেশন সফল হয়েছে।

"অসমর্থিত"
এই অপারেশনটি সমর্থিত নয়।

"বাতিল"
অপারেশনটি বাতিল করা হয়েছে।

"ডিভাইস_ব্যস্ত"
ডিভাইসটি ব্যস্ত।

"অবৈধ"
পদ্ধতিতে প্রদত্ত ডেটা অথবা কোনও আর্গুমেন্ট বৈধ নয়।

"ভুল_প্রকার"
সরবরাহকৃত মানটি অন্তর্নিহিত বিকল্পের জন্য ভুল ডেটা টাইপ।

"ইওএফ"
আর কোন তথ্য পাওয়া যাচ্ছে না।

"ADF_JAMMED"
ডকুমেন্ট ফিডার জ্যাম হয়ে গেছে।

"ADF_EMPTY"
ডকুমেন্ট ফিডারটি খালি।

"কভার_খোলা"
ফ্ল্যাটবেডের কভারটি খোলা আছে।

"IO_ত্রুটি"
ডিভাইসের সাথে যোগাযোগ করার সময় একটি ত্রুটি ঘটেছে।

"অধিগ্রহণ_অস্বীকৃতি"
ডিভাইসটির প্রমাণীকরণ প্রয়োজন।

"নো_মেমরি"
এই কাজটি সম্পন্ন করার জন্য Chromebook-এ পর্যাপ্ত মেমোরি নেই।

"অপ্রাপ্য"
ডিভাইসটি পৌঁছানো যাচ্ছে না।

"নিখোঁজ"
ডিভাইসটি সংযোগ বিচ্ছিন্ন।

"অভ্যন্তরীণ_ত্রুটি"
কলিং অ্যাপ্লিকেশন ছাড়া অন্য কোথাও একটি ত্রুটি ঘটেছে।

OptionConstraint

ক্রোম ১২৫+

বৈশিষ্ট্য

  • তালিকা

    স্ট্রিং[] | সংখ্যা[] ঐচ্ছিক

  • সর্বোচ্চ

    সংখ্যা ঐচ্ছিক

  • মিনিট

    সংখ্যা ঐচ্ছিক

  • পরিমাণ

    সংখ্যা ঐচ্ছিক

OptionGroup

ক্রোম ১২৫+

বৈশিষ্ট্য

  • সদস্যরা

    স্ট্রিং[]

    ড্রাইভার-প্রদত্ত ক্রমে বিকল্প নামের একটি অ্যারে।

  • শিরোনাম

    স্ট্রিং

    একটি মুদ্রণযোগ্য শিরোনাম প্রদান করে, উদাহরণস্বরূপ "জ্যামিতি বিকল্প"।

OptionSetting

ক্রোম ১২৫+

বৈশিষ্ট্য

  • নাম

    স্ট্রিং

    সেট করার বিকল্পের নাম নির্দেশ করে।

  • আদর্শ

    বিকল্পের ডেটা টাইপ নির্দেশ করে। অনুরোধ করা ডেটা টাইপটি অন্তর্নিহিত বিকল্পের আসল ডেটা টাইপের সাথে মিলতে হবে।

  • মূল্য

    স্ট্রিং | সংখ্যা | বুলিয়ান | সংখ্যা[] ঐচ্ছিক

    সেট করার জন্য মান নির্দেশ করে। autoSettable সক্ষম করা বিকল্পগুলির জন্য স্বয়ংক্রিয় সেটিং অনুরোধ করতে সেট না করে ছেড়ে দিন। value জন্য সরবরাহ করা ডেটা টাইপ অবশ্যই type সাথে মেলে।

OptionType

ক্রোম ১২৫+

একটি বিকল্পের ডেটা টাইপ।

এনাম

"অজানা"
অপশনটির ডেটা টাইপ অজানা। value বৈশিষ্ট্যটি সেট করা হবে না।

"বুল"
value সম্পত্তিটি true মিথ্যার একটি হবে।

"আইএনটি"
একটি স্বাক্ষরিত ৩২-বিট পূর্ণসংখ্যা। বিকল্পটি একাধিক মান গ্রহণ করে কিনা তার উপর নির্ভর করে value বৈশিষ্ট্যটি দীর্ঘ বা দীর্ঘ[] হবে।

"স্থির"
-৩২৭৬৮-৩২৭৬৭.৯৯৯৯ রেঞ্জের মধ্যে একটি দ্বিগুণ যার রেজোলিউশন ১/৬৫৫৩৫। বিকল্পটি একাধিক মান গ্রহণ করে কিনা তার উপর নির্ভর করে value বৈশিষ্ট্যটি দ্বিগুণ বা দ্বিগুণ[] হবে। যে দ্বিগুণ মানগুলি সঠিকভাবে উপস্থাপন করা যায় না সেগুলিকে উপলব্ধ পরিসর এবং নির্ভুলতার সাথে পূর্ণাঙ্গ করা হবে।

"স্ট্রিং"
NUL ('\0') ব্যতীত যেকোনো বাইটের একটি ক্রম। value বৈশিষ্ট্যটি একটি DOMString হবে।

"বোতাম"
এই ধরণের বিকল্পের কোনও মূল্য নেই। পরিবর্তে, এই ধরণের বিকল্প সেট করলে স্ক্যানার ড্রাইভারে একটি বিকল্প-নির্দিষ্ট পার্শ্ব প্রতিক্রিয়া দেখা দেয়। উদাহরণস্বরূপ, একটি বোতাম-টাইপ করা বিকল্পটি স্ক্যানার ড্রাইভার দ্বারা ডিফল্ট মান নির্বাচন করার জন্য একটি উপায় প্রদান করতে বা একটি স্বয়ংক্রিয় ডকুমেন্ট ফিডারকে পরবর্তী কাগজের শীটে অগ্রসর হতে বলার জন্য ব্যবহার করা যেতে পারে।

"গ্রুপ"
গ্রুপিং অপশন। কোন মান নেই। এটি সামঞ্জস্যের জন্য অন্তর্ভুক্ত, কিন্তু সাধারণত ScannerOption মানগুলিতে ফেরত দেওয়া হবে না। সদস্য বিকল্প সহ গ্রুপগুলির তালিকা পুনরুদ্ধার করতে getOptionGroups() ব্যবহার করুন।

OptionUnit

ক্রোম ১২৫+

ScannerOption.unit এর ডেটা টাইপ নির্দেশ করে।

এনাম

"একত্বহীন"
মানটি একটি এককবিহীন সংখ্যা। উদাহরণস্বরূপ, এটি একটি থ্রেশহোল্ড হতে পারে।

"পিক্সেল"
মানটি হল পিক্সেলের সংখ্যা, উদাহরণস্বরূপ, স্ক্যানের মাত্রা।

"বিট"
মান হল বিটের সংখ্যা, উদাহরণস্বরূপ, রঙের গভীরতা।

"এমএম"
মানটি মিলিমিটারে পরিমাপ করা হয়, উদাহরণস্বরূপ, স্ক্যান মাত্রা।

"ডিপিআই"
মানটি প্রতি ইঞ্চিতে বিন্দুতে পরিমাপ করা হয়, উদাহরণস্বরূপ, রেজোলিউশন।

"শতাংশ"
মানটি একটি শতাংশ, উদাহরণস্বরূপ, উজ্জ্বলতা।

"মাইক্রোসেকন্ড"
মানটি মাইক্রোসেকেন্ডে পরিমাপ করা হয়, উদাহরণস্বরূপ, এক্সপোজার সময়।

ReadScanDataResponse

ক্রোম ১২৫+

বৈশিষ্ট্য

  • তথ্য

    অ্যারেবাফার ঐচ্ছিক

    যদি result SUCCESS হয়, তাহলে স্ক্যান করা ছবির ডেটার পরবর্তী অংশটি থাকবে। যদি result EOF হয়, তাহলে স্ক্যান করা ছবির ডেটার শেষ অংশটি থাকবে।

  • আনুমানিক সমাপ্তি

    সংখ্যা ঐচ্ছিক

    যদি result SUCCESS হয়, তাহলে মোট স্ক্যান ডেটার কত অংশ এখন পর্যন্ত বিতরণ করা হয়েছে তার একটি অনুমান, 0 থেকে 100 এর মধ্যে।

  • চাকরি

    স্ট্রিং

    readScanData() এ পাস করা কাজের হ্যান্ডেল প্রদান করে।

  • ডেটা পড়ার ফলাফল। যদি এর মান SUCCESS হয়, তাহলে data পরবর্তী (সম্ভবত শূন্য-দৈর্ঘ্যের) চিত্র ডেটার অংশ থাকে যা পড়ার জন্য প্রস্তুত। যদি এর মান EOF হয়, তাহলে data চিত্র ডেটার শেষ অংশটি থাকে।

ScannerInfo

ক্রোম ১২৫+

বৈশিষ্ট্য

  • সংযোগের ধরণ

    স্ক্যানারটি কম্পিউটারের সাথে কীভাবে সংযুক্ত তা নির্দেশ করে।

  • ডিভাইসইউইউআইডি

    স্ট্রিং

    একই ভৌত ডিভাইসের দিকে নির্দেশ করে এমন অন্যান্য ScannerInfo এন্ট্রির সাথে মেলানোর জন্য।

  • চিত্র বিন্যাস

    স্ট্রিং[]

    MIME ধরণের একটি অ্যারে যা ফেরত স্ক্যানের জন্য অনুরোধ করা যেতে পারে।

  • প্রস্তুতকারক

    স্ট্রিং

    স্ক্যানার প্রস্তুতকারক।

  • মডেল

    স্ট্রিং

    স্ক্যানার মডেল যদি পাওয়া যায়, অথবা একটি সাধারণ বিবরণ।

  • নাম

    স্ট্রিং

    UI-তে প্রদর্শিত স্ক্যানারের জন্য একটি মানুষের পঠনযোগ্য নাম।

  • প্রোটোকল টাইপ

    স্ট্রিং

    স্ক্যানার অ্যাক্সেস করার জন্য ব্যবহৃত প্রোটোকল বা ড্রাইভারের একটি মানব-পঠনযোগ্য বর্ণনা, যেমন Mopria, WSD, অথবা epsonds। এটি প্রাথমিকভাবে ব্যবহারকারীকে প্রোটোকলের মধ্যে একটি বেছে নেওয়ার অনুমতি দেওয়ার জন্য কার্যকর যদি একটি ডিভাইস একাধিক প্রোটোকল সমর্থন করে।

  • স্ক্যানার আইডি

    স্ট্রিং

    একটি নির্দিষ্ট স্ক্যানারের আইডি।

  • নিরাপদ

    বুলিয়ান

    যদি সত্য হয়, তাহলে স্ক্যানার সংযোগের পরিবহন কোনও প্যাসিভ লিসেনার, যেমন TLS বা USB দ্বারা আটকানো যাবে না।

ScannerOption

ক্রোম ১২৫+

বৈশিষ্ট্য

  • কনফিগারযোগ্যতা

    বিকল্পটি পরিবর্তন করা যাবে কিনা এবং কীভাবে তা নির্দেশ করে।

  • সীমাবদ্ধতা

    বর্তমান স্ক্যানার বিকল্পের উপর OptionConstraint সংজ্ঞায়িত করে।

  • বর্ণনা

    স্ট্রিং

    বিকল্পটির আরও দীর্ঘ বর্ণনা।

  • সক্রিয়

    বুলিয়ান

    নির্দেশ করে যে বিকল্পটি সক্রিয় এবং সেট বা পুনরুদ্ধার করা যেতে পারে। যদি মিথ্যা হয়, তাহলে value বৈশিষ্ট্য সেট করা হবে না।

  • উন্নত

    বুলিয়ান

    নির্দেশ করে যে UI ডিফল্টরূপে এই বিকল্পটি প্রদর্শন করা উচিত নয়।

  • অটোসেটেবল

    বুলিয়ান

    স্ক্যানার ড্রাইভার দ্বারা স্বয়ংক্রিয়ভাবে সেট করা যেতে পারে।

  • সনাক্তযোগ্য

    বুলিয়ান

    নির্দেশ করে যে এই বিকল্পটি সফ্টওয়্যার থেকে সনাক্ত করা যেতে পারে।

  • ইমুলেট করা হয়েছে

    বুলিয়ান

    যদি সত্য হয়, তাহলে স্ক্যানার ড্রাইভার দ্বারা অনুকরণ করা হয়েছে।

  • নাম

    স্ট্রিং

    ছোট হাতের ASCII অক্ষর, সংখ্যা এবং ড্যাশ ব্যবহার করে বিকল্পের নাম। ডায়াক্রিটিক ব্যবহার করা যাবে না।

  • শিরোনাম

    স্ট্রিং

    একটি মুদ্রণযোগ্য এক-লাইন শিরোনাম।

  • আদর্শ

    এই বিকল্পটি সেট করার জন্য প্রয়োজনীয় value বৈশিষ্ট্যে থাকা ডেটা টাইপ।

  • এই বিকল্পের পরিমাপের একক।

  • মূল্য

    স্ট্রিং | সংখ্যা | বুলিয়ান | সংখ্যা[] ঐচ্ছিক

    বিকল্পের বর্তমান মান, যদি প্রাসঙ্গিক হয়। মনে রাখবেন যে এই বৈশিষ্ট্যের ডেটা টাইপ অবশ্যই type উল্লেখিত ডেটা টাইপের সাথে মিলবে।

ScanOptions

বৈশিষ্ট্য

  • সর্বোচ্চ ছবি

    সংখ্যা ঐচ্ছিক

    অনুমোদিত স্ক্যান করা ছবির সংখ্যা। ডিফল্ট হল ১।

  • মাইমটাইপস

    স্ট্রিং[] ঐচ্ছিক

    কলার কর্তৃক গৃহীত MIME প্রকারগুলি।

ScanResults

বৈশিষ্ট্য

  • ডেটা ইউআরএল

    স্ট্রিং[]

    একটি ফর্মে ডেটা ইমেজ URL গুলির একটি অ্যারে যা "src" মান হিসাবে একটি ইমেজ ট্যাগে পাস করা যেতে পারে।

  • মাইমটাইপ

    স্ট্রিং

    dataUrls এর MIME প্রকার।

SetOptionResult

ক্রোম ১২৫+

বৈশিষ্ট্য

  • নাম

    স্ট্রিং

    সেট করা বিকল্পের নাম নির্দেশ করে।

  • বিকল্পটি সেট করার ফলাফল নির্দেশ করে।

SetOptionsResponse

ক্রোম ১২৫+

বৈশিষ্ট্য

  • বিকল্পগুলি

    ঐচ্ছিক বস্তু

    সরবরাহকৃত সমস্ত বিকল্প সেট করার চেষ্টা করার পরে নতুন কনফিগারেশন ধারণকারী বিকল্পের নাম থেকে ScannerOption মানগুলিতে একটি আপডেট করা কী-মান ম্যাপিং। এটি OpenScannerResponse এর options বৈশিষ্ট্যের মতো একই কাঠামোর।

    কিছু অপশন সফলভাবে সেট না করা হলেও এই বৈশিষ্ট্যটি সেট করা হবে, কিন্তু আপডেট করা কনফিগারেশন পুনরুদ্ধার করা ব্যর্থ হলে (উদাহরণস্বরূপ, যদি স্ক্যানারটি স্ক্যান করার মাঝখানে সংযোগ বিচ্ছিন্ন হয়ে যায়) সেট করা হবে না।

  • ফলাফলের একটি অ্যারে, প্রতিটি পাস-ইন করা OptionSetting এর জন্য একটি করে।

  • স্ক্যানারহ্যান্ডেল

    স্ট্রিং

    setOptions() এ পাস করা স্ক্যানার হ্যান্ডেল প্রদান করে।

StartScanOptions

ক্রোম ১২৫+

বৈশিষ্ট্য

  • বিন্যাস

    স্ট্রিং

    স্ক্যান করা ডেটা ফেরত দেওয়ার জন্য MIME প্রকার নির্দিষ্ট করে।

  • সর্বোচ্চ পঠনযোগ্য আকার

    সংখ্যা ঐচ্ছিক

    যদি একটি অ-শূন্য মান নির্দিষ্ট করা থাকে, তাহলে একটি একক readScanData প্রতিক্রিয়ায় সেই মানের প্রতি সর্বাধিক স্ক্যান করা বাইট ফেরত পাঠানোর পরিমাণ সীমিত করে। সর্বনিম্ন অনুমোদিত মান হল 32768 (32 KB)। যদি এই বৈশিষ্ট্যটি নির্দিষ্ট না করা থাকে, তাহলে একটি ফেরত দেওয়া অংশের আকার সম্পূর্ণ স্ক্যান করা ছবির সমান হতে পারে।

StartScanResponse

ক্রোম ১২৫+

বৈশিষ্ট্য

  • চাকরি

    স্ট্রিং ঐচ্ছিক

    যদি result SUCCESS হয়, তাহলে একটি হ্যান্ডেল প্রদান করে যা স্ক্যান ডেটা পড়তে বা কাজ বাতিল করতে ব্যবহার করা যেতে পারে।

  • স্ক্যান শুরু করার ফলাফল। যদি এর মান SUCCESS হয়, তাহলে job সম্পত্তিটি পূরণ করা হবে।

  • স্ক্যানারহ্যান্ডেল

    স্ট্রিং

    startScan() এ পাস করা একই স্ক্যানার হ্যান্ডেল প্রদান করে।

পদ্ধতি

cancelScan()

ক্রোম ১২৫+
chrome.documentScan.cancelScan(
  job: string,
)
: Promise<CancelScanResponse>

একটি শুরু করা স্ক্যান বাতিল করে এবং একটি প্রতিশ্রুতি প্রদান করে যা একটি CancelScanResponse অবজেক্টের সাথে সমাধান করে। যদি একটি কলব্যাক ব্যবহার করা হয়, তাহলে বস্তুটি তার কাছে পাঠানো হয়।

পরামিতি

  • চাকরি

    স্ট্রিং

    পূর্বে startScan এ কল করার পর থেকে একটি সক্রিয় স্ক্যান কাজের হ্যান্ডেল ফিরে এসেছে।

রিটার্নস

closeScanner()

ক্রোম ১২৫+
chrome.documentScan.closeScanner(
  scannerHandle: string,
)
: Promise<CloseScannerResponse>

পাস করা হ্যান্ডেল দিয়ে স্ক্যানারটি বন্ধ করে এবং একটি প্রতিশ্রুতি প্রদান করে যা CloseScannerResponse অবজেক্টের সাথে সমাধান করে। যদি একটি কলব্যাক ব্যবহার করা হয়, তবে বস্তুটি তার কাছে পাঠানো হয়। প্রতিক্রিয়া সফল না হলেও, সরবরাহ করা হ্যান্ডেলটি অবৈধ হয়ে যায় এবং পরবর্তী ক্রিয়াকলাপের জন্য ব্যবহার করা উচিত নয়।

পরামিতি

  • স্ক্যানারহ্যান্ডেল

    স্ট্রিং

    একটি খোলা স্ক্যানারের হ্যান্ডেল নির্দিষ্ট করে যা পূর্বে openScanner এ কল থেকে ফিরে এসেছিল।

রিটার্নস

getOptionGroups()

ক্রোম ১২৫+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
)
: Promise<GetOptionGroupsResponse>

openScanner দ্বারা পূর্বে খোলা স্ক্যানার থেকে গ্রুপের নাম এবং সদস্য বিকল্পগুলি পায়। এই পদ্ধতিটি একটি প্রতিশ্রুতি প্রদান করে যা একটি GetOptionGroupsResponse অবজেক্টের সাথে সমাধান করে। যদি এই ফাংশনে একটি কলব্যাক পাস করা হয়, তাহলে ফেরত দেওয়া ডেটা পরিবর্তে এতে প্রেরণ করা হয়।

পরামিতি

  • স্ক্যানারহ্যান্ডেল

    স্ট্রিং

    openScanner এ কল করার পর একটি খোলা স্ক্যানারের হ্যান্ডেলটি ফিরে এসেছে।

রিটার্নস

  • প্রতিশ্রুতি< GetOptionGroupsResponse >

    একটি প্রতিশ্রুতি প্রদান করে যা ফলাফলের সাথে সমাধান হয়।

getScannerList()

ক্রোম ১২৫+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
)
: Promise<GetScannerListResponse>

উপলব্ধ স্ক্যানারের তালিকা পায় এবং একটি প্রতিশ্রুতি প্রদান করে যা একটি GetScannerListResponse অবজেক্টের সাথে সমাধান করে। যদি এই ফাংশনে একটি কলব্যাক পাস করা হয়, তাহলে ফেরত দেওয়া ডেটা পরিবর্তে এতে প্রেরণ করা হয়।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি< GetScannerListResponse >

    একটি প্রতিশ্রুতি প্রদান করে যা ফলাফল এবং স্ক্যানারের তালিকার সাথে সমাধান করে।

openScanner()

ক্রোম ১২৫+
chrome.documentScan.openScanner(
  scannerId: string,
)
: Promise<OpenScannerResponse>

এক্সক্লুসিভ অ্যাক্সেসের জন্য একটি স্ক্যানার খোলে এবং একটি প্রতিশ্রুতি প্রদান করে যা একটি OpenScannerResponse অবজেক্টের সাথে সমাধান করে। যদি এই ফাংশনে একটি কলব্যাক পাস করা হয়, তাহলে ফেরত দেওয়া ডেটা পরিবর্তে এতে প্রেরণ করা হয়।

পরামিতি

  • স্ক্যানার আইডি

    স্ট্রিং

    একটি স্ক্যানারের আইডি যেটি খুলতে হবে। এই মানটি getScannerList এ পূর্ববর্তী কল থেকে ফেরত পাঠানো মান।

রিটার্নস

readScanData()

ক্রোম ১২৫+
chrome.documentScan.readScanData(
  job: string,
)
: Promise<ReadScanDataResponse>

একটি সক্রিয় জব হ্যান্ডেল থেকে উপলব্ধ চিত্র ডেটার পরবর্তী অংশটি পড়ে এবং একটি প্রতিশ্রুতি প্রদান করে যা একটি ReadScanDataResponse অবজেক্টের সাথে সমাধান করে। যদি একটি কলব্যাক ব্যবহার করা হয়, তবে বস্তুটি তার পরিবর্তে পাস করা হয়।

**বিঃদ্রঃ:** শূন্য-দৈর্ঘ্যের data সদস্য সহ প্রতিক্রিয়া ফলাফলের জন্য SUCCESS হওয়া বৈধ। এর অর্থ হল স্ক্যানারটি এখনও কাজ করছে কিন্তু এখনও অতিরিক্ত ডেটা প্রস্তুত নেই। কলকারীর কিছুক্ষণ অপেক্ষা করা উচিত এবং আবার চেষ্টা করা উচিত।

স্ক্যান কাজটি সম্পন্ন হলে, প্রতিক্রিয়াটির ফলাফল মান EOF হবে। এই প্রতিক্রিয়ায় একটি চূড়ান্ত অ-শূন্য data সদস্য থাকতে পারে।

পরামিতি

  • চাকরি

    স্ট্রিং

    startScan থেকে পূর্বে ফিরে আসা সক্রিয় কাজের হ্যান্ডেল।

রিটার্নস

  • প্রতিশ্রুতি< ReadScanDataResponse >

    একটি প্রতিশ্রুতি প্রদান করে যা ফলাফলের সাথে সমাধান হয়।

scan()

chrome.documentScan.scan(
  options: ScanOptions,
)
: Promise<ScanResults>

একটি ডকুমেন্ট স্ক্যান করে এবং একটি প্রতিশ্রুতি প্রদান করে যা একটি ScanResults অবজেক্টের সাথে সমাধান করে। যদি এই ফাংশনে একটি কলব্যাক পাস করা হয়, তাহলে ফেরত পাঠানো ডেটা পরিবর্তে এটিতে পাস করা হয়।

পরামিতি

  • বিকল্পগুলি

    স্ক্যান প্যারামিটার ধারণকারী একটি বস্তু।

রিটার্নস

  • প্রতিশ্রুতি< স্ক্যান ফলাফল >

    ক্রোম ৯৬+

    একটি প্রতিশ্রুতি প্রদান করে যা স্ক্যান ফলাফলের সাথে সমাধান হয়ে যায়।

setOptions()

ক্রোম ১২৫+
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
)
: Promise<SetOptionsResponse>

নির্দিষ্ট স্ক্যানারে অপশন সেট করে এবং একটি প্রতিশ্রুতি প্রদান করে যা একটি SetOptionsResponse অবজেক্টের সাথে সমাধান করে যার মধ্যে পাস-ইন OptionSetting অবজেক্টের ক্রম অনুসারে প্রতিটি মান সেট করার চেষ্টা করার ফলাফল থাকে। যদি একটি কলব্যাক ব্যবহার করা হয়, তাহলে বস্তুটি তার পরিবর্তে পাস করা হয়।

পরামিতি

  • স্ক্যানারহ্যান্ডেল

    স্ট্রিং

    স্ক্যানারের হ্যান্ডেল যেখানে অপশন সেট করতে হবে। এটি openScanner এ কল করার আগে ফেরত দেওয়া একটি মান হওয়া উচিত।

  • বিকল্পগুলি

    স্ক্যানারে প্রয়োগ করার জন্য OptionSetting অবজেক্টের একটি তালিকা।

রিটার্নস

startScan()

ক্রোম ১২৫+
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
)
: Promise<StartScanResponse>

নির্দিষ্ট স্ক্যানারে একটি স্ক্যান শুরু করে এবং একটি প্রতিশ্রুতি প্রদান করে যা StartScanResponse দিয়ে সমাধান করে। যদি একটি কলব্যাক ব্যবহার করা হয়, তাহলে বস্তুটি তার কাছে পাঠানো হয়। যদি কলটি সফল হয়, তাহলে প্রতিক্রিয়াটিতে একটি কাজের হ্যান্ডেল থাকে যা পরবর্তী কলগুলিতে স্ক্যান ডেটা পড়তে বা স্ক্যান বাতিল করতে ব্যবহার করা যেতে পারে।

পরামিতি

  • স্ক্যানারহ্যান্ডেল

    স্ট্রিং

    একটি খোলা স্ক্যানারের হাতল। এটি openScanner এ কল করার পূর্বে ফেরত দেওয়া একটি মান হওয়া উচিত।

  • স্ক্যানের জন্য ব্যবহৃত বিকল্পগুলি নির্দেশ করে এমন একটি StartScanOptions অবজেক্ট। StartScanOptions.format বৈশিষ্ট্যটি অবশ্যই স্ক্যানারের ScannerInfo এ ফেরত দেওয়া যেকোনো একটি এন্ট্রির সাথে মিলবে।

রিটার্নস