我会以问题的形式问它,但我不知道为什么我会得到这个例外。我也无法在线找到任何真实的文档。
为了给你上下文,虽然我不认为它真的相关,但我在JFreeReport经典引擎报告框架中使用它。
堆栈跟踪是:
java.awt.print.PrinterException: Invalid name of PrintService.
at sun.awt.windows.WPrinterJob.setNativePrintService(Native Method)
at sun.awt.windows.WPrinterJob.getPrintService(Unknown Source)
at sun.awt.windows.WPrinterJob.printDialog(Unknown Source)
at org.jfree.report.modules.gui.print.PrintUtil.print(PrintUtil.java:128)
at org.jfree.report.modules.gui.print.PrintExportTask.run(PrintExportTask.java:84)
at java.lang.Thread.run(Unknown Source)
对于这里发生的事情的任何想法或建议将不胜感激!
更新:最好还找到一些关于何时何地生成此错误的文档...
答案 0 :(得分:0)
打印服务名称应该是您的打印机的名称。我目前使用的PrintUtil类会显示一个对话框,列出我在操作系统中设置的打印机。您可以使用计算机从其他应用程序打印吗?
如果不需要配置打印机,否则您可能需要检查jFreeReport是否需要在某处指定默认打印机。由于JFreeReport是开源的,因此您应该能够仅使用PrintUtil类创建一个简单的测试程序 - 这可以更容易地演示代码出错的地方。
答案 1 :(得分:0)
我遇到了同样的问题。 Java只是不打印我的打印作业。
所以我意识到,我的公司刚刚更换了主打印机。然后我从我的打印机列表中删除旧的(赢8)并将新的设置为默认值。
像魅力一样!
PS:我对stackoverflow的第一个回复! \ O /