java – 如何检测“另存为PDF …”是从OS X上的AWT PrinterJob中选取的

前端之家收集整理的这篇文章主要介绍了java – 如何检测“另存为PDF …”是从OS X上的AWT PrinterJob中选取的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下代码,在我的 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 …”时进行检测并做出相应的响应.

解决方法

您是否尝试过添加打印作业监听器?现在就读一读,我希望它会有所帮助:

Print Job Listener

猜你在找的Java相关文章