2011-04-21 57 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