ダイアログでPDFを表示する(Adobe PDF ReaderのCOM使用)その2 動的操作
前回は、コントロールを張り付けてPDFを表示しましたが、
今回は、new して動的に表示したい。
まぁ、たいして変わらんのだけど、PDFを複数ファイル開くときは必要になると思う。
※Adobe PDF Readerがインストールされていること。
準備
前回の準備と同様にCOMを追加するか、
前回のビルド後に出力フォルダへ出力された、
・AxInterop.AcroPDFLib.dll
・Interop.AcroPDFLib.dll
を参照で追加します。
今回は、dllの参照設定で対応した。
1.[ソリューションエクスプローラー]の[参照]を右クリックして[参照の追加]をクリック
2.参照からDLLを追加する
結果が下記となっていれば成功。
準備完了!
ソース
パネルの上にPDFコントロールを張り付けたいのでパネルを追加して、
操作用にボタンも配置。
んで、コーディング。
using System; using System.Windows.Forms; namespace PDFView2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // PDFオブジェクト // なぜ「AxAcroPDFLib」か? // コントロールクラスを継承してるから。 AxAcroPDFLib.AxAcroPDF objAxAcroPDF = new AxAcroPDFLib.AxAcroPDF(); private void Form1_Load(object sender, EventArgs e) { // フォーム全体へ表示 objAxAcroPDF.Dock = DockStyle.Fill; // パネルへPDFコントロール追加 // // 今回はボタンを配置したかったのでパネルの上にコントロールを張っています。 // フォームへ直接設定する場合は、 // // this.Controls.Add((Control)objAxAcroPDF); // // となる this.panel1.Controls.Add((Control)objAxAcroPDF); } private void button1_Click(object sender, EventArgs e) { // 読み込み objAxAcroPDF.LoadFile(@"E:\サンプルPDF.pdf"); } } }
んな感じ。
実行結果
起動時
ボタン押してみる
補足
特になし。
タブコントロールと組み合わせると、
Adobe Readerのように作れるかな。