带有规格的Java Print程序?

时间:2011-04-21 04:25:08

标签: java

我想要一个用于Windows的java程序,我也可以在其中发送打印规范,例如布局方向,份数,页面来自和等,以及要打印的文件路径。

M使用此代码,它的工作原理我不能提供打印规格吗?

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 个答案:

答案 0 :(得分:1)

结帐Java Print Service API javax.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一起传递给打印作业的print方法。

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