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

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...