0

我会以问题的形式问它,但我不知道为什么我会得到这个例外。我也无法在网上找到任何真正的文档。

尽管我认为它并不相关,但为了给您提供上下文,我在 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)

任何关于这里发生的事情的想法或建议将不胜感激!

更新:如果能找到一些关于何时何地生成此错误的文档,那就太好了……

4

2 回答 2

1

我有同样的问题。Java 只是不打印我的打印作业。

所以我意识到,我的公司刚刚更换了主打印机。然后我从我的打印机列表中删除了旧的(win 8)并将新的设置为默认值。

奇迹般有效!

PS:我对stackoverflow的第一次回复!\o/

于 2016-06-30T19:55:01.813 回答
0

打印服务名称应该是您的打印机的名称。我现在使用的 PrintUtil 类会弹出一个对话框,列出我在操作系统中设置的打印机。您可以使用您的计算机从其他应用程序打印吗?

如果不需要,您需要配置打印机,否则您可能需要检查 jFreeReport 是否需要在某处指定默认打印机。由于 JFreeReport 是开源的,您应该能够仅使用 PrintUtil 类创建一个简单的测试程序——这可能更容易演示代码出了什么问题。

于 2010-09-22T14:08:05.413 回答