ドキュメントをpdfプリンタードライバーに送信し、そのドライバーが特定のディレクトリに印刷するプログラムがあります。印刷後、PDFを電子メール(MailMessage)に添付して送信したいと思います。
現在、ドキュメントをプリンターに送信し(新しいプロセスを生成します)、FileSystemWatcher.WaitForChanged(WaitForChangedResult.Created)を呼び出しますが、オブジェクトが作成されても「印刷」は行われず、PDFプリンターにはまだそのファイルを電子メールに添付しようとするとエラーが発生します。
- プレーンなThread.Sleep(2000)などを検討しましたが、それは理想的とは言えません。
- 添付コードをtry/catchブロックに入れて失敗時にループすることを検討しましたが、これも悪いニュースです。
私は本当にエレガントな解決策を考えることはできません。