Java“打印机不接受工作”的老兄弟打印机

时间:2010-08-27 12:31:59

标签: java jobs printing

我的客户端使用旧的Brother打印机从JAVA应用程序打印时遇到问题。他得到的例外是“打印机不接受工作”。

其他应用程序(不是Java应用程序)设法使用这些打印机进行打印。他换了一台新的打印机(也是兄弟),没有更换驱动程序然后就可以了。

他的想法是他无法更换所有打印机,也不想重新安装所有打印机,因为他拥有数百台计算机和打印机的网络。

我在不同的论坛上看到java版本1.5和1.6中存在一个错误,但此应用程序仅适用于java 1.5或更高版本...因此他无法切换到java 1.4(使用java 1.4,打印工作)

请你以某种方式帮助我,并为我提供一些可能的解决方案吗?

2 个答案:

答案 0 :(得分:2)

http://copy-con.blogspot.com/2009/12/printer-is-not-accepting-job.html

处找到使用字节码操作的解决方法

答案 1 :(得分:1)

看来这是this bug。不幸的是,它被标记为低优先级,并且由于没有人打扰投票,它正在被推迟。

This forum thread提供了一些有用的背景信息(回复#11)和一种解决方法(回复#9),在尝试打印文件时忽略了打印机状态。

如果您希望在Java 7中修复此错误,仍有时间submit a patch

修改

我知道有人对这个解决方案提出异议,但我没有理解这个问题。无论如何,应该可以使用相同的方法或不同的方法开发更好的版本。如果子类化和使用反射调整私有状态不起作用,那么您可以下载Java 6源代码,修复错误并重建。

我确信如果有人为您提供解决方案会很好,但让我们切合实际。这看起来像一个影响很少人的问题。 IMO,您获得成功的最佳机会是:

  • 自助,
  • 支付Oracle支持合同,或
  • 聘请独立技术专家。

其中,自助帮助最有可能为您提供快速解决方案......假设您的人员具备在内部完成此类工作的技能。