যখন আপনার অ্যাপলিকেশন প্রিন্ট করে, আপনার অ্যাপলিকেশন অবশ্যই একটি PDF ডকুমেন্ট তৈরী করে এবং প্রিন্ট করার জন্য এটা অ্যান্ড্রয়েড প্রিন্ট ফ্রেমওয়ার্কে পাঠিয়ে দেয়। এই উদ্দেশ্যে আপনি যে কোন PDF জেনারেশন রাইব্রেরী ব্যবহার করতে পারেন। এই অনুশীলনী দেখায় আপনার কনটেন্ট থেকে PDF পেজ তৈরী করতে কীভাবে PrintedPdfDocument ক্লাস ব্যবহার করতে হয়।
PrintedPdfDocument ক্লাস একটি PDF পেজে এলিমেন্ট ড্র করতে একটি Canvas অবজেক্ট ব্যবহার করে, একটা একটিভিটি লেআউটে ড্র করার মতো করে। ড্র Canvas মেথড ব্যবহার করে প্রিন্ট করা পেজে আপনি এলিমেন্ট ড্র করতে পারেন। নিম্নোক্ত উদাহরণ কোড দেখায় এই মেথড গুলো ব্যবহার করে একটি PDF ডকুমেন্টে কীভাবে কিছু সহজ এলিমেন্ট ড্র করতে হয়:
private void drawPage(PdfDocument.Page page) {
Canvas canvas = page.getCanvas();
// units are in points (1/72 of an inch)
int titleBaseLine = 72;
int leftMargin = 54;
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setTextSize(36);
canvas.drawText("Test Title", leftMargin, titleBaseLine, paint);
paint.setTextSize(11);
canvas.drawText("Test paragraph", leftMargin, titleBaseLine + 25, paint);
paint.setColor(Color.BLUE);
canvas.drawRect(100, 100, 172, 172, paint);
}
যখন PDF পেজে ড্র করতে Canvas ব্যবহার করা হয়, এলিমেন্ট পয়েন্টে নির্দিষ্ট হয়, যা এক ইঞ্চির ১/৭২। নিশ্চিত করুন পেজে এলিমেন্টের সাইজ নির্দিষ্ট করার জন্য আপনি এই পরিমাপের একক ব্যবহার করছেন। ড্র করা এলিমেন্টের অবস্থানের ঠিক করার জন্য, সমন্বয়কারী সিস্টেম ০ থেকে শুরু করে, পেজের উপরের বাম কোনের জন্য ০।
টিপ: যখন ঈধহাধং অবজেক্ট একটি PDF ডকুমেন্টের সীমানায় আপনাকে প্রিন্ট এলিমেন্টন রাখতে দেয়, অনেক প্রিন্টার পেপারের কোনের অংশটি প্রিন্ট দিতে সমর্থ হয় না। নিশ্চিত করুন যে আপনি পেজের আনপ্রিন্টেবল কোনা (এজ) বন্ধ করেছেন, যখন আপনি এই ক্লাস দিয়ে একটি প্রিন্ট ডকুমেন্ট তৈরী করেন।