public interface CancelablePrintJob extends DocPrintJob
DocPrintJob
。
一个DocPrintJob
从打印服务返回的实施实现了这个接口,如果打印工作可以取消。
在尝试取消打印作业之前,客户端需要测试从打印服务返回的DocPrintJob
对象是否实际实现此接口。
客户端不应该假设一个DocPrintJob
实现了这个接口。
打印服务可能仅支持某些类型的打印数据和表示类名称的取消。
这意味着只有一些从服务返回的DocPrintJob
对象将实现此接口。
鼓励服务实现者实现此可选接口,并且如果使用此接口的实现成功取消作业,则向任何侦听器传递javax.print.event.PrintJobEvent.JOB_CANCELLED事件。 服务还应该注意到,这种方法的实现可以由单独的客户端线程制作,而不是制作打印请求。 因此,这个接口的实现必须使线程安全。
Modifier and Type | Method and Description |
---|---|
void |
cancel()
停止打印作业的进一步处理。
|
addPrintJobAttributeListener, addPrintJobListener, getAttributes, getPrintService, print, removePrintJobAttributeListener, removePrintJobListener
void cancel() throws PrintException
如果一项服务支持这种方法,则不能断定作业取消将始终成功。 一旦达到并通过了处理中的某一点,工作可能无法取消。 取消成功仅表示整个作业未打印,某些部分可能在取消退货时已经打印。
如果取消不成功,该服务将抛出一个PrintException。 尚未提交印刷的作业应抛出此异常。 取消已经成功取消的打印作业不被认为是错误,并且将始终成功。
某些服务中的取消可能是一个冗长的过程,涉及对服务器的请求和其打印队列的处理。 客户可能希望在不影响应用程序执行的线程中执行取消。
PrintException
- 如果作业无法成功取消。