Java打印机api

Java打印机api,java,swing,printing,awt,components,Java,Swing,Printing,Awt,Components,我想用JavaSwing为医疗商店开发一个独立的应用程序。有一项强制性要求,即在没有打印对话框的情况下,只需单击一次即可打印小尺寸(219mm至140mm)的chit。他们有时需要从另一台打印机将报告打印成A4纸 是否可以使用Java SE在Java应用程序中更改打印机和纸张属性,而不带打印机对话框?来自PrintService接口的javadoc的示例 DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT; PrintRequestAttri

我想用JavaSwing为医疗商店开发一个独立的应用程序。有一项强制性要求,即在没有打印对话框的情况下,只需单击一次即可打印小尺寸(219mm至140mm)的chit。他们有时需要从另一台打印机将报告打印成A4纸


是否可以使用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) {
     }
}
您可以获得所有可用的PrintServices并以所需格式打印