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] メニューからオプションを選択すると動作しません。getPrintService メソッドは、[ Lillith
PDF] メニューのオプションの 1 つが選択されると、最後に選択されたプリンター (スクリーンショットから) を返します。
印刷ダイアログで「PDF として保存…」が選択されたことを検出し、それに応じて応答するために何をすべきかを誰でも提案できますか。