chrome.documentScan

বর্ণনা

সংযুক্ত নথি স্ক্যানার থেকে চিত্রগুলি আবিষ্কার এবং পুনরুদ্ধার করতে chrome.documentScan API ব্যবহার করুন৷

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

অনুমতি

documentScan

উপস্থিতি

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

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

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

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

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

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

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

আবিষ্কার

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

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

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

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

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

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

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

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

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

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

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

স্ক্যানিং

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

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

  3. result সম্পত্তি EOF বা একটি ত্রুটি সমান না হওয়া পর্যন্ত পূর্ববর্তী ধাপটি পুনরাবৃত্তি করুন।

স্ক্যান শেষ হলে, 3 ধাপে সংরক্ষিত স্ক্যানার হ্যান্ডেলের সাহায্যে closeScanner() কে কল করুন। এটি একটি প্রতিশ্রুতি প্রদান করে যা একটি CloseScannerResponse এর সাথে সমাধান করে। কাজ তৈরি হওয়ার পর যেকোনো সময় cancelScan() কল করলে স্ক্যানিং শেষ হয়ে যাবে।

প্রতিক্রিয়া বস্তু

সমস্ত পদ্ধতি একটি প্রতিশ্রুতি প্রদান করে যা কিছু ধরণের প্রতিক্রিয়া বস্তুর সাথে সমাধান করে। এর মধ্যে বেশিরভাগের মধ্যে একটি result সম্পত্তি রয়েছে যার মান হল OperationResult এর সদস্য। রেসপন্স অবজেক্টের কিছু বৈশিষ্ট্যে মান থাকবে না যদি না result মানের একটি নির্দিষ্ট মান থাকে। এই সম্পর্কগুলি প্রতিটি প্রতিক্রিয়া বস্তুর জন্য রেফারেন্সে বর্ণিত হয়েছে।

উদাহরণস্বরূপ, OpenScannerResponse.scannerHandle শুধুমাত্র তখনই একটি মান থাকবে যখন OpenScannerResponse.result SUCCESS সমান হবে।

স্ক্যানার বিকল্প

স্ক্যানার বিকল্পগুলি ডিভাইস অনুসারে যথেষ্ট পরিবর্তিত হয়। ফলস্বরূপ, ডকুমেন্টস্ক্যান 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,
...
  },
...
}

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

যদিও এই 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

বিচারাধীন

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

এনাম

"NOT_CONFIGURABLE"
বিকল্পটি শুধুমাত্র পঠনযোগ্য।

"SOFTWARE_CONFIGURABLE"
বিকল্পটি সফ্টওয়্যারে সেট করা যেতে পারে।

"HARDWARE_CONFIGURABLE"
ব্যবহারকারী স্ক্যানারে একটি বোতাম টগল করে বা পুশ করে বিকল্পটি সেট করা যেতে পারে।

ConnectionType

বিচারাধীন

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

এনাম

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

"ইউএসবি"

"অন্তর্জাল"

ConstraintType

বিচারাধীন

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

এনাম

"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

বিচারাধীন

বৈশিষ্ট্য

  • স্থানীয়

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

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

  • নিরাপদ

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

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

GetOptionGroupsResponse

বিচারাধীন

বৈশিষ্ট্য

  • গ্রুপ

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

    result SUCCESS হলে, স্ক্যানার ড্রাইভার দ্বারা সরবরাহকৃত ক্রম অনুসারে বিকল্প গোষ্ঠীগুলির একটি তালিকা প্রদান করে।

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

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

    স্ট্রিং

    getOptionGroups এ পাস করা একই স্ক্যানার হ্যান্ডেল।

GetScannerListResponse

বিচারাধীন

বৈশিষ্ট্য

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

  • স্ক্যানার

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

OpenScannerResponse

বিচারাধীন

বৈশিষ্ট্য

  • বিকল্প

    বস্তু ঐচ্ছিক

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

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

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

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

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

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

    স্ট্রিং

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

OperationResult

বিচারাধীন

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

এনাম

"অজানা"
একটি অজানা বা জেনেরিক ব্যর্থতা ঘটেছে.

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

"অসমর্থিত"
অপারেশন সমর্থিত নয়.

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

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

"অবৈধ"
পদ্ধতিতে পাস করা ডেটা বা একটি যুক্তি বৈধ নয়।

"WRONG_TYPE"
সরবরাহকৃত মান হল অন্তর্নিহিত বিকল্পের জন্য ভুল তথ্য প্রকার।

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

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

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

"COVER_OPEN"
ফ্ল্যাটবেড কভার খোলা।

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

"ACCESS_DENIED"
ডিভাইসটির প্রমাণীকরণ প্রয়োজন।

"NO_MEMORY"
অপারেশন সম্পূর্ণ করার জন্য Chromebook-এ পর্যাপ্ত মেমরি উপলব্ধ নেই৷

"অগম্য"
ডিভাইসটি পৌঁছানো যায় না।

"নিখোঁজ"
ডিভাইস সংযোগ বিচ্ছিন্ন করা হয়েছে.

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

OptionConstraint

বিচারাধীন

বৈশিষ্ট্য

  • তালিকা

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

  • সর্বোচ্চ

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

  • মিনিট

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

  • পরিমাণ

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

OptionGroup

বিচারাধীন

বৈশিষ্ট্য

  • সদস্যদের

    স্ট্রিং[]

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

  • শিরোনাম

    স্ট্রিং

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

OptionSetting

বিচারাধীন

বৈশিষ্ট্য

  • নাম

    স্ট্রিং

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

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

  • মান

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

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

OptionType

বিচারাধীন

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

এনাম

