Adobeのコントロールを張り付けて、印刷処理を実装します。
張り付けたコントロール上で印刷機能が実行できるので、あまり使う機会は無いと思いますが印刷処理の前後で業務処理を実装する場合に必要になるかも知れません。
私の場合、Adobeのコントロールから印刷を実行できないようにしようと試みましたが、うまく行きませんでした。
最終的に、Panelの上にAdobeのコントロールを張り付けてPanelをEnable=falseにしてしまいました。
スクロールなどの操作も一切できなくなり、かなり残念な感じになりました。
その他にもAdobe Readerのライセンスでは機能に制限があります。
ページ指定の印刷メソッドが使用できますが、PDFファイルのページ数を取得する機能が使用できません。
iTextなどを使用して自力でPDFファイルを生成してページ数が把握できるのであれば有効です。
それと、Adobeの印刷画面を表示せずに印刷するメソッドを使用すると下記のような画面が表示されます。
悪意のあるスクリプトから勝手に印刷されたりしないように警告するようです。
「次回から表示しない」をチェックすると表示されなくなります。
レジストリをいじると表示されなくなりますが、ややこしいので運用でカバーする必要があります。
さて、問題のテスト用のアプリケーションの作成手順は、以下の通りです。
1.「webBrowserコントロールを使用してPDFを表示」と同じ手順でFormにAdobeコントロールを張り付けてください。
2.印刷処理を実装するボタンのコントロールを張り付けてください。

3.それぞれのボタンに実装するコードは以下の通り。