পিডিএফবক্স (PDFBox) লাইব্রেরি Java অ্যাপ্লিকেশনে পিডিএফ ফাইল প্রিন্ট করার জন্য PDFPrintable ক্লাস প্রদান করে। এই ক্লাসটি পিডিএফ ডকুমেন্টকে প্রিন্ট করার জন্য একটি প্রিন্টার রেন্ডারার হিসেবে কাজ করে। PDFPrintable ব্যবহার করে আপনি পিডিএফ ফাইলের সমস্ত পেজ প্রিন্ট করতে পারেন অথবা নির্দিষ্ট পেজ প্রিন্ট করতে পারেন। এটি প্রিন্টিংয়ের জন্য PrinterJob API এর সাথে ইন্টিগ্রেটেড হয়ে কাজ করে।
PDFPrintable ব্যবহার করে পিডিএফ ফাইল প্রিন্ট করার পদ্ধতি
নিম্নলিখিত উদাহরণটি দেখাবে কিভাবে PDFPrintable ব্যবহার করে পিডিএফ ফাইল প্রিন্ট করা যায়।
উদাহরণ: PDF ফাইল প্রিন্ট করা
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.printing.PDFPrintable;
import org.apache.pdfbox.printing.PDFPageable;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import java.awt.print.PrinterJob;
import java.io.File;
import java.io.IOException;
public class PrintPDFExample {
public static void main(String[] args) {
try {
// পিডিএফ ডকুমেন্ট লোড করা
PDDocument document = PDDocument.load(new File("example.pdf"));
// PrinterJob তৈরি করা
PrinterJob printerJob = PrinterJob.getPrinterJob();
// প্রিন্টার সেভ করা
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
if (printService != null) {
printerJob.setPrintService(printService);
// PDFPrintable ব্যবহার করে পিডিএফ ডকুমেন্ট রেন্ডার করা
PDFPrintable printable = new PDFPrintable(document);
printerJob.setPageable(new PDFPageable(document));
// পিডিএফ ডকুমেন্ট প্রিন্ট করা
printerJob.print();
System.out.println("পিডিএফ ফাইল প্রিন্ট করা হয়েছে!");
} else {
System.out.println("ডিফল্ট প্রিন্টার সেবা পাওয়া যায়নি!");
}
// পিডিএফ ডকুমেন্ট বন্ধ করা
document.close();
} catch (Exception e) {
System.err.println("Error during PDF printing: " + e.getMessage());
}
}
}
কোডের ব্যাখ্যা
- PDDocument.load(): এটি পিডিএফ ফাইল লোড করার জন্য ব্যবহৃত হয়।
- PrinterJob.getPrinterJob(): এটি প্রিন্টার জব তৈরি করে এবং প্রিন্টার ডিভাইস নির্বাচন করতে সাহায্য করে।
- PrintServiceLookup.lookupDefaultPrintService(): এটি ডিফল্ট প্রিন্টার সেবা নির্বাচন করতে ব্যবহৃত হয়। আপনি আপনার সিস্টেমে ইনস্টল থাকা প্রিন্টারের মধ্যে থেকে একটিকে নির্বাচন করতে পারেন।
- PDFPrintable: পিডিএফ ডকুমেন্টকে প্রিন্টযোগ্য আউটপুটে রেন্ডার করার জন্য
PDFPrintableব্যবহার করা হয়। এটিPrinterJobএর সাথে কাজ করতে সক্ষম। - setPageable(): এটি পিডিএফ ডকুমেন্টকে প্রিন্টারের পেজেবল হিসেবে সেট করে, যার মাধ্যমে প্রিন্টার জানে কোন পৃষ্ঠাগুলি প্রিন্ট করতে হবে।
PDFPrintable এর অন্যান্য বৈশিষ্ট্য
- নির্দিষ্ট পেজ প্রিন্ট: যদি আপনি শুধুমাত্র নির্দিষ্ট পেজ প্রিন্ট করতে চান, তবে
PDFPageableএর পেজ রেঞ্জ সেট করতে পারেন। - পিডিএফ স্কেলিং:
PDFPrintableএ স্কেলিং অপশন রয়েছে, যার মাধ্যমে আপনি পিডিএফ পেজকে প্রিন্টারের প্রিন্ট পেজের সাথে ফিট করতে পারবেন। - গ্রাফিক্স এবং কনটেন্ট: পিডিএফে থাকা গ্রাফিক্স, চিত্র, এবং টেক্সট সমূহ যথাযথভাবে প্রিন্ট করা হয়, যাতে ফাইলের মূল ফরম্যাট বজায় থাকে।
পিডিএফ প্রিন্টিংয়ের জন্য কিছু পরামর্শ
- প্রিন্টারে সমর্থন: আপনার প্রিন্টার অবশ্যই Java Print Service API সমর্থন করতে হবে।
- ফাইলের আকার: বড় আকারের পিডিএফ ফাইল প্রিন্ট করার সময় সিস্টেমের মেমরি এবং প্রিন্টারের পৃষ্ঠার আকার অনুযায়ী স্কেলিং বা পেজ সাইজ ঠিক করতে হতে পারে।
- বিভিন্ন প্রিন্টার সেবা: আপনি যদি একাধিক প্রিন্টার ব্যবহার করতে চান, তবে
PrintServiceLookupব্যবহার করে প্রিন্টারের নাম নির্বাচন করতে পারেন।
PDFPrintable এর মাধ্যমে পিডিএফ ডকুমেন্ট প্রিন্ট করা খুবই সহজ এবং কার্যকরী। এটি Java অ্যাপ্লিকেশনগুলিতে পিডিএফ প্রিন্টিংয়ের জন্য একটি শক্তিশালী সমাধান প্রদান করে।