有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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)

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

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


共 (2) 个答案

  1. # 1 楼答案

    打印服务名称应该是打印机的名称。我现在使用的PrintUtil类会弹出一个对话框,列出我在操作系统中设置的打印机。你能用电脑打印其他应用程序吗

    如果没有,您需要配置打印机,否则您可能需要检查jFreeReport是否需要指定的默认打印机。由于JFreeReport是开源的,所以您应该能够仅使用PrintUtil类创建一个简单的测试程序——这可能会使演示代码的错误变得更容易

  2. # 2 楼答案

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

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

    很有魅力

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