মোবাইল ডিভাইসের সবচেয়ে জনপ্রিয় ব্যবহারগুলির মধ্যে একটি হল ফটো তোলা ও শেয়ার করা। আপনার অ্যাপ্লিকেশন যদি ফটো তোলে, সেগুলি দেখায় অথবা ব্যবহারকারীদের ছবি শেয়ার করার অনুমতি দেয়, তাহলে আপনার অ্যাপ্লিকেশনে সেইসব ছবি প্রিন্ট করার সুবিধা চালু করার কথা বিবেচনা করা উচিত। Android সাপোর্ট লাইব্রেরি ন্যূনতম কোড এবং প্রিন্ট লেআউট বিকল্পের সহজ সেট ব্যবহার করে ছবি প্রিন্ট করার সুবিধা চালু করার জন্য একটি সুবিধাজনক ফাংশন প্রদান করে।
এই টিউটোরিয়াল থেকে আপনি জানতে পারবেন যে v4 সাপোর্ট লাইব্রেরি PrintHelper ক্লাস ব্যবহার করে কীভাবে ছবি প্রিন্ট করতে হয়।
ছবি প্রিন্ট করা
Android সাপোর্ট লাইব্রেরি PrintHelper ক্লাস, ছবি প্রিন্ট করার
সহজ উপায় প্রদান করে। ক্লাসে একটি লেআউট বিকল্প আছে, setScaleMode(),
যা আপনাকে দুটি বিকল্পের একটির সাথে প্রিন্ট করার অনুমতি দেয়:
SCALE_MODE_FIT- এই বিকল্পটি ছবির সাইজ এমনভাবে পরিবর্তন করে যাতে পুরো ছবিটি পৃষ্ঠার প্রিন্ট করার যোগ্য অংশের মধ্যে দেখানো হয়।SCALE_MODE_FILL- এই বিকল্পটি ছবিকে স্কেল করে যাতে এটি পৃষ্ঠার সম্পূর্ণ প্রিন্ট করার যোগ্য অংশটি পূরণ করে। এই সেটিং বেছে নেওয়ার অর্থ হল ছবির উপরে ও নিচে অথবা বাঁদিকে ও ডানদিকের প্রান্তের কিছু অংশ প্রিন্ট করা হবে না। আপনি স্কেল মোড সেট না করলে, এই বিকল্পটি ডিফল্ট ভ্যালু হিসেবে সেট করা হয়।
setScaleMode()-এর জন্য দুটি স্কেলিং বিকল্পই ছবির বর্তমান অ্যাস্পেক্ট রেশিও অপরিবর্তিত রাখে। নিম্নলিখিত কোডের উদাহরণ
দেখায় যে কীভাবে PrintHelper ক্লাসের ইনস্ট্যান্স তৈরি করতে হয়, স্কেলিং বিকল্প সেট করতে হয়
এবং প্রিন্টিং প্রসেস শুরু করতে হয়:
Kotlin
private fun doPhotoPrint() { activity?.also { context -> PrintHelper(context).apply { scaleMode = PrintHelper.SCALE_MODE_FIT }.also { printHelper -> val bitmap = BitmapFactory.decodeResource(resources, R.drawable.droids) printHelper.printBitmap("droids.jpg - test print", bitmap) } } }
জাভা
private void doPhotoPrint() { PrintHelper photoPrinter = new PrintHelper(getActivity()); photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.droids); photoPrinter.printBitmap("droids.jpg - test print", bitmap); }
এই পদ্ধতিটি মেনু আইটেমের জন্য অ্যাকশন হিসেবে কল করা যেতে পারে। মনে রাখবেন যে যেসব অ্যাকশনের জন্য মেনু আইটেম সবসময় কাজ করে না (যেমন প্রিন্ট করা) সেগুলি ওভারফ্লো মেনুতে রাখা উচিত। আরও তথ্যের জন্য, অ্যাকশন বার ডিজাইন গাইড দেখুন।
printBitmap() পদ্ধতি কল করার পরে, আপনার অ্যাপ্লিকেশন থেকে আর কোনও অ্যাকশন নেওয়ার প্রয়োজন নেই। Android প্রিন্ট ইউজার ইন্টারফেস
দেখা যায়, যা ব্যবহারকারীকে প্রিন্টার ও প্রিন্টিং বিকল্প বেছে নেওয়ার অনুমতি দেয়। ব্যবহারকারী তারপর ছবিটি প্রিন্ট করতে
বা অ্যাকশন বাতিল করতে পারবেন। ব্যবহারকারী ছবিটি প্রিন্ট করার বিকল্প বেছে নিলে, একটি প্রিন্ট জব তৈরি হয় এবং
সিস্টেম বারে প্রিন্টিং বিজ্ঞপ্তি দেখা যায়।
আপনি যদি প্রিন্টআউটে শুধু ছবি ছাড়াও অতিরিক্ত কন্টেন্ট যোগ করতে চান, তাহলে আপনাকে অবশ্যই একটি প্রিন্ট ডকুমেন্ট তৈরি করতে হবে। প্রিন্ট করার জন্য ডকুমেন্ট তৈরি করা সম্পর্কে তথ্য পেতে, HTML ডকুমেন্ট প্রিন্ট করা বা কাস্টম ডকুমেন্ট প্রিন্ট করা লেসন দেখুন।