フロントパネルにpdfを表示

Tips

スポンサーリンク

この記事で扱っていること

  • フロントパネルにpdfを表示させる方法

を紹介しています。

注意:すべてのエラーを確認しているわけではないので、記事の内容を実装する際には自己責任でお願いします。また、エラー配線は適当な部分があるので適宜修正してください。

LabVIEWでファイルを扱う場合、多くはファイルIOの関数によって中身の読み書きを行うことが多いと思います。

ただ、「読み」は「読み」でも図表など交えた文書を表示させるようなプログラムはファイルIOの関数ではできず、別のアプローチが必要です。

そんな文書の例として今回はpdfを扱い、これをLabVIEW上に表示させる方法を紹介しています。

スポンサーリンク

どんな結果になるか

フロントパネルには、pdfの内容を表示させる「ActiveXコンテナ」があり、pdf文書に対して行う様々な操作に対するボタンが配置されています。

pdf文書の表示は、以下の図のようになります。

各ボタンを押すとページを移れるだけでなく、画面の拡大縮小であったり、印刷画面の表示もできます。

プログラムの構造

ActiveXを使用してAdobe PDF Readerの機能を呼び出しています。

なお、ActiveXの設定方法がわからない場合には、記事後半のActiveXの設定の項目を見てみてください。

プログラムはイベントベースにしています。

全ての操作が、既にActiveXの機能として呼び出すことができ、一部の操作を除いて、インボークノードでメソッドを選択するだけで実現できます。

pdfファイルを選択する場合にはLoadFileでできますが、当然どのファイルを開くかを選択する必要がありこれは文字列での指定になるので、「パスを文字列に変換」関数を使用します。

前のページに戻る場合にはgotoPreviousPageというそのままの名前のメソッドを選択するだけです。

次にページへ進むにはgotoNextPage、最初のページに進むのはgotoFirstPageで、こちらも名前のまんまの機能です。

最後のページに進むのも同じですね。gotoLastPageでいけちゃいます。

レイアウトの状態を変更する場合にはsetLayoutModeというものがあります。

layoutModeの種類は複数あり冒頭の画像で紹介しています。文字列で指定しますが選択肢が有限なので、テキストリングを使用してその中から選ばせるようにしています。

拡大縮小するのはsetZoomで、こちらは倍率を数値で指定します。

印刷にはprintWithDialogを使用すると、印刷の設定画面ダイアログが出て便利です。

最後は停止ボタンで、このイベントストラクチャが入っているWhileループを止められます。

ActiveXの設定

今回のような、外部のプログラムを呼び出して使用するActiveXの使用には、まずフロントパネルにコンテナを用意して設定を進めます。

Adobe PDF Readerの場合には以下の手順に沿って設定をすることになります。

最初にActiveXの機能を表示するためのコンテナをフロントパネル上に用意します。

そしてこのコンテナに対してオブジェクトを挿入します。

出てくる選択肢でAdobe PDF Readerを選択します。

これでブロックダイアグラムにこのActiveXに対するリファレンスが作られるので、あとはこのリファレンスをプロパティノードやインボークノードのリファレンス入力に配線しプログラムを書いていきます。

キーボード操作だけでページを変える場合

pdfが表示されたビューアの画面でもページの移動はできるので、「前へ進む」等のボタンは不要と思われるかもしれないですが、各ブールボタンへトグルの設定をしておくと、キーボード操作だけでそれぞれの動作を制御できるので、多少は使い勝手がよくなります。

設定も簡単で、キーボードで操作したいブール制御器のプロパティ設定を変えるだけです。

例えば以下の図では、「前へ」ボタンをPageUpキーを押すことで操作するように設定しています。

本記事ではLabVIEWのフロントパネルにpdfを表示させる方法を紹介しました。

完成したプログラムの仕様書を閲覧させるときにプログラムからその仕様書を開くときなど、補助的な役割でpdfを使うようなときに、参考になればうれしいです。

ここまで読んでいただきありがとうございました。

コメント

タイトルとURLをコピーしました