我正在使用Java打印服务API来选择 PrintService
,然后将其传递给 JasperReport
的 JRPrintServiceExporter
. 基本思路是将文档发送到提供的 PrintService
. 它实际上是使用 java.awt.print.PrinterJob.print()
.
您似乎无法将打印作业发送到具有 PrinterIsAcceptingJobs.NOT_ACCEPTING_JOBS
属性的打印机,当它处于脱机状态或关机时如果我向其发送了一个作业,我会得到一个 PrinterException
因为它不接受作业 .
是否可以打印到“NOT_ACCEPTING_JOBS”打印机?在实际的操作系统中,这是有效的,作业在池中排队 . 如何使用Java打印服务API实现相同的效果?
1 回答
我认为您要解决的问题类似于this bug . 问题似乎是Java 1.5和1.6查看错误的标志(打印机而不是队列) .
似乎有效的解决方案是使用描述in this forum的ForceAcceptPrintService . 或者,this post提到使用字节操作的解决方法,但我自己没有尝试该解决方案 .