Version 4 (modified by 7 years ago) ( diff ) | ,
---|
クライアント用プログラムのダウンロード機能
PrintAnyServerには、Web画面からの画像登録以外にも、画像登録専用プログラムが用意してある。
Windows用クライアントは、SaveAnyWindow.exe
という名前で、/opt/OperationLog/PrintAnyServer/clinet/SaveAnyWindows
に、
Linux用クライアントは、PrintWindow
という名前で、/opt/OperationLog/PrintAnyServer/clinet/printWindow
においてある。
それぞれのプログラムは、現在のPrintAnyServerができる以前からあったプログラムをPrintAnyServerに対応するように修正したもので、操作方法も多少違っている。
各クライアントの設定
クライアントプログラムを使用するには、どのサイトのPrintAnyServerに接続するかを設定する必要がある。
ここで例示するネットワーク設定は、192.168.1.0/24
とし、PrintAnyServerが動作しているhttpサーバーは192.168.1.10
とする。
SaveAnyWindow
SaveAnyWindowはC#で作成してあり、プログラムの設定をプログラムと同じディレクトリにあるSaveAnyWindow.exe.config
を使って行う。
SaveAnyWindow.exe.config
は、必ず{{{SaveAnyWindow.exe
の実行ディレクトリにあるように設定すること。
設定する箇所は、siteName
、saveURL
、printURL
の3ヶ所。
: <appSettings> <!-- 接続先のエリアス名 --> <add key="siteName" value="TEST"/> : <!-- URLにJSON形式で画像データをBase64変換したものを送信 --> <add key="saveURL" value="http://192.168.1.10/pas/api/addImage" /> <add key="printURL" value="http://192.168.1.10/pas/api/getPrinters" /> :
siteName
は、SaveAnyWindowを起動した際に、タイトルバーに表示される文字列で、どの画像サーバーに送るかを人間が判別するための設定。
saveURL
、printURL
は、通信する画像サーバーのWeb APIのURLを設定する。
Web APIのURL設定は、/pas/api/~
までは固定文字列として扱い、http://localhost
をサイトに合わせて設定する。
通常は、PrintAnyServerの接続URLで使用するホスト名 か ホスト名:ポート番号
を設定する。
変更した設定ファイルを使用してSaveAnyServerを起動し、画像が登録できれば設定ファイルの作成は完了。
ダウンロードできるようにするために、SaveAnyWindow.exeと設定ファイルで圧縮ファイルを作成し、webクライアントからダウンロードできるhttpサーバーのディレクトリにコピーする。
例として、ここでは圧縮ファイル名をSaveAnyWindow_TEST_20180822.zip
とし、/var/www/html/printView/clients/windows
にコピーするものとする。
PrintWindow
PrintViewは、Linux用のクライアントプログラムとして作成されている。
PrintWindowはpythonで記述してあり、Tkで画面を作成している。
PrintViewを起動するには、クライアント側にpython 2.6以降がインストールされている環境で、以下のpythonパッケージがインストールされている必要がある。
- TkInter
- Pmw https://pypi.org/project/Pmw/
又は、PrintViewが起動できるサーバーを用意し、クライアント側でX-Windows経由で使用する方法もある。
接続先URLはソースコードに直書きされているので、修正したものを使用する。
設定するファイルはprintIcon.py
にあるurl
とplUrl
で、SaveAnyWindow
の接続先URLと同じものを設定する。
: import traceback import base64 import json import urllib2 printIconFile='/pf/epics/app/OP/python/prtIcon.gif' saveIconFile='/pf/epics/app/OP/python/saveIcon.gif' printerList=['(file only)'] scaleList=['100%', '75%', '50%', '25%'] gifSaveDir='/pf/epics/log/Print/' url="http://192.168.1.10/pas/api/addImage" plUrl="http://192.168.1.10/pas/api/getPrinters" if not os.path.isdir(gifSaveDir): gifSaveDir='/var/tmp/' :
設定後は同様に動作チェックを行い、圧縮ファイルPrintWindow_TEST_20180822.tar.gz
をとし、/var/www/html/printView/clients/linux
に保存する。
ダウンロード機能の設定
PrintAnyServerからクライアントのOSとネットワークを取得して、ダウンロードボタンを表示するかを判別している。
ダウンロード機能設定は、設定ファイルの[downloads]
に設定する。
##################################################### # ダウンロード可能なクライアントプログラムを定義する # 定義は最大10 # format: OStype,netmask,ClientProgram # OStype: windows or linux # netmask: ダウンロード可能ネットワーク # ClientProgram: クライアントプログラムファイル ##################################################### [downloads] client0=windows,192.168.1.0/24,clients/windows/SaveAnyWindow_TEST_20180822.zip client1=linux,192.168.1.0/24,clients/linux/PrintWindow_TEST_20180822.tar.gz
上記の設定を保存し、PrintAnyServer
を再起動する。
192.168.1.0/24
ネットワーク上のWindowsとlinuxクライアントのWebブラウザをリロードすると、ダウンロードボタンが表示されるようになる。