前回までで、印刷や保存やコピーを禁止したPDFビューアができました。
本日は、さらにユーザーが他のファイルをオープンできないようにして、指定したファイルだけ表示するようにしてみたいと思います。
●ファイルのオープンを禁止する
ファイルのオープンを禁止するには、まずオープンボタンを用意しないようにします。
下の画面は第5回までの記事で作成したPDFビューアからオープンボタンを削除したPDFビューアです。
これでボタンからオープンはできないのですが、SDKの2つのコントロールPDFPageViewCtrlとPDFThumbnailCtrl は、標準でファイルのドラッグ&ドロップを受け付けPDFをオープンするようになっています。
ドラッグ&ドロップでのオープンを禁止するには、第5回で紹介したドラッグ&ドロップ用のイベントハンドラを実装することで行います。
ここでは、DragDropFilesイベントのイベントハンドラを実装します。
Visual StudioのフォームデザイナーでPDFPageViewCtrlのプロパティを開き、イベントの画面で「DragDropFiles」を探して、右の空欄部分をダブルクリックします。
イベントハンドラの雛形コードが生成されますので、以下のように実装します。
private int pdfPageViewCtrl1_DragDropFiles(string[] files)
{
return 0;
}
このコードは、既定の動作(PDFファイルのオープン)を上書きし、何も処理を行わないようにします。これでアプリケーションにファイルがドラッグ&ドロップされてもオープンできなくなります。
PDFThumbnailCtrl もドラッグ&ドロップが可能ですので、DragDropFilesイベントのイベントハンドラを同じように実装してオープンできないようにします。
あとは、コントロールのOpenDocumentメソッドで、アプリケーションの起動時などに、表示したいPDFファイルをオープンするようにすれば、特定のファイルしかオープンできない閲覧専用のPDFビューアを作成することができます。
以上、「Antenna House PDF Viewer SDK」を利用した閲覧専用のPDFビューアの作り方のご紹介でした。
詳しい機能についてぜひ製品ページをご覧ください。
- 評価版ダウンロードページ:
- https://www.antenna.co.jp/pdfviewersdk/trial.html