wiki:misc/misc/botlog_pas/client_download

Version 2 (modified by michkawa, 6 years ago) (diff)

--

クライアント用プログラムのダウンロード機能

PrintAnyServerには、Web画面からの画像登録以外にも、画像登録専用プログラムが用意してある。
Windows用クライアントは、SaveAnyWindow.exeという名前で、/opt/OperationLog/PrintAnyServer/clinet/SaveAnyWindowsに、 Linux用クライアントは、PrintWindowという名前で、/opt/OperationLog/PrintAnyServer/clinet/printWindowにおいてある。

それぞれのプログラムは、現在のPrintAnyServerができる以前からあったプログラムをPrintAnyServerに対応するように修正したもので、操作方法も多少違っている。

各クライアントの設定

クライアントプログラムを使用するには、どのサイトのPrintAnyServerに接続するかを設定する必要がある。

SaveAnyWindow

SaveAnyWindowはC#で作成してあり、プログラムの設定をプログラムと同じディレクトリにあるSaveAnyWindow.exe.configを使って行う。
SaveAnyWindow.exe.configは、必ず{{{SaveAnyWindow.exeの実行ディレクトリにあるように設定すること。
設定する箇所は、siteNamesaveURLprintURLの3ヶ所。

     :
  <appSettings>
    <!-- 接続先のエリアス名 -->
    <add key="siteName" value="TEST"/>
       :
    <!-- URLにJSON形式で画像データをBase64変換したものを送信 -->
    <add key="saveURL" value="http://localhost/pas/api/addImage" />
    <add key="printURL" value="http://localhost/pas/api/getPrinters" />
       :

siteNameは、SaveAnyWindowを起動した際に、タイトルバーに表示される文字列で、どの画像サーバーに送るかを人間が判別するための設定。
saveURLprintURLは、通信する画像サーバーのWeb APIのURLを設定する。
Web APIのURL設定は、/pas/api/~までは固定文字列として扱い、http://localhostをサイトに合わせて設定する。
設定はPrintAnyServer->URL変更と同じものを設定する。

変更した設定ファイルを使用してSaveAnyServerを起動し、画像が登録できれば設定ファイルの作成は完了。

ダウンロードできるようにするために、SaveAnyWindow.exeと設定ファイルで圧縮ファイルを作成し、webクライアントからダウンロードできるhttpサーバーのディレクトリにコピーする。
例として、ここでは/var/www/html/printView/clients/windowsにコピーするものとする。

PrintWindow

PrintWindowはpythonで記述してあり、Tkで画面を作成している。

ダウンロード機能の設定

PrintAnyServerからクライアントのOSとネットワークを取得して、ダウンロードボタンを表示するかを判別している。
ダウンロード機能設定は、設定ファイルの[downloads]に設定する。

#####################################################
# ダウンロード可能なクライアントプログラムを定義する
# 定義は最大10
#  format: OStype,netmask,ClientProgram
#        OStype:        windows or linux
#        netmask:       ダウンロード可能ネットワーク
#        ClientProgram: クライアントプログラムファイル
#####################################################
[downloads]
client0=windows,192.168.0.0/24,clients/windows/SaveAnyWindow_TEST_20180822.zip
client1=linux,192.168.0.0/24,clients/linux/PrintWindow_TEST_20180822.zip