java.awt.print.PrinterException:PrintService的名称无效

问题描述 投票:0回答:2

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

为了给你上下文,虽然我不认为它真的相关,但我在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)

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

更新:很高兴找到一些关于何时何地生成此错误的文档...

java swing printing jfreereport
2个回答
0
投票

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

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


0
投票

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

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

奇迹般有效!

PS:我对stackoverflow的第一个回复! \ O /

© www.soinside.com 2019 - 2024. All rights reserved.