chrome.printing

বর্ণনা

Chromebook-এ ইনস্টল করা প্রিন্টারগুলিতে প্রিন্ট কাজ পাঠাতে chrome.printing API ব্যবহার করুন৷

অনুমতি

printing

প্রাপ্যতা

শুধুমাত্র Chrome 81+ ChromeOS

উদ্ভাসিত

সমস্ত chrome.printing পদ্ধতি এবং ইভেন্টের জন্য আপনাকে এক্সটেনশন ম্যানিফেস্টে "printing" অনুমতি ঘোষণা করতে হবে৷ যেমন:

{
  "name": "My extension",
  ...
  "permissions": [
    "printing"
  ],
  ...
}

উদাহরণ

নীচের উদাহরণগুলি প্রিন্টিং নামস্থানে প্রতিটি পদ্ধতি ব্যবহার করে দেখায়। এই কোডটি এক্সটেনশন-স্যাম্পল গিটহাব রেপোতে এপিআই-স্যাম্পল/প্রিন্টিং থেকে বা তার উপর ভিত্তি করে কপি করা হয়েছে।

চাকরি বাতিল ()

এই উদাহরণটি একটি 'বাতিল' বোতাম লুকানোর জন্য onJobStatusChanged হ্যান্ডলার ব্যবহার করে যখন jobStatus PENDING বা IN_PROGRESS নয়। নোট করুন যে কিছু নেটওয়ার্কে বা যখন একটি Chromebook সরাসরি প্রিন্টারের সাথে সংযুক্ত থাকে, তখন বাতিল বোতামটি কল করার জন্য যথেষ্ট দীর্ঘ দৃশ্যমান হওয়ার জন্য এই অবস্থাগুলি খুব দ্রুত পাস হতে পারে৷ এটি ব্যাপকভাবে সরলীকৃত মুদ্রণ উদাহরণ.

chrome.printing.onJobStatusChanged.addListener((jobId, status) => {
  const cancelButton = document.getElementById("cancelButton");
  cancelButton.addEventListener('click', () => {
    chrome.printing.cancelJob(jobId).then((response) => {
      if (response !== undefined) {
        console.log(response.status);
      }
      if (chrome.runtime.lastError !== undefined) {
        console.log(chrome.runtime.lastError.message);
      }
    });
  });
  if (status !== "PENDING" && status !== "IN_PROGRESS") {
    cancelButton.style.visibility = 'hidden';
  } else {
    cancelButton.style.visibility = 'visible';
  }
}

getPrinters() এবং getPrinterInfo()

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

​​const printers = await chrome.printing.getPrinters();
const defaultPrinter = printers.find((printer) => {
  const printerInfo = await chrome.printing.getPrinterInfo(printer.id);
  return printerInfo.isDefault;
}
console.log(`Default printer: ${defaultPrinter.name}.\n\t${defaultPrinter.description}`);

জব জমা দিন()

submitJob() পদ্ধতিতে তিনটি জিনিস প্রয়োজন।

  • প্রিন্টারের কোন ক্ষমতা ব্যবহার করা হবে তা উল্লেখ করে একটি ticket কাঠামো। ব্যবহারকারীকে উপলব্ধ ক্ষমতা থেকে নির্বাচন করতে হলে, আপনি getPrinterInfo() ব্যবহার করে একটি নির্দিষ্ট প্রিন্টারের জন্য সেগুলি পুনরুদ্ধার করতে পারেন।
  • একটি SubmitJobRequest কাঠামো, যা ব্যবহার করার জন্য প্রিন্টার এবং মুদ্রণের জন্য ফাইল বা তারিখ নির্দিষ্ট করে। এই কাঠামোতে ticket কাঠামোর একটি উল্লেখ রয়েছে।
  • মুদ্রণের জন্য ফাইল বা ডেটার একটি ব্লব।

submitJob() কল করা একটি ডায়ালগ বক্স ট্রিগার করে যা ব্যবহারকারীকে মুদ্রণ নিশ্চিত করতে বলে। নিশ্চিতকরণ বাইপাস করতে PrintingAPIExtensionsAllowlist ব্যবহার করুন।

এটি প্রিন্টিং উদাহরণের একটি সরলীকৃত সংস্করণ। লক্ষ্য করুন যে ticket SubmitJobRequest কাঠামোর সাথে সংযুক্ত রয়েছে (লাইন 8) এবং মুদ্রণের ডেটা একটি ব্লব (লাইন 10) এ রূপান্তরিত হয়েছে৷ প্রিন্টারের আইডি পাওয়া (লাইন 1) এখানে দেখানোর চেয়ে নমুনায় আরও জটিল।

const defaultPrinter = getDefaultPrinter();
const ticket = getPrinterTicket(defaultPrinter);
const arrayBuffer = getPrintData();
const submitJobRequest = {
  job: {
    printerId: defaultPrinter,
    title: 'test job',
    ticket: ticket,
    contentType: 'application/pdf',
    document: new Blob([new Uint8Array(arrayBuffer)], {
      type: 'application/pdf'
    });
  }
};

chrome.printing.submitJob(submitJobRequest, (response) => {
  if (response !== undefined) {
    console.log(response.status);
  }
  if (chrome.runtime.lastError !== undefined) {
    console.log(chrome.runtime.lastError.message);
  }
});

রোল প্রিন্টিং

এই উদাহরণটি দেখায় যে কীভাবে একটানা (বা রোল) মুদ্রণের জন্য একটি প্রিন্টার টিকিট তৈরি করতে হয়, যা প্রায়শই রসিদ মুদ্রণের সাথে ব্যবহৃত হয়। রোল প্রিন্টিংয়ের জন্য submitJobRequest অবজেক্টটি submitJob() উদাহরণের জন্য দেখানো মতই।

আপনি যদি কাগজ কাটার জন্য ডিফল্ট মান পরিবর্তন করতে চান, তাহলে vendor_ticket_item কী ব্যবহার করুন। (ডিফল্ট প্রিন্টার থেকে প্রিন্টারে পরিবর্তিত হয়।) অন্তর্ভুক্ত করার সময়, এই কীটি একটি সদস্যের সাথে একটি অ্যারে হওয়া প্রয়োজন: একটি বস্তু যার id 'finishings' । মানটি হয় প্রিন্টারের জন্য 'trim' হতে পারে যেগুলি মুদ্রণের শেষে রোলটি কেটে দেয় বা 'none' এমন প্রিন্টারগুলির জন্য হতে পারে যার জন্য প্রিন্টের কাজটি ছিঁড়ে ফেলা প্রয়োজন৷

const ticket = {
  version: '1.0',
  print: {
    vendor_ticket_item: [{id: 'finishings', value: 'trim'}],
    color: {type: 'STANDARD_MONOCHROME'},
    duplex: {type: 'NO_DUPLEX'},
    page_orientation: {type: 'PORTRAIT'},
    copies: {copies: 1},
    dpi: {horizontal_dpi: 300, vertical_dpi: 300},
    media_size: {
      width_microns: 72320,
      height_microns: 100000
    },
    collate: {collate: false}
  }
};

কিছু প্রিন্টার "finishings" বিকল্পটিকে সমর্থন করে না। আপনার প্রিন্টার আছে কিনা তা নির্ধারণ করতে, getPrinterInfo() কল করুন এবং "finishings/11" এর একটি "display_name" সন্ধান করুন।

"vendor_capability": [
  {
    "display_name": "finishings/11",
    "id": "finishings/11",
    "type": "TYPED_VALUE",
    "typed_value_cap": {
      "value_type": "BOOLEAN"
    }
  },
  ...
]

একটি টিকিটের media_size কী-এর মান প্রতিটি প্রিন্টারের জন্য নির্দিষ্ট। একটি উপযুক্ত আকার নির্বাচন করতে getPrinterInfo() কল করুন। ফিরে আসা GetPrinterResponse "media_size"."option" -এ সমর্থিত মিডিয়া মাপের একটি অ্যারে রয়েছে। একটি বিকল্প বেছে নিন যার "is_continuous_feed" মান সত্য। টিকিটের জন্য এর উচ্চতা এবং প্রস্থের মান ব্যবহার করুন।

"media_size": {
  "option": [
  {
    "custom_display_name": "",
    "is_continuous_feed": true,
    "max_height_microns": 2000000,
    "min_height_microns": 25400,
    "width_microns": 50800
  },
  ...
  ]
}

প্রকারভেদ

GetPrinterInfoResponse

বৈশিষ্ট্য

JobStatus

প্রিন্ট কাজের অবস্থা।

এনাম

"মুলতুবি"
প্রিন্ট জব ক্রোমের দিকে গৃহীত হয়েছে কিন্তু এখনও প্রক্রিয়া করা হয়নি।

"IN_PROGRESS"
প্রিন্ট কাজ ছাপার জন্য পাঠানো হয়.

"ব্যর্থ"
কিছু ত্রুটির কারণে প্রিন্ট কাজ ব্যাহত হয়েছে।

"বাতিল"
প্রিন্ট কাজ ব্যবহারকারীর দ্বারা বা API এর মাধ্যমে বাতিল করা হয়েছে।

"মুদ্রিত"
প্রিন্ট কাজ কোনো ত্রুটি ছাড়াই প্রিন্ট করা হয়েছে.

Printer

বৈশিষ্ট্য

  • বর্ণনা

    স্ট্রিং

    প্রিন্টারের মানব-পাঠযোগ্য বর্ণনা।

  • আইডি

    স্ট্রিং

    প্রিন্টারের শনাক্তকারী; ডিভাইসে প্রিন্টারগুলির মধ্যে অনন্য হওয়ার নিশ্চয়তা।

  • ডিফল্ট

    বুলিয়ান

    পতাকা যা দেখায় যে প্রিন্টারটি ডিফল্টপ্রিন্টার নির্বাচনের নিয়মগুলি ফিট করে কিনা৷ মনে রাখবেন যে বেশ কয়েকটি প্রিন্টার পতাকাঙ্কিত হতে পারে।

  • নাম

    স্ট্রিং

    প্রিন্টারের নাম।

  • সম্প্রতি ব্যবহৃত র‌্যাঙ্ক

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

    Chrome থেকে প্রিন্ট করার জন্য কত সাম্প্রতিক প্রিন্টার ব্যবহার করা হয়েছে তা দেখানোর মান। মান যত কম হবে তত সাম্প্রতিক প্রিন্টার ব্যবহার করা হয়েছে। ন্যূনতম মান হল 0। অনুপস্থিত মান নির্দেশ করে যে প্রিন্টারটি সম্প্রতি ব্যবহার করা হয়নি। এই মানটি প্রিন্টারগুলির মধ্যে অনন্য হওয়ার গ্যারান্টিযুক্ত৷

  • প্রিন্টারের উৎস (ব্যবহারকারী বা নীতি কনফিগার করা)।

  • ইউরি

    স্ট্রিং

    প্রিন্টার URI. এটি ব্যবহারকারীর জন্য প্রিন্টার চয়ন করতে এক্সটেনশন দ্বারা ব্যবহার করা যেতে পারে।

PrinterSource

প্রিন্টারের উৎস।

এনাম

"ব্যবহারকারী"
প্রিন্টার ব্যবহারকারী দ্বারা যোগ করা হয়েছে.

"নীতি"
নীতির মাধ্যমে প্রিন্টার যোগ করা হয়েছে।

PrinterStatus

প্রিন্টারের অবস্থা।

এনাম

"DOOR_OPEN"
প্রিন্টারের দরজা খোলা। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"TRAY_MISSING"
প্রিন্টারের ট্রে অনুপস্থিত. প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"OUT_OF_INK"
প্রিন্টারের কালি শেষ। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"OUT_OF_PAPER"
প্রিন্টারটি কাগজের বাইরে। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"OUTPUT_FULL"
প্রিন্টারের আউটপুট এলাকা (যেমন ট্রে) পূর্ণ। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"PAPER_JAM"
প্রিন্টার একটি কাগজ জ্যাম আছে. প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"GENERIC_ISSUE"
কিছু সাধারণ সমস্যা। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"থেমে গেছে"
প্রিন্টারটি বন্ধ হয়ে গেছে এবং মুদ্রণ করে না কিন্তু তবুও মুদ্রণ কাজগুলি গ্রহণ করে৷

"অগম্য"
প্রিন্টারটি পৌঁছানো যায় না এবং মুদ্রণের কাজগুলি গ্রহণ করে না৷

"EXPIRED_CERTIFICATE"
SSL শংসাপত্রের মেয়াদ শেষ হয়েছে৷ প্রিন্টার কাজ গ্রহণ করে কিন্তু তারা ব্যর্থ হয়।

"উপলভ্য"
প্রিন্টার পাওয়া যায়।

SubmitJobRequest

বৈশিষ্ট্য

  • প্রিন্ট কাজ জমা দিতে হবে. সমর্থিত বিষয়বস্তুর প্রকারগুলি হল "অ্যাপ্লিকেশন/পিডিএফ" এবং "ছবি/পিএনজি"। ক্লাউড জব টিকিটে FitToPageTicketItem , PageRangeTicketItem এবং ReverseOrderTicketItem ক্ষেত্রগুলি অন্তর্ভুক্ত করা উচিত নয় কারণ এগুলি নেটিভ প্রিন্টিংয়ের জন্য অপ্রাসঙ্গিক৷ VendorTicketItem ঐচ্ছিক। অন্য সব ক্ষেত্র উপস্থিত হতে হবে.

SubmitJobResponse

বৈশিষ্ট্য

  • চাকরির আইডি

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

    তৈরি করা প্রিন্ট কাজের আইডি। ডিভাইসের সমস্ত মুদ্রণ কাজের মধ্যে এটি একটি অনন্য শনাক্তকারী৷ স্ট্যাটাস ঠিক না থাকলে, jobId নাল হয়ে যাবে।

  • অনুরোধের অবস্থা।

SubmitJobStatus

চাকরির অনুরোধ submitJob অবস্থা।

এনাম

"ঠিক আছে"
প্রেরিত প্রিন্ট কাজের অনুরোধ গৃহীত হয়.

"USER_REJECTED"
প্রেরিত প্রিন্ট কাজের অনুরোধ ব্যবহারকারী দ্বারা প্রত্যাখ্যান করা হয়.

বৈশিষ্ট্য

MAX_GET_PRINTER_INFO_CALLS_PER_MINUTE

প্রতি মিনিটে সর্বাধিক যতবার getPrinterInfo কল করা যাবে।

মান

20

MAX_SUBMIT_JOB_CALLS_PER_MINUTE

প্রতি মিনিটে সর্বোচ্চ কতবার submitJob দিতে হবে।

মান

40

পদ্ধতি

cancelJob()

প্রতিশ্রুতি
chrome.printing.cancelJob(
  jobId: string,
  callback?: function,
)

পূর্বে জমা দেওয়া চাকরি বাতিল।

পরামিতি

  • চাকরির আইডি

    স্ট্রিং

    প্রিন্ট কাজের আইডি বাতিল করতে হবে। এটি একটি SubmitJobResponse এ প্রাপ্ত একই আইডি হওয়া উচিত।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্নস

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

    Chrome 100+

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

getJobStatus()

প্রতিশ্রুতি Chrome 135+
chrome.printing.getJobStatus(
  jobId: string,
  callback?: function,
)

প্রিন্ট কাজের অবস্থা ফেরত দেয়। প্রদত্ত jobId সহ প্রিন্ট জব বিদ্যমান না থাকলে এই কলটি রানটাইম ত্রুটির সাথে ব্যর্থ হবে৷ jobId : প্রিন্ট কাজের আইডি এর স্ট্যাটাস ফেরত দিতে হবে। এটি একটি SubmitJobResponse এ প্রাপ্ত একই আইডি হওয়া উচিত।

পরামিতি

  • চাকরির আইডি

    স্ট্রিং

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (status: JobStatus) => void

রিটার্নস

  • প্রতিশ্রুতি< চাকরির অবস্থা >

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

getPrinterInfo()

প্রতিশ্রুতি
chrome.printing.getPrinterInfo(
  printerId: string,
  callback?: function,
)

CDD ফরম্যাটে প্রিন্টারের স্থিতি এবং ক্ষমতা প্রদান করে। প্রদত্ত আইডি সহ কোনো প্রিন্টার ইনস্টল না থাকলে এই কলটি রানটাইম ত্রুটির সাথে ব্যর্থ হবে৷

পরামিতি

  • প্রিন্টার আইডি

    স্ট্রিং

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (response: GetPrinterInfoResponse) => void

রিটার্নস

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

    Chrome 100+

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

getPrinters()

প্রতিশ্রুতি
chrome.printing.getPrinters(
  callback?: function,
)

ডিভাইসে উপলব্ধ প্রিন্টারের তালিকা প্রদান করে। এর মধ্যে রয়েছে ম্যানুয়ালি যোগ করা, এন্টারপ্রাইজ এবং আবিষ্কৃত প্রিন্টার।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (printers: Printer[]) => void

রিটার্নস

  • প্রতিশ্রুতি< প্রিন্টার []>

    Chrome 100+

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

submitJob()

প্রতিশ্রুতি
chrome.printing.submitJob(
  request: SubmitJobRequest,
  callback?: function,
)

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

পরামিতি

রিটার্নস

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

    Chrome 100+

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

ঘটনা

onJobStatusChanged

chrome.printing.onJobStatusChanged.addListener(
  callback: function,
)

চাকরির অবস্থা পরিবর্তন হলে ইভেন্ট বরখাস্ত করা হয়। এটি শুধুমাত্র এই এক্সটেনশন দ্বারা তৈরি কাজের জন্য বহিস্কার করা হয়েছে।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (jobId: string, status: JobStatus) => void

,

বর্ণনা

Chromebook-এ ইনস্টল করা প্রিন্টারগুলিতে প্রিন্ট কাজ পাঠাতে chrome.printing API ব্যবহার করুন৷

অনুমতি

printing

প্রাপ্যতা

শুধুমাত্র Chrome 81+ ChromeOS

উদ্ভাসিত

সমস্ত chrome.printing পদ্ধতি এবং ইভেন্টের জন্য আপনাকে এক্সটেনশন ম্যানিফেস্টে "printing" অনুমতি ঘোষণা করতে হবে৷ যেমন:

{
  "name": "My extension",
  ...
  "permissions": [
    "printing"
  ],
  ...
}

উদাহরণ

নীচের উদাহরণগুলি প্রিন্টিং নামস্থানে প্রতিটি পদ্ধতি ব্যবহার করে দেখায়। এই কোডটি এক্সটেনশন-স্যাম্পল গিটহাব রেপোতে এপিআই-স্যাম্পল/প্রিন্টিং থেকে বা তার উপর ভিত্তি করে কপি করা হয়েছে।

চাকরি বাতিল ()

এই উদাহরণটি একটি 'বাতিল' বোতাম লুকানোর জন্য onJobStatusChanged হ্যান্ডলার ব্যবহার করে যখন jobStatus PENDING বা IN_PROGRESS নয়। নোট করুন যে কিছু নেটওয়ার্কে বা যখন একটি Chromebook সরাসরি প্রিন্টারের সাথে সংযুক্ত থাকে, তখন বাতিল বোতামটি কল করার জন্য যথেষ্ট দীর্ঘ দৃশ্যমান হওয়ার জন্য এই অবস্থাগুলি খুব দ্রুত পাস হতে পারে৷ এটি ব্যাপকভাবে সরলীকৃত মুদ্রণ উদাহরণ.

chrome.printing.onJobStatusChanged.addListener((jobId, status) => {
  const cancelButton = document.getElementById("cancelButton");
  cancelButton.addEventListener('click', () => {
    chrome.printing.cancelJob(jobId).then((response) => {
      if (response !== undefined) {
        console.log(response.status);
      }
      if (chrome.runtime.lastError !== undefined) {
        console.log(chrome.runtime.lastError.message);
      }
    });
  });
  if (status !== "PENDING" && status !== "IN_PROGRESS") {
    cancelButton.style.visibility = 'hidden';
  } else {
    cancelButton.style.visibility = 'visible';
  }
}

getPrinters() এবং getPrinterInfo()

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

​​const printers = await chrome.printing.getPrinters();
const defaultPrinter = printers.find((printer) => {
  const printerInfo = await chrome.printing.getPrinterInfo(printer.id);
  return printerInfo.isDefault;
}
console.log(`Default printer: ${defaultPrinter.name}.\n\t${defaultPrinter.description}`);

জব জমা দিন()

submitJob() পদ্ধতিতে তিনটি জিনিস প্রয়োজন।

  • প্রিন্টারের কোন ক্ষমতা ব্যবহার করা হবে তা উল্লেখ করে একটি ticket কাঠামো। ব্যবহারকারীকে উপলব্ধ ক্ষমতা থেকে নির্বাচন করতে হলে, আপনি getPrinterInfo() ব্যবহার করে একটি নির্দিষ্ট প্রিন্টারের জন্য সেগুলি পুনরুদ্ধার করতে পারেন।
  • একটি SubmitJobRequest কাঠামো, যা ব্যবহার করার জন্য প্রিন্টার এবং মুদ্রণের জন্য ফাইল বা তারিখ নির্দিষ্ট করে। এই কাঠামোতে ticket কাঠামোর একটি উল্লেখ রয়েছে।
  • মুদ্রণের জন্য ফাইল বা ডেটার একটি ব্লব।

submitJob() কল করা একটি ডায়ালগ বক্স ট্রিগার করে যা ব্যবহারকারীকে মুদ্রণ নিশ্চিত করতে বলে। নিশ্চিতকরণ বাইপাস করতে PrintingAPIExtensionsAllowlist ব্যবহার করুন।

এটি প্রিন্টিং উদাহরণের একটি সরলীকৃত সংস্করণ। লক্ষ্য করুন যে ticket SubmitJobRequest কাঠামোর সাথে সংযুক্ত রয়েছে (লাইন 8) এবং মুদ্রণের ডেটা একটি ব্লব (লাইন 10) এ রূপান্তরিত হয়েছে৷ প্রিন্টারের আইডি পাওয়া (লাইন 1) এখানে দেখানোর চেয়ে নমুনায় আরও জটিল।

const defaultPrinter = getDefaultPrinter();
const ticket = getPrinterTicket(defaultPrinter);
const arrayBuffer = getPrintData();
const submitJobRequest = {
  job: {
    printerId: defaultPrinter,
    title: 'test job',
    ticket: ticket,
    contentType: 'application/pdf',
    document: new Blob([new Uint8Array(arrayBuffer)], {
      type: 'application/pdf'
    });
  }
};

chrome.printing.submitJob(submitJobRequest, (response) => {
  if (response !== undefined) {
    console.log(response.status);
  }
  if (chrome.runtime.lastError !== undefined) {
    console.log(chrome.runtime.lastError.message);
  }
});

রোল প্রিন্টিং

এই উদাহরণটি দেখায় যে কীভাবে একটানা (বা রোল) মুদ্রণের জন্য একটি প্রিন্টার টিকিট তৈরি করতে হয়, যা প্রায়শই রসিদ মুদ্রণের সাথে ব্যবহৃত হয়। রোল প্রিন্টিংয়ের জন্য submitJobRequest অবজেক্টটি submitJob() উদাহরণের জন্য দেখানো মতই।

আপনি যদি কাগজ কাটার জন্য ডিফল্ট মান পরিবর্তন করতে চান, তাহলে vendor_ticket_item কী ব্যবহার করুন। (ডিফল্ট প্রিন্টার থেকে প্রিন্টারে পরিবর্তিত হয়।) অন্তর্ভুক্ত করার সময়, এই কীটি একটি সদস্যের সাথে একটি অ্যারে হওয়া প্রয়োজন: একটি বস্তু যার id 'finishings' । মানটি হয় প্রিন্টারের জন্য 'trim' হতে পারে যেগুলি মুদ্রণের শেষে রোলটি কেটে দেয় বা 'none' এমন প্রিন্টারগুলির জন্য হতে পারে যার জন্য প্রিন্টের কাজটি ছিঁড়ে ফেলা প্রয়োজন৷

const ticket = {
  version: '1.0',
  print: {
    vendor_ticket_item: [{id: 'finishings', value: 'trim'}],
    color: {type: 'STANDARD_MONOCHROME'},
    duplex: {type: 'NO_DUPLEX'},
    page_orientation: {type: 'PORTRAIT'},
    copies: {copies: 1},
    dpi: {horizontal_dpi: 300, vertical_dpi: 300},
    media_size: {
      width_microns: 72320,
      height_microns: 100000
    },
    collate: {collate: false}
  }
};

কিছু প্রিন্টার "finishings" বিকল্পটিকে সমর্থন করে না। আপনার প্রিন্টার আছে কিনা তা নির্ধারণ করতে, getPrinterInfo() কল করুন এবং "finishings/11" এর একটি "display_name" সন্ধান করুন।

"vendor_capability": [
  {
    "display_name": "finishings/11",
    "id": "finishings/11",
    "type": "TYPED_VALUE",
    "typed_value_cap": {
      "value_type": "BOOLEAN"
    }
  },
  ...
]

একটি টিকিটের media_size কী-এর মান প্রতিটি প্রিন্টারের জন্য নির্দিষ্ট। একটি উপযুক্ত আকার নির্বাচন করতে getPrinterInfo() কল করুন। ফিরে আসা GetPrinterResponse "media_size"."option" -এ সমর্থিত মিডিয়া মাপের একটি অ্যারে রয়েছে। একটি বিকল্প বেছে নিন যার "is_continuous_feed" মান সত্য। টিকিটের জন্য এর উচ্চতা এবং প্রস্থের মান ব্যবহার করুন।

"media_size": {
  "option": [
  {
    "custom_display_name": "",
    "is_continuous_feed": true,
    "max_height_microns": 2000000,
    "min_height_microns": 25400,
    "width_microns": 50800
  },
  ...
  ]
}

প্রকারভেদ

GetPrinterInfoResponse

বৈশিষ্ট্য

JobStatus

প্রিন্ট কাজের অবস্থা।

এনাম

"মুলতুবি"
প্রিন্ট জব ক্রোমের দিকে গৃহীত হয়েছে কিন্তু এখনও প্রক্রিয়া করা হয়নি।

"IN_PROGRESS"
প্রিন্ট কাজ ছাপার জন্য পাঠানো হয়.

"ব্যর্থ"
কিছু ত্রুটির কারণে প্রিন্ট কাজ ব্যাহত হয়েছে।

"বাতিল"
প্রিন্ট কাজ ব্যবহারকারীর দ্বারা বা API এর মাধ্যমে বাতিল করা হয়েছে।

"মুদ্রিত"
প্রিন্ট কাজ কোনো ত্রুটি ছাড়াই প্রিন্ট করা হয়েছে.

Printer

বৈশিষ্ট্য

  • বর্ণনা

    স্ট্রিং

    প্রিন্টারের মানব-পাঠযোগ্য বর্ণনা।

  • আইডি

    স্ট্রিং

    প্রিন্টারের শনাক্তকারী; ডিভাইসে প্রিন্টারগুলির মধ্যে অনন্য হওয়ার নিশ্চয়তা।

  • ডিফল্ট

    বুলিয়ান

    পতাকা যা দেখায় যে প্রিন্টারটি ডিফল্টপ্রিন্টার নির্বাচনের নিয়মগুলি ফিট করে কিনা৷ মনে রাখবেন যে বেশ কয়েকটি প্রিন্টার পতাকাঙ্কিত হতে পারে।

  • নাম

    স্ট্রিং

    প্রিন্টারের নাম।

  • সম্প্রতি ব্যবহৃত র‌্যাঙ্ক

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

    Chrome থেকে প্রিন্ট করার জন্য কত সাম্প্রতিক প্রিন্টার ব্যবহার করা হয়েছে তা দেখানোর মান। মান যত কম হবে তত সাম্প্রতিক প্রিন্টার ব্যবহার করা হয়েছে। ন্যূনতম মান হল 0। অনুপস্থিত মান নির্দেশ করে যে প্রিন্টারটি সম্প্রতি ব্যবহার করা হয়নি। এই মানটি প্রিন্টারগুলির মধ্যে অনন্য হওয়ার গ্যারান্টিযুক্ত৷

  • প্রিন্টারের উৎস (ব্যবহারকারী বা নীতি কনফিগার করা)।

  • ইউরি

    স্ট্রিং

    প্রিন্টার URI. এটি ব্যবহারকারীর জন্য প্রিন্টার চয়ন করতে এক্সটেনশন দ্বারা ব্যবহার করা যেতে পারে।

PrinterSource

প্রিন্টারের উৎস।

এনাম

"ব্যবহারকারী"
প্রিন্টার ব্যবহারকারী দ্বারা যোগ করা হয়েছে.

"নীতি"
নীতির মাধ্যমে প্রিন্টার যোগ করা হয়েছে।

PrinterStatus

প্রিন্টারের অবস্থা।

এনাম

"DOOR_OPEN"
প্রিন্টারের দরজা খোলা। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"TRAY_MISSING"
প্রিন্টারের ট্রে অনুপস্থিত. প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"OUT_OF_INK"
প্রিন্টারের কালি শেষ। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"OUT_OF_PAPER"
প্রিন্টারটি কাগজের বাইরে। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"OUTPUT_FULL"
প্রিন্টারের আউটপুট এলাকা (যেমন ট্রে) পূর্ণ। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"PAPER_JAM"
প্রিন্টার একটি কাগজ জ্যাম আছে. প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"GENERIC_ISSUE"
কিছু সাধারণ সমস্যা। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"থেমে গেছে"
প্রিন্টারটি বন্ধ হয়ে গেছে এবং মুদ্রণ করে না কিন্তু তবুও মুদ্রণ কাজগুলি গ্রহণ করে৷

"অগম্য"
প্রিন্টারটি পৌঁছানো যায় না এবং মুদ্রণের কাজগুলি গ্রহণ করে না৷

"EXPIRED_CERTIFICATE"
SSL শংসাপত্রের মেয়াদ শেষ হয়েছে৷ প্রিন্টার কাজ গ্রহণ করে কিন্তু তারা ব্যর্থ হয়।

"উপলভ্য"
প্রিন্টার পাওয়া যায়।

SubmitJobRequest

বৈশিষ্ট্য

  • প্রিন্ট কাজ জমা দিতে হবে. সমর্থিত বিষয়বস্তুর প্রকারগুলি হল "অ্যাপ্লিকেশন/পিডিএফ" এবং "ছবি/পিএনজি"। ক্লাউড জব টিকিটে FitToPageTicketItem , PageRangeTicketItem এবং ReverseOrderTicketItem ক্ষেত্রগুলি অন্তর্ভুক্ত করা উচিত নয় কারণ এগুলি নেটিভ প্রিন্টিংয়ের জন্য অপ্রাসঙ্গিক৷ VendorTicketItem ঐচ্ছিক। অন্য সব ক্ষেত্র উপস্থিত হতে হবে.

SubmitJobResponse

বৈশিষ্ট্য

  • চাকরির আইডি

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

    তৈরি করা প্রিন্ট কাজের আইডি। ডিভাইসের সমস্ত মুদ্রণ কাজের মধ্যে এটি একটি অনন্য শনাক্তকারী৷ স্ট্যাটাস ঠিক না থাকলে, jobId নাল হয়ে যাবে।

  • অনুরোধের অবস্থা।

SubmitJobStatus

চাকরির অনুরোধ submitJob অবস্থা।

এনাম

"ঠিক আছে"
প্রেরিত প্রিন্ট কাজের অনুরোধ গৃহীত হয়.

"USER_REJECTED"
প্রেরিত প্রিন্ট কাজের অনুরোধ ব্যবহারকারী দ্বারা প্রত্যাখ্যান করা হয়.

বৈশিষ্ট্য

MAX_GET_PRINTER_INFO_CALLS_PER_MINUTE

প্রতি মিনিটে সর্বাধিক যতবার getPrinterInfo কল করা যাবে।

মান

20

MAX_SUBMIT_JOB_CALLS_PER_MINUTE

প্রতি মিনিটে সর্বোচ্চ কতবার submitJob দিতে হবে।

মান

40

পদ্ধতি

cancelJob()

প্রতিশ্রুতি
chrome.printing.cancelJob(
  jobId: string,
  callback?: function,
)

পূর্বে জমা দেওয়া চাকরি বাতিল।

পরামিতি

  • চাকরির আইডি

    স্ট্রিং

    প্রিন্ট কাজের আইডি বাতিল করতে হবে। এটি একটি SubmitJobResponse এ প্রাপ্ত একই আইডি হওয়া উচিত।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্নস

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

    Chrome 100+

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

getJobStatus()

প্রতিশ্রুতি Chrome 135+
chrome.printing.getJobStatus(
  jobId: string,
  callback?: function,
)

প্রিন্ট কাজের অবস্থা ফেরত দেয়। প্রদত্ত jobId সহ প্রিন্ট জব বিদ্যমান না থাকলে এই কলটি রানটাইম ত্রুটির সাথে ব্যর্থ হবে৷ jobId : প্রিন্ট কাজের আইডি এর স্ট্যাটাস ফেরত দিতে হবে। এটি একটি SubmitJobResponse এ প্রাপ্ত একই আইডি হওয়া উচিত।

পরামিতি

  • চাকরির আইডি

    স্ট্রিং

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (status: JobStatus) => void

রিটার্নস

  • প্রতিশ্রুতি< চাকরির অবস্থা >

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

getPrinterInfo()

প্রতিশ্রুতি
chrome.printing.getPrinterInfo(
  printerId: string,
  callback?: function,
)

CDD ফরম্যাটে প্রিন্টারের স্থিতি এবং ক্ষমতা প্রদান করে। প্রদত্ত আইডি সহ কোনো প্রিন্টার ইনস্টল না থাকলে এই কলটি রানটাইম ত্রুটির সাথে ব্যর্থ হবে৷

পরামিতি

  • প্রিন্টার আইডি

    স্ট্রিং

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (response: GetPrinterInfoResponse) => void

রিটার্নস

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

    Chrome 100+

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

getPrinters()

প্রতিশ্রুতি
chrome.printing.getPrinters(
  callback?: function,
)

ডিভাইসে উপলব্ধ প্রিন্টারের তালিকা প্রদান করে। এর মধ্যে রয়েছে ম্যানুয়ালি যোগ করা, এন্টারপ্রাইজ এবং আবিষ্কৃত প্রিন্টার।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (printers: Printer[]) => void

রিটার্নস

  • প্রতিশ্রুতি< প্রিন্টার []>

    Chrome 100+

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

submitJob()

প্রতিশ্রুতি
chrome.printing.submitJob(
  request: SubmitJobRequest,
  callback?: function,
)

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

পরামিতি

রিটার্নস

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

    Chrome 100+

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

ঘটনা

onJobStatusChanged

chrome.printing.onJobStatusChanged.addListener(
  callback: function,
)

চাকরির অবস্থা পরিবর্তন হলে ইভেন্ট বরখাস্ত করা হয়। এটি শুধুমাত্র এই এক্সটেনশন দ্বারা তৈরি কাজের জন্য বহিস্কার করা হয়েছে।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (jobId: string, status: JobStatus) => void

,

বর্ণনা

Chromebook-এ ইনস্টল করা প্রিন্টারগুলিতে প্রিন্ট কাজ পাঠাতে chrome.printing API ব্যবহার করুন৷

অনুমতি

printing

প্রাপ্যতা

শুধুমাত্র Chrome 81+ ChromeOS

উদ্ভাসিত

সমস্ত chrome.printing পদ্ধতি এবং ইভেন্টের জন্য আপনাকে এক্সটেনশন ম্যানিফেস্টে "printing" অনুমতি ঘোষণা করতে হবে৷ যেমন:

{
  "name": "My extension",
  ...
  "permissions": [
    "printing"
  ],
  ...
}

উদাহরণ

নীচের উদাহরণগুলি প্রিন্টিং নামস্থানে প্রতিটি পদ্ধতি ব্যবহার করে দেখায়। এই কোডটি এক্সটেনশন-স্যাম্পল গিটহাব রেপোতে এপিআই-স্যাম্পল/প্রিন্টিং থেকে বা তার উপর ভিত্তি করে কপি করা হয়েছে।

চাকরি বাতিল ()

এই উদাহরণটি একটি 'বাতিল' বোতাম লুকানোর জন্য onJobStatusChanged হ্যান্ডলার ব্যবহার করে যখন jobStatus PENDING বা IN_PROGRESS নয়। নোট করুন যে কিছু নেটওয়ার্কে বা যখন একটি Chromebook সরাসরি প্রিন্টারের সাথে সংযুক্ত থাকে, তখন বাতিল বোতামটি কল করার জন্য যথেষ্ট দীর্ঘ দৃশ্যমান হওয়ার জন্য এই অবস্থাগুলি খুব দ্রুত পাস হতে পারে৷ এটি ব্যাপকভাবে সরলীকৃত মুদ্রণ উদাহরণ.

chrome.printing.onJobStatusChanged.addListener((jobId, status) => {
  const cancelButton = document.getElementById("cancelButton");
  cancelButton.addEventListener('click', () => {
    chrome.printing.cancelJob(jobId).then((response) => {
      if (response !== undefined) {
        console.log(response.status);
      }
      if (chrome.runtime.lastError !== undefined) {
        console.log(chrome.runtime.lastError.message);
      }
    });
  });
  if (status !== "PENDING" && status !== "IN_PROGRESS") {
    cancelButton.style.visibility = 'hidden';
  } else {
    cancelButton.style.visibility = 'visible';
  }
}

getPrinters() এবং getPrinterInfo()

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

​​const printers = await chrome.printing.getPrinters();
const defaultPrinter = printers.find((printer) => {
  const printerInfo = await chrome.printing.getPrinterInfo(printer.id);
  return printerInfo.isDefault;
}
console.log(`Default printer: ${defaultPrinter.name}.\n\t${defaultPrinter.description}`);

জব জমা দিন()

submitJob() পদ্ধতিতে তিনটি জিনিস প্রয়োজন।

  • প্রিন্টারের কোন ক্ষমতা ব্যবহার করা হবে তা উল্লেখ করে একটি ticket কাঠামো। ব্যবহারকারীকে উপলব্ধ ক্ষমতা থেকে নির্বাচন করতে হলে, আপনি getPrinterInfo() ব্যবহার করে একটি নির্দিষ্ট প্রিন্টারের জন্য সেগুলি পুনরুদ্ধার করতে পারেন।
  • একটি SubmitJobRequest কাঠামো, যা ব্যবহার করার জন্য প্রিন্টার এবং মুদ্রণের জন্য ফাইল বা তারিখ নির্দিষ্ট করে। এই কাঠামোতে ticket কাঠামোর একটি উল্লেখ রয়েছে।
  • মুদ্রণের জন্য ফাইল বা ডেটার একটি ব্লব।

submitJob() কল করা একটি ডায়ালগ বক্স ট্রিগার করে যা ব্যবহারকারীকে মুদ্রণ নিশ্চিত করতে বলে। নিশ্চিতকরণ বাইপাস করতে PrintingAPIExtensionsAllowlist ব্যবহার করুন।

এটি প্রিন্টিং উদাহরণের একটি সরলীকৃত সংস্করণ। লক্ষ্য করুন যে ticket SubmitJobRequest কাঠামোর সাথে সংযুক্ত রয়েছে (লাইন 8) এবং মুদ্রণের ডেটা একটি ব্লব (লাইন 10) এ রূপান্তরিত হয়েছে৷ প্রিন্টারের আইডি পাওয়া (লাইন 1) এখানে দেখানোর চেয়ে নমুনায় আরও জটিল।

const defaultPrinter = getDefaultPrinter();
const ticket = getPrinterTicket(defaultPrinter);
const arrayBuffer = getPrintData();
const submitJobRequest = {
  job: {
    printerId: defaultPrinter,
    title: 'test job',
    ticket: ticket,
    contentType: 'application/pdf',
    document: new Blob([new Uint8Array(arrayBuffer)], {
      type: 'application/pdf'
    });
  }
};

chrome.printing.submitJob(submitJobRequest, (response) => {
  if (response !== undefined) {
    console.log(response.status);
  }
  if (chrome.runtime.lastError !== undefined) {
    console.log(chrome.runtime.lastError.message);
  }
});

রোল প্রিন্টিং

এই উদাহরণটি দেখায় যে কীভাবে একটানা (বা রোল) মুদ্রণের জন্য একটি প্রিন্টার টিকিট তৈরি করতে হয়, যা প্রায়শই রসিদ মুদ্রণের সাথে ব্যবহৃত হয়। রোল প্রিন্টিংয়ের জন্য submitJobRequest অবজেক্টটি submitJob() উদাহরণের জন্য দেখানো মতই।

আপনি যদি কাগজ কাটার জন্য ডিফল্ট মান পরিবর্তন করতে চান, তাহলে vendor_ticket_item কী ব্যবহার করুন। (ডিফল্ট প্রিন্টার থেকে প্রিন্টারে পরিবর্তিত হয়।) অন্তর্ভুক্ত করার সময়, এই কীটি একটি সদস্য সহ একটি অ্যারে হওয়া প্রয়োজন: একটি বস্তু যার id 'finishings' । মানটি হয় প্রিন্টারের জন্য 'trim' হতে পারে যেগুলি মুদ্রণের শেষে রোলটি কেটে দেয় বা 'none' এমন প্রিন্টারগুলির জন্য হতে পারে যার জন্য প্রিন্টের কাজটি ছিঁড়ে ফেলা প্রয়োজন৷

const ticket = {
  version: '1.0',
  print: {
    vendor_ticket_item: [{id: 'finishings', value: 'trim'}],
    color: {type: 'STANDARD_MONOCHROME'},
    duplex: {type: 'NO_DUPLEX'},
    page_orientation: {type: 'PORTRAIT'},
    copies: {copies: 1},
    dpi: {horizontal_dpi: 300, vertical_dpi: 300},
    media_size: {
      width_microns: 72320,
      height_microns: 100000
    },
    collate: {collate: false}
  }
};

কিছু প্রিন্টার "finishings" বিকল্পটিকে সমর্থন করে না। আপনার প্রিন্টার আছে কিনা তা নির্ধারণ করতে, getPrinterInfo() কল করুন এবং "finishings/11" এর একটি "display_name" সন্ধান করুন।

"vendor_capability": [
  {
    "display_name": "finishings/11",
    "id": "finishings/11",
    "type": "TYPED_VALUE",
    "typed_value_cap": {
      "value_type": "BOOLEAN"
    }
  },
  ...
]

একটি টিকিটের media_size কী-এর মান প্রতিটি প্রিন্টারের জন্য নির্দিষ্ট। একটি উপযুক্ত আকার নির্বাচন করতে getPrinterInfo() কল করুন। ফিরে আসা GetPrinterResponse "media_size"."option" -এ সমর্থিত মিডিয়া মাপের একটি অ্যারে রয়েছে। একটি বিকল্প বেছে নিন যার "is_continuous_feed" মান সত্য। টিকিটের জন্য এর উচ্চতা এবং প্রস্থের মান ব্যবহার করুন।

"media_size": {
  "option": [
  {
    "custom_display_name": "",
    "is_continuous_feed": true,
    "max_height_microns": 2000000,
    "min_height_microns": 25400,
    "width_microns": 50800
  },
  ...
  ]
}

প্রকারভেদ

GetPrinterInfoResponse

বৈশিষ্ট্য

JobStatus

প্রিন্ট কাজের অবস্থা।

এনাম

"মুলতুবি"
প্রিন্ট জব ক্রোমের দিকে গৃহীত হয়েছে কিন্তু এখনও প্রক্রিয়া করা হয়নি।

"IN_PROGRESS"
প্রিন্ট কাজ ছাপার জন্য পাঠানো হয়.

"ব্যর্থ"
কিছু ত্রুটির কারণে প্রিন্ট কাজ ব্যাহত হয়েছে।

"বাতিল"
প্রিন্ট কাজ ব্যবহারকারীর দ্বারা বা API এর মাধ্যমে বাতিল করা হয়েছে।

"মুদ্রিত"
প্রিন্ট কাজ কোনো ত্রুটি ছাড়াই প্রিন্ট করা হয়েছে.

Printer

বৈশিষ্ট্য

  • বর্ণনা

    স্ট্রিং

    প্রিন্টারের মানব-পাঠযোগ্য বর্ণনা।

  • আইডি

    স্ট্রিং

    প্রিন্টারের শনাক্তকারী; ডিভাইসে প্রিন্টারগুলির মধ্যে অনন্য হওয়ার নিশ্চয়তা।

  • ডিফল্ট

    বুলিয়ান

    পতাকা যা দেখায় যে প্রিন্টারটি ডিফল্টপ্রিন্টার নির্বাচনের নিয়মগুলি ফিট করে কিনা৷ মনে রাখবেন যে বেশ কয়েকটি প্রিন্টার পতাকাঙ্কিত হতে পারে।

  • নাম

    স্ট্রিং

    প্রিন্টারের নাম।

  • সম্প্রতি ব্যবহৃত র‌্যাঙ্ক

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

    Chrome থেকে প্রিন্ট করার জন্য কত সাম্প্রতিক প্রিন্টার ব্যবহার করা হয়েছে তা দেখানোর মান। মান যত কম হবে তত সাম্প্রতিক প্রিন্টার ব্যবহার করা হয়েছে। ন্যূনতম মান হল 0। অনুপস্থিত মান নির্দেশ করে যে প্রিন্টারটি সম্প্রতি ব্যবহার করা হয়নি। এই মানটি প্রিন্টারগুলির মধ্যে অনন্য হওয়ার গ্যারান্টিযুক্ত৷

  • প্রিন্টারের উৎস (ব্যবহারকারী বা নীতি কনফিগার করা)।

  • ইউরি

    স্ট্রিং

    প্রিন্টার URI. এটি ব্যবহারকারীর জন্য প্রিন্টার চয়ন করতে এক্সটেনশন দ্বারা ব্যবহার করা যেতে পারে।

PrinterSource

প্রিন্টারের উৎস।

এনাম

"ব্যবহারকারী"
প্রিন্টার ব্যবহারকারী দ্বারা যোগ করা হয়েছে.

"নীতি"
নীতির মাধ্যমে প্রিন্টার যোগ করা হয়েছে।

PrinterStatus

প্রিন্টারের অবস্থা।

এনাম

"DOOR_OPEN"
প্রিন্টারের দরজা খোলা। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"TRAY_MISSING"
প্রিন্টারের ট্রে অনুপস্থিত. প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"OUT_OF_INK"
প্রিন্টারের কালি শেষ। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"OUT_OF_PAPER"
প্রিন্টারটি কাগজের বাইরে। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"OUTPUT_FULL"
প্রিন্টারের আউটপুট এলাকা (যেমন ট্রে) পূর্ণ। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"PAPER_JAM"
প্রিন্টার একটি কাগজ জ্যাম আছে. প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"GENERIC_ISSUE"
কিছু সাধারণ সমস্যা। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"থেমে গেছে"
প্রিন্টারটি বন্ধ হয়ে গেছে এবং মুদ্রণ করে না কিন্তু তবুও মুদ্রণ কাজগুলি গ্রহণ করে৷

"অগম্য"
প্রিন্টারটি পৌঁছানো যায় না এবং মুদ্রণের কাজগুলি গ্রহণ করে না৷

"EXPIRED_CERTIFICATE"
SSL শংসাপত্রের মেয়াদ শেষ হয়েছে৷ প্রিন্টার কাজ গ্রহণ করে কিন্তু তারা ব্যর্থ হয়।

"উপলভ্য"
প্রিন্টার পাওয়া যায়।

SubmitJobRequest

বৈশিষ্ট্য

  • প্রিন্ট কাজ জমা দিতে হবে. সমর্থিত বিষয়বস্তুর প্রকারগুলি হল "অ্যাপ্লিকেশন/পিডিএফ" এবং "ছবি/পিএনজি"। ক্লাউড জব টিকিটে FitToPageTicketItem , PageRangeTicketItem এবং ReverseOrderTicketItem ক্ষেত্রগুলি অন্তর্ভুক্ত করা উচিত নয় কারণ এগুলি নেটিভ প্রিন্টিংয়ের জন্য অপ্রাসঙ্গিক৷ VendorTicketItem ঐচ্ছিক। অন্য সব ক্ষেত্র উপস্থিত হতে হবে.

SubmitJobResponse

বৈশিষ্ট্য

  • চাকরির আইডি

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

    তৈরি করা প্রিন্ট কাজের আইডি। ডিভাইসের সমস্ত মুদ্রণ কাজের মধ্যে এটি একটি অনন্য শনাক্তকারী৷ স্ট্যাটাস ঠিক না থাকলে, jobId নাল হয়ে যাবে।

  • অনুরোধের অবস্থা।

SubmitJobStatus

চাকরির অনুরোধ submitJob অবস্থা।

এনাম

"ঠিক আছে"
প্রেরিত প্রিন্ট কাজের অনুরোধ গৃহীত হয়.

"USER_REJECTED"
প্রেরিত প্রিন্ট কাজের অনুরোধ ব্যবহারকারী দ্বারা প্রত্যাখ্যান করা হয়.

বৈশিষ্ট্য

MAX_GET_PRINTER_INFO_CALLS_PER_MINUTE

প্রতি মিনিটে সর্বাধিক যতবার getPrinterInfo কল করা যাবে।

মান

20

MAX_SUBMIT_JOB_CALLS_PER_MINUTE

প্রতি মিনিটে সর্বোচ্চ কতবার submitJob দিতে হবে।

মান

40

পদ্ধতি

cancelJob()

প্রতিশ্রুতি
chrome.printing.cancelJob(
  jobId: string,
  callback?: function,
)

পূর্বে জমা দেওয়া চাকরি বাতিল।

পরামিতি

  • চাকরির আইডি

    স্ট্রিং

    প্রিন্ট কাজের আইডি বাতিল করতে হবে। এটি একটি SubmitJobResponse এ প্রাপ্ত একই আইডি হওয়া উচিত।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্নস

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

    Chrome 100+

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

getJobStatus()

প্রতিশ্রুতি Chrome 135+
chrome.printing.getJobStatus(
  jobId: string,
  callback?: function,
)

প্রিন্ট কাজের অবস্থা ফেরত দেয়। প্রদত্ত jobId সহ প্রিন্ট জব বিদ্যমান না থাকলে এই কলটি রানটাইম ত্রুটির সাথে ব্যর্থ হবে৷ jobId : প্রিন্ট কাজের আইডি এর স্ট্যাটাস ফেরত দিতে হবে। এটি একটি SubmitJobResponse এ প্রাপ্ত একই আইডি হওয়া উচিত।

পরামিতি

  • চাকরির আইডি

    স্ট্রিং

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (status: JobStatus) => void

রিটার্নস

  • প্রতিশ্রুতি< চাকরির অবস্থা >

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

getPrinterInfo()

প্রতিশ্রুতি
chrome.printing.getPrinterInfo(
  printerId: string,
  callback?: function,
)

CDD ফরম্যাটে প্রিন্টারের স্থিতি এবং ক্ষমতা প্রদান করে। প্রদত্ত আইডি সহ কোনো প্রিন্টার ইনস্টল না থাকলে এই কলটি রানটাইম ত্রুটির সাথে ব্যর্থ হবে৷

পরামিতি

  • প্রিন্টার আইডি

    স্ট্রিং

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (response: GetPrinterInfoResponse) => void

রিটার্নস

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

    Chrome 100+

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

getPrinters()

প্রতিশ্রুতি
chrome.printing.getPrinters(
  callback?: function,
)

ডিভাইসে উপলব্ধ প্রিন্টারের তালিকা প্রদান করে। এর মধ্যে রয়েছে ম্যানুয়ালি যোগ করা, এন্টারপ্রাইজ এবং আবিষ্কৃত প্রিন্টার।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (printers: Printer[]) => void

রিটার্নস

  • প্রতিশ্রুতি< প্রিন্টার []>

    Chrome 100+

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

submitJob()

প্রতিশ্রুতি
chrome.printing.submitJob(
  request: SubmitJobRequest,
  callback?: function,
)

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

পরামিতি

রিটার্নস

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

    Chrome 100+

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

ঘটনা

onJobStatusChanged

chrome.printing.onJobStatusChanged.addListener(
  callback: function,
)

চাকরির অবস্থা পরিবর্তন হলে ইভেন্ট বরখাস্ত করা হয়। এটি শুধুমাত্র এই এক্সটেনশন দ্বারা তৈরি কাজের জন্য বহিস্কার করা হয়েছে।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (jobId: string, status: JobStatus) => void

,

বর্ণনা

Chromebook-এ ইনস্টল করা প্রিন্টারগুলিতে প্রিন্ট কাজ পাঠাতে chrome.printing API ব্যবহার করুন৷

অনুমতি

printing

প্রাপ্যতা

শুধুমাত্র Chrome 81+ ChromeOS

উদ্ভাসিত

সমস্ত chrome.printing পদ্ধতি এবং ইভেন্টের জন্য আপনাকে এক্সটেনশন ম্যানিফেস্টে "printing" অনুমতি ঘোষণা করতে হবে৷ যেমন:

{
  "name": "My extension",
  ...
  "permissions": [
    "printing"
  ],
  ...
}

উদাহরণ

নীচের উদাহরণগুলি প্রিন্টিং নামস্থানে প্রতিটি পদ্ধতি ব্যবহার করে দেখায়। এই কোডটি এক্সটেনশন-স্যাম্পল গিটহাব রেপোতে এপিআই-স্যাম্পল/প্রিন্টিং থেকে বা তার উপর ভিত্তি করে কপি করা হয়েছে।

চাকরি বাতিল ()

এই উদাহরণটি একটি 'বাতিল' বোতাম লুকানোর জন্য onJobStatusChanged হ্যান্ডলার ব্যবহার করে যখন jobStatus PENDING বা IN_PROGRESS নয়। নোট করুন যে কিছু নেটওয়ার্কে বা যখন একটি Chromebook সরাসরি প্রিন্টারের সাথে সংযুক্ত থাকে, তখন বাতিল বোতামটি কল করার জন্য যথেষ্ট দীর্ঘ দৃশ্যমান হওয়ার জন্য এই অবস্থাগুলি খুব দ্রুত পাস হতে পারে৷ এটি ব্যাপকভাবে সরলীকৃত মুদ্রণ উদাহরণ.

chrome.printing.onJobStatusChanged.addListener((jobId, status) => {
  const cancelButton = document.getElementById("cancelButton");
  cancelButton.addEventListener('click', () => {
    chrome.printing.cancelJob(jobId).then((response) => {
      if (response !== undefined) {
        console.log(response.status);
      }
      if (chrome.runtime.lastError !== undefined) {
        console.log(chrome.runtime.lastError.message);
      }
    });
  });
  if (status !== "PENDING" && status !== "IN_PROGRESS") {
    cancelButton.style.visibility = 'hidden';
  } else {
    cancelButton.style.visibility = 'visible';
  }
}

getPrinters() এবং getPrinterInfo()

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

​​const printers = await chrome.printing.getPrinters();
const defaultPrinter = printers.find((printer) => {
  const printerInfo = await chrome.printing.getPrinterInfo(printer.id);
  return printerInfo.isDefault;
}
console.log(`Default printer: ${defaultPrinter.name}.\n\t${defaultPrinter.description}`);

জব জমা দিন()

submitJob() পদ্ধতিতে তিনটি জিনিস প্রয়োজন।

  • প্রিন্টারের কোন ক্ষমতা ব্যবহার করা হবে তা উল্লেখ করে একটি ticket কাঠামো। ব্যবহারকারীকে উপলব্ধ ক্ষমতা থেকে নির্বাচন করতে হলে, আপনি getPrinterInfo() ব্যবহার করে একটি নির্দিষ্ট প্রিন্টারের জন্য সেগুলি পুনরুদ্ধার করতে পারেন।
  • একটি SubmitJobRequest কাঠামো, যা ব্যবহার করার জন্য প্রিন্টার এবং মুদ্রণের জন্য ফাইল বা তারিখ নির্দিষ্ট করে। এই কাঠামোতে ticket কাঠামোর একটি উল্লেখ রয়েছে।
  • মুদ্রণের জন্য ফাইল বা ডেটার একটি ব্লব।

submitJob() কল করা একটি ডায়ালগ বক্স ট্রিগার করে যা ব্যবহারকারীকে মুদ্রণ নিশ্চিত করতে বলে। নিশ্চিতকরণ বাইপাস করতে PrintingAPIExtensionsAllowlist ব্যবহার করুন।

এটি প্রিন্টিং উদাহরণের একটি সরলীকৃত সংস্করণ। লক্ষ্য করুন যে ticket SubmitJobRequest কাঠামোর সাথে সংযুক্ত রয়েছে (লাইন 8) এবং মুদ্রণের ডেটা একটি ব্লব (লাইন 10) এ রূপান্তরিত হয়েছে৷ প্রিন্টারের আইডি পাওয়া (লাইন 1) এখানে প্রদর্শিত হওয়ার চেয়ে নমুনায় আরও জটিল।

const defaultPrinter = getDefaultPrinter();
const ticket = getPrinterTicket(defaultPrinter);
const arrayBuffer = getPrintData();
const submitJobRequest = {
  job: {
    printerId: defaultPrinter,
    title: 'test job',
    ticket: ticket,
    contentType: 'application/pdf',
    document: new Blob([new Uint8Array(arrayBuffer)], {
      type: 'application/pdf'
    });
  }
};

chrome.printing.submitJob(submitJobRequest, (response) => {
  if (response !== undefined) {
    console.log(response.status);
  }
  if (chrome.runtime.lastError !== undefined) {
    console.log(chrome.runtime.lastError.message);
  }
});

রোল প্রিন্টিং

এই উদাহরণটি দেখায় যে কীভাবে অবিচ্ছিন্ন (বা রোল) প্রিন্টিংয়ের জন্য প্রিন্টারের টিকিট তৈরি করা যায়, যা প্রায়শই রসিদ মুদ্রণের সাথে ব্যবহৃত হয়। রোল প্রিন্টিংয়ের জন্য submitJobRequest অবজেক্টটি submitJob() উদাহরণের জন্য প্রদর্শিত হিসাবে একই।

আপনার যদি কাগজ কাটার জন্য ডিফল্ট মান পরিবর্তন করতে হয় তবে vendor_ticket_item কীটি ব্যবহার করুন। (ডিফল্টটি প্রিন্টার থেকে প্রিন্টারে পরিবর্তিত হয়)) অন্তর্ভুক্ত করা হলে, এই কীটি একজন সদস্যের সাথে একটি অ্যারে হওয়া দরকার: এমন একটি বস্তু যার id 'finishings' । মুদ্রণগুলির শেষে রোলটি কেটে প্রিন্টারগুলির জন্য মানটি হয় 'trim' হতে পারে বা মুদ্রকগুলির জন্য 'none' যা মুদ্রণ কাজটি ছিঁড়ে ফেলা প্রয়োজন।

const ticket = {
  version: '1.0',
  print: {
    vendor_ticket_item: [{id: 'finishings', value: 'trim'}],
    color: {type: 'STANDARD_MONOCHROME'},
    duplex: {type: 'NO_DUPLEX'},
    page_orientation: {type: 'PORTRAIT'},
    copies: {copies: 1},
    dpi: {horizontal_dpi: 300, vertical_dpi: 300},
    media_size: {
      width_microns: 72320,
      height_microns: 100000
    },
    collate: {collate: false}
  }
};

কিছু প্রিন্টার "finishings" বিকল্পটিকে সমর্থন করে না। আপনার প্রিন্টারটি কিনা তা নির্ধারণ করতে, getPrinterInfo() কল করুন এবং "finishings/11" এর একটি "display_name" সন্ধান করুন।

"vendor_capability": [
  {
    "display_name": "finishings/11",
    "id": "finishings/11",
    "type": "TYPED_VALUE",
    "typed_value_cap": {
      "value_type": "BOOLEAN"
    }
  },
  ...
]

টিকিটের media_size কীতে মানগুলি প্রতিটি প্রিন্টারের জন্য নির্দিষ্ট। একটি উপযুক্ত আকার নির্বাচন করতে getPrinterInfo() নির্বাচন করতে। ফিরে আসা GetPrinterResponse "media_size"."option" । এমন একটি বিকল্প চয়ন করুন যার "is_continuous_feed" মানটি সত্য। টিকিটের জন্য এর উচ্চতা এবং প্রস্থের মানগুলি ব্যবহার করুন।

"media_size": {
  "option": [
  {
    "custom_display_name": "",
    "is_continuous_feed": true,
    "max_height_microns": 2000000,
    "min_height_microns": 25400,
    "width_microns": 50800
  },
  ...
  ]
}

প্রকারভেদ

GetPrinterInfoResponse

বৈশিষ্ট্য

JobStatus

মুদ্রণ কাজের স্থিতি।

এনাম

"মুলতুবি"
মুদ্রণ কাজ ক্রোম সাইডে প্রাপ্ত হয় তবে এখনও প্রক্রিয়া করা হয়নি।

"In_progress"
মুদ্রণের জন্য মুদ্রণ কাজ প্রেরণ করা হয়।

"ব্যর্থ"
কিছু ত্রুটির কারণে মুদ্রণ কাজ বাধাগ্রস্ত হয়েছিল।

"বাতিল"
প্রিন্ট জব ব্যবহারকারী বা এপিআইয়ের মাধ্যমে বাতিল করা হয়েছিল।

"মুদ্রিত"
মুদ্রণ কাজ কোনও ত্রুটি ছাড়াই মুদ্রিত হয়েছিল।

Printer

বৈশিষ্ট্য

  • বর্ণনা

    স্ট্রিং

    প্রিন্টারের মানব-পঠনযোগ্য বিবরণ।

  • আইডি

    স্ট্রিং

    প্রিন্টারের শনাক্তকারী; ডিভাইসে মুদ্রকগুলির মধ্যে অনন্য হওয়ার গ্যারান্টিযুক্ত।

  • ইসডিফল্ট

    বুলিয়ান

    পতাকাটি যা প্রিন্টারটি ডিফল্টপ্রিন্টারসেশন বিধিগুলির সাথে ফিট করে কিনা তা দেখায়। নোট করুন যে বেশ কয়েকটি মুদ্রক পতাকাঙ্কিত হতে পারে।

  • নাম

    স্ট্রিং

    প্রিন্টারের নাম।

  • সম্প্রতি ব্যবহার করা হয়েছে

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

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

  • প্রিন্টারের উত্স (ব্যবহারকারী বা নীতি কনফিগার করা)।

  • ইউরি

    স্ট্রিং

    প্রিন্টার উরি। এটি ব্যবহারকারীর জন্য প্রিন্টারটি চয়ন করতে এক্সটেনশানগুলি দ্বারা ব্যবহার করা যেতে পারে।

PrinterSource

প্রিন্টারের উত্স।

এনাম

"ব্যবহারকারী"
প্রিন্টার ব্যবহারকারী দ্বারা যুক্ত করা হয়েছিল।

"নীতি"
প্রিন্টারকে নীতিমালার মাধ্যমে যুক্ত করা হয়েছিল।

PrinterStatus

প্রিন্টারের স্থিতি।

এনাম

"ডোর_পেন"
প্রিন্টারের দরজা খোলা আছে। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"ট্রে_মিসিং"
প্রিন্টারের ট্রে অনুপস্থিত। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"আউট_ফ_ঙ্ক"
প্রিন্টার কালি থেকে দূরে। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"আউট_ফ_পেপার"
প্রিন্টার কাগজের বাইরে। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"আউটপুট_ফুল"
প্রিন্টারের আউটপুট অঞ্চল (যেমন ট্রে) পূর্ণ। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"পেপার_জাম"
প্রিন্টারে একটি কাগজ জ্যাম রয়েছে। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"জেনেরিক_সিস"
কিছু জেনেরিক সমস্যা। প্রিন্টার এখনও মুদ্রণ কাজ গ্রহণ করে।

"থামানো"
প্রিন্টারটি বন্ধ হয়ে যায় এবং মুদ্রণ করে না তবে এখনও মুদ্রণ কাজগুলি গ্রহণ করে।

"অ্যাক্সেসযোগ্য"
প্রিন্টারটি অ্যাক্সেসযোগ্য এবং মুদ্রণ কাজগুলি গ্রহণ করে না।

"মেয়াদোত্তীর্ণ_স্টিফিকেট"
এসএসএল শংসাপত্রের মেয়াদ শেষ হয়ে গেছে। প্রিন্টার চাকরি গ্রহণ করে তবে তারা ব্যর্থ হয়।

"উপলব্ধ"
প্রিন্টার উপলব্ধ।

SubmitJobRequest

বৈশিষ্ট্য

  • মুদ্রণ কাজ জমা দিতে হবে। সমর্থিত সামগ্রীর প্রকারগুলি হ'ল "অ্যাপ্লিকেশন/পিডিএফ" এবং "চিত্র/পিএনজি"। ক্লাউড জবের টিকিটে FitToPageTicketItem , PageRangeTicketItem এবং ReverseOrderTicketItem ক্ষেত্রগুলি অন্তর্ভুক্ত করা উচিত নয় যেহেতু তারা দেশীয় মুদ্রণের জন্য অপ্রাসঙ্গিক। VendorTicketItem al চ্ছিক। অন্যান্য সমস্ত ক্ষেত্র অবশ্যই উপস্থিত থাকতে হবে।

SubmitJobResponse

বৈশিষ্ট্য

  • চাকরির আইডি

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

    তৈরি মুদ্রণ কাজের আইডি। এটি ডিভাইসের সমস্ত মুদ্রণ কাজের মধ্যে একটি অনন্য শনাক্তকারী। যদি স্থিতি ঠিক না হয় তবে জবিড নাল হবে।

  • অনুরোধের স্থিতি।

SubmitJobStatus

submitJob অনুরোধের স্থিতি।

এনাম

"ঠিক আছে"
প্রেরিত মুদ্রণ কাজের অনুরোধ গৃহীত হয়।

"ব্যবহারকারী_রেখা"
প্রেরিত প্রিন্ট কাজের অনুরোধ ব্যবহারকারী দ্বারা প্রত্যাখ্যান করা হয়।

বৈশিষ্ট্য

MAX_GET_PRINTER_INFO_CALLS_PER_MINUTE

getPrinterInfo সর্বাধিক সংখ্যক বার প্রতি মিনিটে কল করা যেতে পারে।

মান

20

MAX_SUBMIT_JOB_CALLS_PER_MINUTE

submitJob সর্বাধিক সংখ্যক বার প্রতি মিনিটে বলা যেতে পারে।

মান

40

পদ্ধতি

cancelJob()

প্রতিশ্রুতি
chrome.printing.cancelJob(
  jobId: string,
  callback?: function,
)

পূর্বে জমা দেওয়া কাজ বাতিল।

পরামিতি

  • চাকরির আইডি

    স্ট্রিং

    মুদ্রণ কাজের আইডি বাতিল করতে। এটি SubmitJobResponse প্রাপ্ত একই আইডি হওয়া উচিত।

  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখে মনে হচ্ছে:

    () => void

রিটার্নস

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

    ক্রোম 100+

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

getJobStatus()

প্রতিশ্রুতি ক্রোম 135+
chrome.printing.getJobStatus(
  jobId: string,
  callback?: function,
)

মুদ্রণ কাজের স্থিতি প্রদান করে। প্রদত্ত jobId সহ প্রিন্ট জব না থাকলে এই কলটি রানটাইম ত্রুটির সাথে ব্যর্থ হবে। jobId : এর স্থিতি ফিরিয়ে দেওয়ার জন্য মুদ্রণ কাজের আইডি। এটি SubmitJobResponse প্রাপ্ত একই আইডি হওয়া উচিত।

পরামিতি

  • চাকরির আইডি

    স্ট্রিং

  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখে মনে হচ্ছে:

    (status: JobStatus) => void

রিটার্নস

  • প্রতিশ্রুতি < জবস্ট্যাটাস >

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

getPrinterInfo()

প্রতিশ্রুতি
chrome.printing.getPrinterInfo(
  printerId: string,
  callback?: function,
)

সিডিডি ফর্ম্যাটে প্রিন্টারের স্থিতি এবং ক্ষমতা প্রদান করে। প্রদত্ত আইডি সহ কোনও প্রিন্টার ইনস্টল না করা থাকলে এই কলটি রানটাইম ত্রুটি দিয়ে ব্যর্থ হবে।

পরামিতি

  • প্রিন্টারিড

    স্ট্রিং

  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখে মনে হচ্ছে:

    (response: GetPrinterInfoResponse) => void

রিটার্নস

  • ক্রোম 100+

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

getPrinters()

প্রতিশ্রুতি
chrome.printing.getPrinters(
  callback?: function,
)

ডিভাইসে উপলব্ধ প্রিন্টারের তালিকাটি ফেরত দেয়। এর মধ্যে ম্যানুয়ালি যুক্ত, এন্টারপ্রাইজ এবং আবিষ্কার প্রিন্টার অন্তর্ভুক্ত রয়েছে।

পরামিতি

  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখে মনে হচ্ছে:

    (printers: Printer[]) => void

রিটার্নস

  • প্রতিশ্রুতি < প্রিন্টার []>

    ক্রোম 100+

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

submitJob()

প্রতিশ্রুতি
chrome.printing.submitJob(
  request: SubmitJobRequest,
  callback?: function,
)

মুদ্রণের জন্য কাজ জমা দেয়। যদি এক্সটেনশনটি PrintingAPIExtensionsAllowlist নীতিতে তালিকাভুক্ত না করা হয় তবে ব্যবহারকারীকে মুদ্রণ কাজটি গ্রহণ করার জন্য অনুরোধ করা হয়। ক্রোম 120 এর আগে, এই ফাংশনটি কোনও প্রতিশ্রুতি দেয়নি।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি < সাবমিটজোব্রেস্পোনস >

    ক্রোম 100+

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

ঘটনা

onJobStatusChanged

chrome.printing.onJobStatusChanged.addListener(
  callback: function,
)

কাজের স্থিতি পরিবর্তন করা হলে ইভেন্ট বরখাস্ত। এটি কেবল এই এক্সটেনশন দ্বারা নির্মিত কাজের জন্য বরখাস্ত করা হয়েছে।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখে মনে হচ্ছে:

    (jobId: string, status: JobStatus) => void