代码之家  ›  专栏  ›  技术社区  ›  Stephane Grenier

java.awt.print.printerexception:printservice的名称无效

  •  0
  • Stephane Grenier  · 技术社区  · 14 年前

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

    为了给您提供上下文,尽管我认为它并不真正相关,但我在JFreeReport经典引擎报告框架中使用它。

    stacktrace是:

    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 回复  |  直到 14 年前
        1
  •  0
  •   Ultimate Gobblement    14 年前

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

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

        2
  •  0
  •   Caio Trevisan    8 年前

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

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

    真是魅力四射!

    附言:我第一次回复StackOverflow!o/