Module java.desktop
Package javax.print

Interface DocPrintJob

已知的所有子接口:
CancelablePrintJob, MultiDocPrintJob

public interface DocPrintJob
该接口表示可以使用一组作业属性打印指定文档的打印作业。实现此接口的对象是从打印服务中获取的。
  • Method Details

    • getPrintService

      PrintService getPrintService()
      确定此打印作业对象绑定到的PrintService对象。
      返回:
      PrintService对象
    • getAttributes

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

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

      void removePrintJobListener(PrintJobListener listener)
      从此打印作业中删除监听器。如果指定的参数之前未添加到此打印作业,则此方法不执行任何功能,也不会抛出异常。如果监听器为null,则不会抛出异常,也不会执行任何操作。如果一个监听器注册了多次,即使是针对不同的属性集,也不能保证哪个监听器被移除。
      参数:
      listener - 实现监听器接口的对象
      参见:
    • addPrintJobAttributeListener

      void addPrintJobAttributeListener(PrintJobAttributeListener listener, PrintJobAttributeSet attributes)
      注册监听器以更改指定属性。如果监听器为null,则不会抛出异常,也不会执行任何操作。为了确定此作业可能报告的属性更新,客户端可以调用getAttributes()并识别感兴趣且可能报告给监听器的子集。期望更新特定作业属性的客户端应验证它是否在该集合中,但只有在属性更改且作业检测到更改时才会进行更新。此外,更新可能会受作业的批处理影响。为了最小化打印作业处理中的开销,建议仅监听可能更改的属性子集。如果指定的集合为空,则不会向监听器报告任何属性更新。如果属性集为null,则这意味着监听所有作业支持的动态属性。如果作业无法报告任何属性更新,则可能不会收到更新通知。

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

      参数:
      listener - 实现监听器接口的对象
      attributes - 要监听的属性,或null表示所有可能更改的属性,由作业确定
      参见:
    • removePrintJobAttributeListener

      void removePrintJobAttributeListener(PrintJobAttributeListener listener)
      从此打印作业中删除属性监听器。如果指定的参数之前未添加到此打印作业,则此方法不执行任何功能,也不会抛出异常。如果监听器为null,则不会抛出异常,也不会执行任何操作。如果一个监听器注册了多次,即使是针对不同的属性集,也不能保证哪个监听器被移除。
      参数:
      listener - 实现监听器接口的对象
      参见:
    • print

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

      打印服务实现者应关闭从客户端文档获取的任何打印数据流(即ReaderInputStream实现)。健壮的客户端可能仍希望验证此操作。如果无法打印DocFlavor,则始终会生成异常。

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