加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 03:10:26 所属栏目:Java 来源:网络整理
导读:我有以下代码,在我的 Java应用程序中显示本机打印对话框. PrinterJob job = PrinterJob.getPrinterJob();PrintRequestAttributeSet atts = new HashPrintRequestAttributeSet();atts.add(DialogTypeSelection.NATIVE);if (job.printDialog(atts)) { PrintSer
我有以下代码,在我的 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读