SwingJava。awt。打印PrinterException:PrintService的名称无效
我会以问题的形式提问,但我不知道为什么会出现这种例外。我在网上也找不到任何真正的文档
为了给您提供上下文,尽管我认为这并不重要,但我正在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)
任何关于这里发生的事情的想法或建议都将不胜感激
更新:如果能找到一些关于何时何地生成此错误的文档,那就太好了
# 1 楼答案
打印服务名称应该是打印机的名称。我现在使用的PrintUtil类会弹出一个对话框,列出我在操作系统中设置的打印机。你能用电脑打印其他应用程序吗
如果没有,您需要配置打印机,否则您可能需要检查jFreeReport是否需要指定的默认打印机。由于JFreeReport是开源的,所以您应该能够仅使用PrintUtil类创建一个简单的测试程序——这可能会使演示代码的错误变得更容易
# 2 楼答案
我也有同样的问题。Java只是不打印我的打印作业
所以我意识到,我的公司刚刚更换了主打印机。然后我从打印机列表(win 8)中删除了旧的一个,并将新的设置为默认设置
很有魅力
PS:我第一次回复stackoverflow!\o/