0
我想开发一个独立的应用程序与Java Swing的医疗商店。有一个强制性的要求,打印一个小尺寸(219毫米至140毫米),只需单击一下,没有打印对话框。间歇性地,他们需要从不同的打印机将报告送至完整的A4页面。Java打印机api
是否可以在不使用打印机对话框的情况下使用Java SE更改Java应用程序中的打印机和纸张属性?
我想开发一个独立的应用程序与Java Swing的医疗商店。有一个强制性的要求,打印一个小尺寸(219毫米至140毫米),只需单击一下,没有打印对话框。间歇性地,他们需要从不同的打印机将报告送至完整的A4页面。Java打印机api
是否可以在不使用打印机对话框的情况下使用Java SE更改Java应用程序中的打印机和纸张属性?
从PrintService
接口的javadoc的一个例子
DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(MediaSizeName.ISO_A4);
PrintService[] pservices =
PrintServiceLookup.lookupPrintServices(flavor, aset);
if (pservices.length > 0) {
DocPrintJob pj = pservices[0].createPrintJob();
try {
FileInputStream fis = new FileInputStream("test.ps");
Doc doc = new SimpleDoc(fis, flavor, null);
pj.print(doc, aset);
} catch (FileNotFoundException fe) {
} catch (PrintException e) {
}
}
你可以得到所有可用的PrintService并与所需的格式打印。