Version 3 (modified by michkawa, 5 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パッケージがインストールされている必要がある。
接続先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ブラウザをリロードすると、ダウンロードボタンが表示されるようになる。