2010-09-22 1250 views
0

我會問一個問題的形式,但我不知道爲什麼我得到這個異常。我在網上也找不到任何真實的文檔。java.awt.print.PrinterException:打印服務的名稱無效

爲了給你提供上下文,儘管我不認爲它是真正相關的,但我在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) 

以這裏發生了什麼任何意見或建議,將不勝感激!

更新:這將是巨大的,還找了何時何地會產生這個錯誤的一些文件...

+0

什麼是無效的PrintService名稱? – 2010-09-22 13:11:04

+0

我仍然在處理這個問題,但是我發現了一個有趣的Java錯誤報告:http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=3b491a0d16afa70adb151ef43c89?bug_id=6788490 – 2011-11-15 17:44:49

回答

0

打印服務名稱應該是你的打印機的名稱。我目前使用的PrintUtil類會彈出一個對話框,列出我在操作系統中設置的打印機。您是否可以使用計算機從其他應用程序打印?

如果沒有,則需要配置打印機,否則可能需要檢查jFreeReport是否需要在某處指定的默認打印機。由於JFreeReport是開源的,您應該能夠使用PrintUtil類創建一個簡單的測試程序 - 這可以更容易地展示代碼出現問題。

+0

是的,可以打印來自計算機上的其他應用程序。 – 2010-09-22 19:12:23

0

我有同樣的問題。 Java只是不打印我的打印作業。

所以我意識到,我的公司,只是改變了主打印機。然後我從我的打印機列表中刪除舊的(贏得8),並將其設置爲默認值。

工程就像一個魅力!

PS:我在stackoverflow上的第一個回覆! \ o/