Delphi から PDF を直接印刷したい (バージョン 6.0、古いものであることはわかっていますが、ここで使用されています...)。
これまでのところ、次のコマンドを使用しました。
printCommand := 'print';
printerInfo := '';
ShellExecute(Application.Handle, PChar(printCommand),
PChar(documentToPrint), PChar(printerInfo), nil, SW_HIDE);
しかし、問題は、これを行うときに Adobe が常に開くことです (PDF を開くのではなく、「空」として表示されるだけです)。
Adobe を開きたくありません。その場合、オペレータは常に Reader を閉じなければならないからです。また、印刷後に Adobe Reader を閉じても問題ありません。Adobe Reader を直接起動したくありません。パス、名前、または PDF ソフトウェアが変更されても動作するはずだからです。なのでwin標準のプログラムが使えればいいのですが。たとえば、Ghost Reader がデフォルトの PDF ソフトウェアとしてインストールされている場合も同様です。しかし、前述のように、ジョブの印刷後に開いたり、少なくとも閉じたりするべきではありません。
また、新しいプロセスを作成してから終了するなどのことも避けたいと思います。