Module  java.desktop
软件包  javax.print

Interface DocPrintJob

  • All Known Subinterfaces:
    CancelablePrintJobMultiDocPrintJob


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

      • getPrintService

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

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

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

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

        void addPrintJobAttributeListener​(PrintJobAttributeListener listener,
                                          PrintJobAttributeSet attributes)
        注册侦听器以指定属性的更改。 如果侦听器为空,则不会抛出异常,也不会执行任何操作。 要确定此作业可能报告的属性更新,客户端可以调用getAttributes()并识别有趣且可能向侦听器报告的子集。 希望对特定作业属性中的更改进行更新的客户端应验证它是否在该集合中,但是仅当更改关于属性的更新,并且该作业才能检测到属性时才会进行更新。 此外,更新可能会受到作业的批处理。 为了最小化打印作业处理的开销,建议只监听可能会发生变化的属性子集。 如果指定的集合为空,则不会将属性更新报告给侦听器。 如果属性集为空,那么这意味着监听该作业支持的所有动态属性。 如果作业无法报告任何属性更新,则可能导致没有更新通知。 如果听众已经注册,它将被重新注册。
        参数
        listener - 实现侦听器接口的对象
        attributes - 要监听的属性,或null表示可以更改的所有属性,由作业确定。
        另请参见:
        removePrintJobAttributeListener(javax.print.event.PrintJobAttributeListener)
      • print

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

        打印服务实现者应该关闭他们从客户端文档获取的任何打印数据流(即Reader或InputStream实现)。 稳健的客户可能仍然希望验证这一点。 如果无法打印DocFlavor则始终会生成异常。

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