PDF Viewer SDK で簡単PDFビューア作成(8)

前回までで、印刷や保存やコピーを禁止した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/
評価版ダウンロードページ:
https://www.antenna.co.jp/pdfviewersdk/trial.html