【发布时间】:2014-05-16 13:11:03
【问题描述】:
我正在尝试将 html 文件直接打印到默认打印机,而不向用户显示打印对话框。
我刚刚从一些在线教程中获得了以下代码,它适用于 PNG 文件。
import javax.print.*;
import javax.print.attribute.*;
import java.io.*;
public class Printing {
public static void main(String args[]) throws Exception {
String filename = args[0];
PrintRequestAttributeSet pras =
new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavor.INPUT_STREAM.PNG;
PrintService printService[] =
PrintServiceLookup.lookupPrintServices(flavor, pras);
PrintService defaultService =
PrintServiceLookup.lookupDefaultPrintService();
PrintService service = ServiceUI.printDialog(null, 200, 200, printService, defaultService, flavor, pras);
if (service != null) {
DocPrintJob job = service.createPrintJob();
FileInputStream fis = new FileInputStream(filename);
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
Thread.sleep(10000);
}
System.exit(0);
}
}
我想将DocFlavor flavor = DocFlavor.INPUT_STREAM.PNG; 更改为DocFlavor flavor = DocFlavor.INPUT_STREAM.<some html format>;
请建议此处适合使用哪种格式?
并请建议如何避免在运行此代码时弹出打印对话框。 ?
提前致谢 桑迪
【问题讨论】: