vicky vicky - 4 months ago 7
Java Question

How to print image in java

How can we print a buffered image in java?
We can send FileInputStream to Print Service, but i need to send buffered Image to it.

FileInputStream fin = new FileInputStream("YOurImageFileName.PNG");
Doc doc = new SimpleDoc(fin, DocFlavor.INPUT_STREAM.GIF, null);
job.print(doc, pras);


Is it possible?

Check the complete code here.

Answer
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintable(new Printable() {
        public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
                if (pageIndex != 0) {
                    return NO_SUCH_PAGE;
                }
                graphics.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null);
                return PAGE_EXISTS;
        }
});     
try {
    printJob.print();
} catch (PrinterException e1) {             
    e1.printStackTrace();
}