他のPDFビューアでも、Adobe Readerのプラグアンドプレイの代替となるような方法で対応できるかどうかわかりません。おそらく、サポートしたいそれぞれのプログラムに合わせて調整する必要があります。 Readerをシステムにインストールするのはそれほど難しくありません。実際には、仕事をする必要があり、ほとんどのコンピュータにはプリインストールされています。
""C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe"" /p /h "%1"
注引数:
は
あなたが知っている必要が最初の事はあなたがいずれかのコードやエクスプローラのコンテキストメニューから、その動詞を経由して印刷することを教えたとき、あなたはこのような何かをやっているということです。/p(印刷するよう指示する)と/ h(最小化を開始する)。
別のオプションがあります。アドビ開発者向けFAQ(http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/intro_to_sdk/DeveloperFAQ.pdf)は、このコマンドラインが動作することを述べてファイル単位:
AcroRd32.exe /t path "printername" "drivername" "portname"
文書は、[印刷]ダイアログボックスを抑制しながら、これは、Adobe Readerのを開始し、そのパスを完全に指定する必要がありますファイルを印刷していることを指定します。
「現在開いている場合でも、AcrobatまたはAdobe Readerの別のインスタンスを起動する」オプションがあります。 (開発者向けのFAQをもう一度読んでください。)これは複数の印刷ジョブを並行して実行するために使用できます。
私がまだ別のコマンドラインリファレンスを見つけました:だから、基本的に、あなたはPDFファイルのリストを反復処理し、それぞれに対してProcess.Start呼び出しで新しい印刷プロセスを開始し、それがクローズするのを待つことができAdobe Reader Command Line Reference
Process.WaitForExitを介して。これにより、プログラムがハングしているように見えますが、プログラムの実行中にハングアップすると嫌になるので、実際にはキャンセル可能なBackgroundWorkerで処理を進めてください。
私たちは同じ(そして関連する)問題を抱え、最終的に回避策として[gsprint](http://pages.cs.wisc.edu/~ghost/gsview/gsprint.htm)を使用しました。 – Silas
私がやるべきことの最初のことは、 'regedit'(慎重にもちろん)で掘り下げて、あなたのマシンで起こっていることを正確に調べることです。 – AakashM
オクラ@Silas、私はその結論に来ないことを望んでいた。 =/ – Skywise