【发布时间】:2014-12-23 19:31:36
【问题描述】:
我想用 java Swing 为医疗商店开发一个独立的应用程序。在没有打印对话框的情况下单击即可打印小尺寸(219mm 至 140mm)的芯片。他们需要时不时地将报告从不同的打印机打印到完整的 A4 页面。
是否可以在不带打印机对话框的情况下使用 Java SE 在 Java 应用程序中更改打印机和纸张属性?
【问题讨论】:
标签: java swing printing awt components
我想用 java Swing 为医疗商店开发一个独立的应用程序。在没有打印对话框的情况下单击即可打印小尺寸(219mm 至 140mm)的芯片。他们需要时不时地将报告从不同的打印机打印到完整的 A4 页面。
是否可以在不带打印机对话框的情况下使用 Java SE 在 Java 应用程序中更改打印机和纸张属性?
【问题讨论】:
标签: java swing printing awt components
来自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) {
}
}
您可以获得所有可用的 PrintServices 并以所需的格式打印。
【讨论】: