AWT (Abstract Window Toolkit) এ Printing এর মাধ্যমে আপনি Java অ্যাপ্লিকেশন থেকে কাস্টম প্রিন্টিং প্রক্রিয়া চালাতে পারেন। এটি মূলত PrintJob এবং PrinterJob ক্লাসের মাধ্যমে পরিচালিত হয়, যার সাহায্যে আপনি গ্রাফিক্স, টেক্সট এবং অন্যান্য কনটেন্ট প্রিন্ট করতে পারেন।
AWT Printing এর ভূমিকা:
Java অ্যাপ্লিকেশনগুলোর মধ্যে প্রিন্টিং খুবই গুরুত্বপূর্ণ হতে পারে, বিশেষ করে যখন ইউজারকে ডকুমেন্ট, রিপোর্ট বা কোনো কাস্টম গ্রাফিক্স প্রিন্ট করতে হয়। AWT PrintJob ক্লাসটি ব্যবহারকারীর মেশিনে প্রিন্টার ডিভাইসের সাথে যোগাযোগ করে এবং প্রিন্ট অপারেশন সম্পাদন করতে সহায়তা করে।
AWT-তে PrintJob ক্লাস সাধারণত পুরানো Java ভার্সনগুলির জন্য ব্যবহৃত হলেও, বর্তমানে PrinterJob ক্লাসটি বেশিরভাগ প্রিন্টিং টাস্কের জন্য বেশি ব্যবহৃত হয়।
PrintJob ক্লাস:
PrintJob ক্লাসটি ব্যবহারকারীর কম্পিউটারের প্রিন্টার ডিভাইসের সাথে যোগাযোগ করার জন্য একটি ইন্টারফেস সরবরাহ করে। এটি প্রিন্টিং সম্পর্কিত অপারেশনগুলো সম্পাদন করতে সহায়তা করে। PrintJob ক্লাসের মধ্যে প্রিন্টিংয়ের জন্য নিম্নলিখিত মেথড ব্যবহার করা হয়:
getGraphics(): এটি প্রিন্টিংয়ের জন্যGraphicsঅবজেক্ট প্রদান করে, যার মাধ্যমে আপনি প্রিন্টারে রেন্ডার করতে পারেন।end(): প্রিন্ট কাজ শেষ হলে এই মেথডটি কল করা হয়।getPageFormat(): প্রিন্ট পৃষ্ঠার জন্য প্রয়োজনীয় ফরম্যাট প্রদান করে।
PrintJob উদাহরণ:
import java.awt.*;
import java.awt.event.*;
public class PrintJobExample {
public static void main(String[] args) {
Frame frame = new Frame("AWT PrintJob Example");
Button printButton = new Button("Print");
printButton.setBounds(50, 50, 100, 30);
printButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
PrinterJob printerJob = PrinterJob.getPrinterJob();
PrintJob printJob = Toolkit.getDefaultToolkit().getPrintJob(frame, "Printing Example", null);
if (printJob != null) {
Graphics graphics = printJob.getGraphics();
if (graphics != null) {
graphics.drawString("Hello, this is a print job example!", 100, 100);
printJob.end();
}
} else {
System.out.println("No printer found!");
}
}
});
frame.add(printButton);
frame.setSize(300, 200);
frame.setLayout(null);
frame.setVisible(true);
}
}
ব্যাখ্যা:
PrintJobঅবজেক্ট তৈরি করা হয়Toolkit.getDefaultToolkit().getPrintJob()মেথড দিয়ে।- প্রিন্টারের গ্রাফিক্স কনটেক্সট পাওয়ার জন্য
getGraphics()মেথড ব্যবহার করা হয়। drawString()মেথড দিয়ে প্রিন্টার গ্রাফিক্সে টেক্সট রেন্ডার করা হয়।- প্রিন্ট কাজ শেষ হলে
end()মেথড কল করা হয়।
PrinterJob ক্লাস:
PrinterJob ক্লাসটি AWT এর বর্তমান প্রিন্টিং API-র প্রধান অংশ। এটি প্রিন্টিং অপারেশন নিয়ন্ত্রণের জন্য একটি সহজ এবং আধুনিক ইন্টারফেস সরবরাহ করে।
PrinterJob এর মেথডসমূহ:
print(): প্রিন্ট করার জন্য প্রধান মেথড। এটিPrinterExceptionথ্রো করতে পারে।setPrintable(Printable p): এটি একটিPrintableঅবজেক্ট সেট করে, যা প্রিন্টারকে কী প্রিন্ট করবে তা নির্দেশ করে।printDialog(): প্রিন্টিং ডায়ালগ বক্স দেখানোর জন্য ব্যবহৃত হয়।
PrinterJob উদাহরণ:
import java.awt.*;
import java.awt.print.*;
public class PrinterJobExample {
public static void main(String[] args) {
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintable(new Printable() {
public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException {
if (pageIndex >= 1) {
return NO_SUCH_PAGE;
}
Graphics2D g2d = (Graphics2D) g;
g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
g2d.drawString("Hello, this is a test print using PrinterJob!", 100, 100);
return PAGE_EXISTS;
}
});
boolean doPrint = printerJob.printDialog();
if (doPrint) {
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
}
ব্যাখ্যা:
setPrintable():Printableঅবজেক্টকে সেট করে, যা প্রিন্টারকে কী প্রিন্ট করতে হবে তা নির্দেশ করে।printDialog(): এটি প্রিন্টিং ডায়ালগ বক্স খুলে, ইউজারকে প্রিন্ট অপশন নির্বাচন করতে দেয়।print(): এটি আসল প্রিন্ট অপারেশন শুরু করে।
AWT PrintJob এবং PrinterJob এর মধ্যে পার্থক্য:
| বৈশিষ্ট্য | PrintJob | PrinterJob |
|---|---|---|
| ব্যবহার | পুরানো Java সংস্করণগুলিতে ব্যবহৃত | বর্তমান Java প্রিন্টিং API |
| পদ্ধতি | getGraphics(), end() | setPrintable(), print() |
| ডায়ালগ | প্রিন্ট ডায়ালগ নেই | প্রিন্ট ডায়ালগ রয়েছে |
AWT PrintJob এবং PrinterJob ক্লাসের মাধ্যমে Java অ্যাপ্লিকেশনে প্রিন্টিং কার্য সম্পাদন করা যায়। যদিও PrintJob ক্লাসটি পুরানো, তবে PrinterJob ক্লাসটি বর্তমান Java ভার্সনে আরও উন্নত এবং ফিচার-রিচ, যা প্রিন্টিং অপারেশন সহজ করে তোলে।
Read more