模块 java.desktop

接口 DocPrintJob

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

public interface DocPrintJob
此接口代表一个打印作业,该作业可以打印具有一组作业属性的指定文档。实现此接口的对象是从打印服务获得的。
  • 方法详情

    • getPrintService

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

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

      void addPrintJobListener(PrintJobListener  listener)
      为该打印作业期间发生的事件注册一个监听器。如果 listener 是 null ,则不会抛出异常并且不会执行任何操作。如果监听器已经注册,它将被重新注册。
      参数:
      listener - 实现监听器接口的对象
      参见:
    • removePrintJobListener

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

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

      如果监听已经注册,它将被重新注册。

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

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

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

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

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