"অজানা"
বিকল্পটির ডেটা টাইপ অজানা। value সম্পত্তি আনসেট করা হবে.

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

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

"স্থির"
1/65535 রেজোলিউশন সহ -32768-32767.9999 রেঞ্জের একটি ডবল৷ বিকল্পটি একাধিক মান নেয় কিনা তার উপর নির্ভর করে value বৈশিষ্ট্য দ্বিগুণ বা দ্বিগুণ হবে। দ্বৈত মানগুলি যা সঠিকভাবে উপস্থাপন করা যায় না সেগুলি উপলব্ধ পরিসর এবং নির্ভুলতার সাথে বৃত্তাকার হবে৷

"STRING"
NUL ('\0') ছাড়া যেকোনো বাইটের একটি ক্রম। value সম্পত্তি একটি DOMString হবে.

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

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

OptionUnit

বিচারাধীন

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

এনাম

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

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

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

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

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

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

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

ReadScanDataResponse

বিচারাধীন

বৈশিষ্ট্য

  • তথ্য

    ArrayBuffer ঐচ্ছিক

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

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

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

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

  • চাকরি

    স্ট্রিং

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

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

ScannerInfo

বিচারাধীন

বৈশিষ্ট্য

  • সংযোগ টাইপ

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

  • deviceUuid

    স্ট্রিং

    অন্যান্য ScannerInfo এন্ট্রিগুলির সাথে মিলের জন্য যা একই শারীরিক ডিভাইসের দিকে নির্দেশ করে।

  • ইমেজ ফরম্যাট

    স্ট্রিং[]

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

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

    স্ট্রিং

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

  • মডেল

    স্ট্রিং

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

  • নাম

    স্ট্রিং

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

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

    স্ট্রিং

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

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

    স্ট্রিং

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

  • নিরাপদ

    বুলিয়ান

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

ScannerOption

বিচারাধীন

বৈশিষ্ট্য

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

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

  • বাধা

    Option Constraint ঐচ্ছিক

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

  • বর্ণনা

    স্ট্রিং

    বিকল্পের একটি দীর্ঘ বিবরণ।

  • সক্রিয়

    বুলিয়ান

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

  • উন্নত

    বুলিয়ান

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

  • isAutoSettable

    বুলিয়ান

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

  • সনাক্ত করা যায়

    বুলিয়ান

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

  • অনুকরণ করা হয়

    বুলিয়ান

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

  • নাম

    স্ট্রিং

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

  • শিরোনাম

    স্ট্রিং

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

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

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

  • মান

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

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

ScanOptions

বৈশিষ্ট্য

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

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

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

  • মাইমের প্রকার

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

    কলার দ্বারা গৃহীত MIME প্রকারগুলি৷

ScanResults

বৈশিষ্ট্য

  • dataUrls

    স্ট্রিং[]

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

  • MIME ধরণ

    স্ট্রিং

    dataUrls এর MIME প্রকার।

SetOptionResult

বিচারাধীন

বৈশিষ্ট্য

  • নাম

    স্ট্রিং

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

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

SetOptionsResponse

বিচারাধীন

বৈশিষ্ট্য

  • বিকল্প

    বস্তু ঐচ্ছিক

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

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

  • ফলাফল

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

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

    স্ট্রিং

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

StartScanOptions

বিচারাধীন

বৈশিষ্ট্য

  • বিন্যাস

    স্ট্রিং

    স্ক্যান করা ডেটা ফেরত দিতে MIME প্রকার নির্দিষ্ট করে৷

  • maxReadSize

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

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

StartScanResponse

বিচারাধীন

বৈশিষ্ট্য

  • চাকরি

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

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

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

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

    স্ট্রিং

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

পদ্ধতি

cancelScan()

প্রতিশ্রুতি মুলতুবি
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

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

পরামিতি

  • চাকরি

    স্ট্রিং

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (response: CancelScanResponse)=>void

রিটার্নস

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

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

closeScanner()

প্রতিশ্রুতি মুলতুবি
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

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

পরামিতি

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

    স্ট্রিং

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (response: CloseScannerResponse)=>void

রিটার্নস

  • প্রতিশ্রুতি< CloseScanner Response >

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

getOptionGroups()

প্রতিশ্রুতি মুলতুবি
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)

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

পরামিতি

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

    স্ট্রিং

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (response: GetOptionGroupsResponse)=>void

রিটার্নস

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

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

getScannerList()

প্রতিশ্রুতি মুলতুবি
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

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

পরামিতি

রিটার্নস

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

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

openScanner()

প্রতিশ্রুতি মুলতুবি
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

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

পরামিতি

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

    স্ট্রিং

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (response: OpenScannerResponse)=>void

রিটার্নস

  • প্রতিশ্রুতি< OpenScanner Response >

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

readScanData()

প্রতিশ্রুতি মুলতুবি
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

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

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

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

পরামিতি

  • চাকরি

    স্ট্রিং

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (response: ReadScanDataResponse)=>void

রিটার্নস

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

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

scan()

প্রতিশ্রুতি
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)

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

পরামিতি

রিটার্নস

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

    Chrome 96+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

setOptions()

প্রতিশ্রুতি মুলতুবি
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)

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

পরামিতি

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

    স্ট্রিং

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

  • বিকল্প

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (response: SetOptionsResponse)=>void

রিটার্নস

  • প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

startScan()

প্রতিশ্রুতি মুলতুবি
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)

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

পরামিতি

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

    স্ট্রিং

    একটি খোলা স্ক্যানার হ্যান্ডেল. এটি একটি মান হওয়া উচিত যা আগে openScanner এ একটি কল থেকে ফিরে এসেছে।

  • বিকল্প

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (response: StartScanResponse)=>void

রিটার্নস

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

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।