java.awt.print.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 ответа
У меня такая же проблема. Ява просто не печатает мою работу по печати.
Поэтому я понял, что моя компания просто сменила основной принтер. Затем я удалил старый из списка своих принтеров (win 8) и установил новый по умолчанию.
Работает как шарм!
PS: мой первый ответ на stackru! \ О /
Имя службы печати должно совпадать с именем вашего принтера. Класс PrintUtil, который я использую в данный момент, вызывает диалоговое окно со списком принтеров, которые я настроил в моей операционной системе. Можете ли вы печатать из других приложений с помощью компьютера?
Если нет, вам нужно настроить принтер, в противном случае вы можете проверить, нужен ли jFreeReport принтер по умолчанию, указанный где-либо. Поскольку JFreeReport является открытым исходным кодом, вы должны быть в состоянии создать простую тестовую программу, используя только класс PrintUtil - это может упростить демонстрацию того, что происходит с кодом.