Module java.desktop
Package javax.print

Interface CancelablePrintJob

所有超级接口:
DocPrintJob

public interface CancelablePrintJob extends DocPrintJob
打印应用程序使用此接口来取消打印作业。此接口扩展自DocPrintJob。如果打印作业可以被取消,则从打印服务返回的DocPrintJob实现此接口。在尝试取消打印作业之前,客户端需要测试从打印服务返回的DocPrintJob对象是否实际实现了此接口。客户端不应假设DocPrintJob实现了此接口。打印服务可能仅支持对某些类型的打印数据和表示类名称进行取消。这意味着从服务返回的DocPrintJob对象中只有一些会实现此接口。

服务实现者被鼓励实现此可选接口,并在使用此接口成功取消作业时向任何侦听器发送PrintJobEvent.JOB_CANCELED事件。服务还应注意,此方法的实现可能来自于与发出打印请求的客户端线程不同的线程。因此,此接口的实现必须是线程安全的。

  • Method Details

    • cancel

      void cancel() throws PrintException
      停止打印作业的进一步处理。

      如果服务支持此方法,则不能断定作业取消将始终成功。一旦作业达到并通过某些处理点,可能无法取消作业。成功取消仅表示整个作业未被打印,当取消返回时可能已经打印了一部分。

      如果取消未成功,服务将抛出PrintException。尚未提交打印的作业应抛出此异常。取消已成功取消的打印作业不被视为错误,将始终成功。

      在某些服务中,取消可能是一个漫长的过程,涉及向服务器发送请求和处理其打印队列。客户端可能希望在不影响应用程序执行的线程中执行取消。

      抛出:
      PrintException - 如果无法成功取消作业