模块  java.desktop
软件包  javax.print

Interface DocPrintJob

  • All Known Subinterfaces:
    CancelablePrintJobMultiDocPrintJob

    public interface DocPrintJob
    此接口表示可以使用一组作业属性打印指定文档的打印作业。 实现该接口的对象是从打印服务获得的。
    • 方法详细信息

      • getPrintService

        PrintService getPrintService()
        确定此打印作业对象绑定到的PrintService对象。
        结果
        PrintService对象
      • getAttributes

        PrintJobAttributeSet getAttributes()
        获取此打印作业的打印属性集。 返回的属性集对象是不可修改的。 返回的属性集对象是getAttributes()方法调用时设置的此Print Job属性的“快照”; 也就是说,如果此打印作业的属性集的内容将来发生更改,则不会更新返回的属性集的对象内容。 要检测属性值的更改,请再次调用getAttributes()并将新属性集与先前的属性集进行比较; 或者,为打印作业事件注册一个监听器。 返回的值可能是空集,但不应该是null
        结果
        打印作业属性
      • addPrintJobListener

        void addPrintJobListener​(PrintJobListener listener)
        为此打印作业期间发生的事件注册监听器。 如果监听器是null ,则不会抛出任何异常并且不执行任何操作。 如果已经注册了监听器,它将再次注册。
        参数
        listener - 实现侦听器接口的对象
        另请参见:
        removePrintJobListener(javax.print.event.PrintJobListener)
      • removePrintJobListener

        void removePrintJobListener​(PrintJobListener listener)
        从此打印作业中删除侦听器。 如果先前未将参数指定的侦听器添加到此打印作业,则此方法不执行任何功能,也不会引发异常。 如果监听器是null ,则不会抛出任何异常并且不执行任何操作。 如果一个监听器被注册多次,则只会删除其中一个注册。
        参数
        listener - 实现侦听器接口的对象
        另请参见:
        addPrintJobListener(javax.print.event.PrintJobListener)
      • addPrintJobAttributeListener

        void addPrintJobAttributeListener​(PrintJobAttributeListener listener,
                                          PrintJobAttributeSet attributes)
        注册侦听器以更改指定的属性。 如果监听器是null ,则不会抛出任何异常并且不执行任何操作。 要确定此作业可能报告的属性更新,客户端可以调用getAttributes()并识别有趣且可能向监听器报告的子集。 希望更新特定作业属性更改的客户端应验证它是否在该集合中,但只有在更改并且作业检测到属性时才会对属性进行更新。 此外,更新可能需要按作业进行批处理。 为了最大限度地减少打印作业处理的开销,建议仅监听可能更改的属性子集。 如果指定的集为空,则不会向侦听器报告属性更新。 如果属性集为null ,则表示侦听作业支持的所有动态属性。 如果作业无法报告任何属性更新,则可能导致无更新通知。

        如果已经注册了监听器,它将再次注册。

        参数
        listener - 实现侦听器接口的对象
        attributes - 要侦听的属性,或 null表示可以更改的所有属性,由作业确定
        另请参见:
        removePrintJobAttributeListener(javax.print.event.PrintJobAttributeListener)
      • print

        void print​(Doc doc,
                   PrintRequestAttributeSet attributes)
            throws PrintException
        使用指定的作业属性打印文档。 对于给定的打印作业,只应调用此方法一次。 再次调用它不会导致新作业被假脱机到打印机。 服务实现将定义服务中断和恢复的策略。 当打印方法返回时,打印可能尚未完成,因为打印可能异步发生,可能在不同的线程中。 想要监控成功或失败的应用程序客户端应注册PrintJobListener

        打印服务实现者应该关闭从客户端doc获取的任何打印数据流(即ReaderInputStream实现)。 强大的客户可能仍希望验证这一点。 如果无法打印DocFlavor则始终会生成异常。

        参数
        doc - 要打印的文档。 它必须是这个PrintJob支持的味道。
        attributes - 要应用于此打印作业的作业属性。 如果此参数为null则使用默认属性。
        异常
        PrintException - 该例外还可以实现更精确地描述异常原因的接口
        • FlavorException 如果文档具有此打印作业不支持的风格。
        • AttributeException 如果一个或多个属性对此打印作业无效。