【问题标题】:Java printer apiJava 打印机 API
【发布时间】:2014-12-23 19:31:36
【问题描述】:

我想用 java Swing 为医疗商店开发一个独立的应用程序。在没有打印对话框的情况下单击即可打印小尺寸(219mm 至 140mm)的芯片。他们需要时不时地将报告从不同的打印机打印到完整的 A4 页面。

是否可以在不带打印机对话框的情况下使用 Java SE 在 Java 应用程序中更改打印机和纸张属性?

【问题讨论】:

    标签: java swing printing awt components


    【解决方案1】:

    来自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 并以所需的格式打印。

    【讨论】:

      猜你喜欢
      • 2019-01-27
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 2018-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多