我有以下代码,在我的
Java应用程序中显示本机打印对话框.
PrinterJob job = PrinterJob.getPrinterJob(); PrintRequestAttributeSet atts = new HashPrintRequestAttributeSet(); atts.add(DialogTypeSelection.NATIVE); if (job.printDialog(atts)) { PrintService newlyUsedService = job.getPrintService(); DocPrintJob docJob = newlyUsedService.createPrintJob(); // print the passed javax.print.SimpleDoc object. docJob.print(simpleDoc,atts); }
选择打印机并单击“打印”按钮时,此代码可正常工作,但当用户从左下角的“PDF”菜单中选择任何选项时,此代码无效.当选择“PDF”菜单中的一个选项时,getPrintService方法返回最后选择的打印机(屏幕截图中的Lillith).
任何人都可以建议在打印对话框中选择“另存为PDF …”时进行检测并做出相应的响应.
解决方法
您是否尝试过添加打印作业监听器?现在就读一读,我希望它会有所帮助: