2011-04-21 66 views
0

嗨,我想要一個Windows程序的Java程序,我也可以發送打印規範,如佈局方向,副本數量,頁面數量等等,以及要打印的文件路徑。帶有規格的Java打印程序?

M使用此代碼,它工作BT我不能提供打印規格?

import java.awt.Desktop; 
    import java.io.File; 
import java.io.IOException; 

public class PrintFile {  

    public static void fileToPrint(File fis) { 
    try { 
     Desktop desktop = null; 
     if (Desktop.isDesktopSupported()) 
     {    
     desktop = Desktop.getDesktop();   
     } 
     desktop.print(fis);  
     System.out.print("Printing Document"); 
    } 
    catch (IOException ioe) 
    { 
     ioe.printStackTrace(); 
    } 

    } 
} 

回答

1

退房Java Print Service APIjavax.print.attributejavax.print.attribute.standard包定義其描述打印服務的能力打印屬性,指定的打印作業的要求,並跟蹤打印作業的進度。

例如,如果你想使用A4紙打印,打印文檔的三個副本,你將不得不創建一組實施PrintRequestAttributeSet接口以下屬性:

PrintRequestAttributeSet attr_set = new HashPrintRequestAttributeSet(); 
attr_set.add(MediaSizeName.ISO_A4); 
attr_set.add(new Copies(3)); 

然後,你必須通過設置爲打印作業的打印方法的屬性以及DocFlavor。

MediaSize.ISO.A4MediaSize.ISO_A4不起作用。相反MediaSizeName.ISO_A4是正確的。

+1

attr_set.add(MediaSize.ISO_A4);是給錯誤..它沒有解決?? – Harinder 2011-04-21 09:19:50

+0

http://stackoverflow.com/q/5742143/689853 ..請檢查這也.. – Harinder 2011-04-21 09:32:29

+0

什麼樣的錯誤?您將不得不導入MediaSize類http://download.oracle.com/javase/1.4.2/docs/api/javax/print/attribute/standard/MediaSize.html – 2011-04-21 16:18:04