javax.print.PrintException: 打印机不接受作业。在 UNIX 上

javax.print.PrintException: Printer is not accepting job. On UNIX

我们在 IBM AIX 6.1 上的 WebSphere 8.5 上安装了一个 Java 应用程序。我们需要使用此应用程序打印一些文档。

目前我们收到此错误:

ERROR syserr - javax.print.PrintException: Printer is not accepting job.

ERROR syserr -  at sun.print.UnixPrintJob.print(UnixPrintJob.java:307)

Java 使用的版本是 6.

我们尝试在线查找解决方案,并在 Whosebug 上找到了这个 link javax.print.PrintException: Printer is not accepting job

执行相同的步骤。但这并没有帮助。

我们也得到了这个信息 -

https://community.oracle.com/message/5449533

但是由于此解决方案是考虑到 Windows 机器而提供的,因此它对我们不起作用。

查看 UnixPrintJob.java 的源代码后,我们意识到以下部分代码导致了此错误:

    if ((PrinterIsAcceptingJobs)(service.getAttribute(

                      PrinterIsAcceptingJobs.class)) ==

                      PrinterIsAcceptingJobs.NOT_ACCEPTING_JOBS) {

         throw new PrintException("Printer is not accepting job."); 
     }

来源:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/print/UnixPrintJob.java

有人可以提供帮助和指导吗,为什么会这样,解决方案是什么?

遇到类似问题,发现与非root用户无法访问的qdaemon服务有关。检查非 root 用户是否可以使用 lpstat 查询在服务器上定义的打印队列。