Adobe社が提供しているActive Xコントロールを使用してPDFファイルを表示します。
FormコントロールにAcrobat Readerを張り付けて使用しているイメージになります。
アプリケーションの実装手順は以下のようになります。
1.新しいプロジェクトを作成する。
Windowアプリケーションを選択します。
2.ツールボックスで「アイテムの選択」を行い、COMコンポーネントの一覧から「Adobe PDF Reader」を追加します。
3.新しく追加されたAdobeのコントロールをフォームへ張り付けます。
4.プログラムで実行時にPDFファイルのパスを渡してやります。
ソースは以下のようになります。
このコントロールを使用すると、AcroPDFのメソッドを使用して、表示倍率の切り替えや印刷などができるようになります。
しかし、Adobe Readerをインストールして使用できる機能は一部のみです。
詳細については、Acrobar SDKのDocumentation内のヘルプを確認してください。
「Introduction to SDK > Developing for Adobe Reader > Interapplication Communication」あたりに記述があります。
便利に使える、コントロールですが、すこし問題があるようです。
今回のサンプルでは、PDFを表示する機能が共通化されることを考えてDLLとして作成し、ファイル指定するEXEから起動しているのですが、PDFを表示してすぐにEXEを終了するとアプリケーションエラーとなりました。
PDFを表示する共通機能を終了して、しばらく待ってからEXEを終了すると正常に終了しました。
このコントロールを使用したアプリケーションを実行するとバックグラウンドでAdobe のコントロールに関するプロセスが起動します。
アプリケーションを終了した時点で、Adobe のプロセスもきれいに終わればいいのですが、このプロセスの終了するタイミングに問題があるようです。