2012-05-07 70 views
4

如何在java中打印緩衝圖像? 我們可以發送FileInputStream到Print Service,但是我需要發送緩衝的圖像給它。如何在java中打印圖像

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

這可能嗎?

查看完整密碼here

+1

類似的問題已經被問StackOverflow上,勾選[這個問題](http://stackoverflow.com/questions/5338423/print-a-image-with-actual-size-在-JAVA) – AurA

回答

5
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(); 
}