フォルダ監視サービス

フォルダ監視サービスはクライアント側のプログラムで、指定したフォルダにコピーされた文書を自動的に感知し、変換結果を Web Interface を利用して指定されたフォルダに出力します。

Folder Monitoring Overview

このサービスを使ってリクエストを処理するためには、Web Interfaceサーバープログラムが動作している必要があります。

フォルダ監視サービスが開始すると、監視フォルダ内のファイルの処理を行います。開始後でも、フォルダ内に新しくコピーされたファイルの処理も行います。サービスはそれぞれのファイルに対して、次のような処理を行います。

  1. ファイルの内容(変換対象のファイルと、変換内容を指示しているファイル)から Web Interfaceクライアントプログラム用のコマンドラインを生成します。
  2. リクエストを Web Interface のサーバープログラムに送信します。
  3. Web Interface のサーバープログラムから返ってきた結果を出力フォルダに格納します。

サーバーアドレスのようなネットワークオプションはフォルダ監視サービスで使うデフォルトのコマンドファイルとして指定しておくことができます。または、監視されるフォルダ内にコピーする ZIP ファイル内のコマンドファイルで指示することができます。

プログラムの起動

Web Interface のフォルダ監視サービスの JAR ファイルは xds-osdc-folder-monitor.jar です。

監視するフォルダと出力先フォルダの位置をコマンドラインで次のように指定します。

java -jar xds-osdc-folder-monitor.jar [options] <first directory to watch> <first directory output> <second directory to watch> <second directory output> ...
  
java -jar xds-osdc-folder-monitor.jar C:\folder1 C:\folder1\output
  
注意: 初期設定では、フォルダ監視サービスのログはインストールディレクトリ([install directory]/logs/xds.log)に書き込まれます。フォルダ監視サービスを開始するにあたってユーザはそのディレクトリへの書き込み権限が必要です。ログファイルの場所は起動時に -D Java仮想マシンオプションで指定した log4j の設定ファイルで変更することができます。詳しくはロギング(詳細)のページを参照してください。

出力先フォルダは監視フォルダのサブディレクトリでなければなりません。

環境変数 XDS_OSDC_FOLDER_MONITOR_CONFIG を利用して、動作上の既定値とするコマンドラインオプションを記述したxmlファイルを絶対パスで指定することができます。ファイルの記述についてはオプションファイルを参照してください。

フォルダ監視コマンドラインオプション

パラメータ 既定値 機能
-threads Value 4 同時に処理できるファイルの最大数。0値は無限大のスレッドに使います。
-disable-osdc-log このオプションを指定していない時、Office Server Document Converter でコンソール出力したログファイルは出力フォルダにも保存されます。
-default-command-file File ZIPアーカイブに含まれるコマンドファイルの前に読み込まれるデフォルトのコマンドファイルのパスを指定します。このコマンドファイル名は command.txt でなくても構いません。
-default-command-file C:\test\default_command.txt
-java-prop Property Value Javaシステムプロパティを指定します。例えば、ZIPコマンドファイルでeメールを送信する際に、 SMTP_FROM キーの既定値である"mail.user"プロパティの値を設定するときに用います。eメール送信設定の詳細についてはeメールの送信を参照してください。
-help コマンドラインオプションをコンソールに表示します。

利用方法

フォルダ監視サービスを利用するには変換対象ファイルをZIPアーカイブし、1つのファイルとして監視フォルダに置きます。 フォルダ監視サービスが自動的にファイルを見つけて処理し、変換結果を出力フォルダへ置きます。

変換対象ファイルのアーカイブには次のファイルを含めることができます。

変換するファイルはすべてを一つのZIPファイルに圧縮する必要があります。入力文書から参照するメディアファイルはZIPファイル内で同じフォルダ構成を保つ必要があります。例えば、圧縮ファイルが次の内容を含むとします。

.-+- command.txt
  +- sample.docx
  

ZIP圧縮ファイルに加えて、単一のdocxファイルのような単純な文書も監視フォルダに入れることができます。それらはフォルダ監視のデフォルトオプションを用いて変換が行われます。

コマンドファイル

コマンドファイルは変換オプションを指定し、クライアントプログラムの対応するリストを作るのに使用します。 コマンドファイルは必ず command.txt と名前をつけ、ZIPアーカイブのルートディレクトリに置くようにしてください。

デフォルトのコマンドファイルが-default-command-fileオプションで指定されている時、ZIPアーカイブで指定されているものより前に評価されます。

コマンドファイルの内容は、各行が key = value という形式で各コマンドの内容を指定します。 指定方法は下記の書式となります。

ARGS=[space separated list of Client Program options]
ARGS_REMOVE=[comma separated list of Client Program options]
DOCUMENT=filename
OUTPUT_TYPE=[Office Server Document Converter output type:  pdf|svg|...]
OUTPUT=filename
EXITLEVEL=1|2|3|4
EMAIL=[mailaddress[,mailaddress...]]
SMTP_HOST=[mail server adress]
SMTP_PORT=[mail server port]
SMTP_PASSWORD=[mail server password]
SMTP_STARTTLS=[boolean value: 'true' or 'false']
SMTP_SSL=[boolean value: 'true' or 'false']
SMTP_FROM=[mailaddress]
SMTP_USER=[user login name]

ARGS キーまたは ARGS_REMOVE キーを使ってオプションを指定する方法が推奨されます。

コマンドファイルの例

  ARGS = -xds-host 10.1.10.14 -d input.docx -o output.pdf -tpdf -x 4
  EMAIL = test@antenna.co.jp

ARGSARGS_REMOVE 以外のキーに空の値を指定すると(例:'EMAIL=')、オプションは消去されます。空の値を ARGSARGS_REMOVE に指定した場合は影響はありません。また例えば、デフォルトのコマンドファイルを設定する-default-command-fileで、'EMAIL=test@antenna.co.jp' を指定したとすると、ZIP圧縮のコマンドファイル内の 'EMAIL=' の指定によりメールが送られるのを防ぎます。

各コマンドに関しての詳細情報と内容を次に示します。

キー 説明 省略時の動作
ARGS スペース区切りで、Office Server Document Converter のコマンドラインオプションを指定します。キーは複数指定できます。そして、クライアントプログラムのコマンドラインに追加して生成されます。
	ARGS = -xds-host 10.1.10.24
	ARGS = -d input.docx
	ARGS = -o output.pdf
	...
      
影響ありません。
ARGS_REMOVE 指定した Office Server Document Converter オプションを、生成されるクライアントプログラムのコマンドラインから取り除きます。コマンドラインオプションの指定はカンマ区切りで行い、キーは複数指定できます。追加の値の記載が必要なコマンドラインオプションについては、値の個数も指定してください。例えば、「-d input.docx」がこれから生成されるコマンドラインの一部にあるとき、「-d 1」と指定することで削除されます。つまり、「-d」オプションは1個の追加パラメータとともに削除されることになります。
	ARGS_REMOVE = -xds-host 1
	ARGS_REMOVE = -tpdf, -lpdf, -o 1
	...
      
影響ありません。
DOCUMENT 変換対象ファイル名を指定します。ファイル名はコマンドファイルからの相対パスで指定します。 ARGS キーまたは ARGS_REMOVE キーの -d オプションでファイルが指定されずこのキーでも指定されなかった場合は、command.txtと名前がつけられていない、ルートで見つかった最初のファイルが使われます。
OUTPUT 出力ファイルを指定します。 出力ファイル名は、変換対象アーカイブのファイル名になります。拡張子は OUTPUT_TYPE で指定された出力形式と同じになります。例えば、変換対象アーカイブが Document.zip で、ARGS = -p @PDF ならば、出力ファイル名はDocument.pdf となります。
OUTPUT_TYPE 出力形式を指定します。 PDFで出力します。
EXITLEVEL 組版でエラーが発生した場合の処理の中止条件を指定します。値は 1~4 で指定してください。
  1. 情報
  2. 警告
  3. 回復可能エラー
  4. 致命的エラー
エラーレベルがここで指定した EXITLEVEL 以上の場合、組版を中止します。
既定値の 4 で出力を行います。
EXT_REPLACE "ARG = -o" や "OUTPUT = "を用いて出力する名前を指定しなかった場合に、デフォルトのファイル名に付く拡張子を指定した拡張子に置き換えます。例えば、変換対象アーカイブが Document.zip で、ARGS = -p @PDF のとき、出力ファイル名はデフォルトの Document.pdf となりますが、同時に EXT_REPLACE = PDF を指定することで Document.PDF となります。 影響ありません
EXT_APPEND "ARG = -o" や "OUTPUT = "を用いて出力する名前を指定しなかった場合に、指定した拡張子をデフォルトのファイル名の末尾に追加します。この場合はもとの拡張子は削除されません。例えば、変換対象アーカイブが Document.zip で、ARGS = -p @PDF のとき、出力ファイル名はデフォルトの Document.pdf となりますが、同時に EXT_APPEND = pdfを指定ことで、Document.zip.pdf となります。 影響ありません
EMAIL 変換結果を送信するメールアドレスを指定します。カンマで区切ることで複数指定できます。詳細はeメールの送信を参照してください。 影響ありません。
SMTP_HOST SMTPサーバーのアドレスを指定します。 影響ありません。既定値は localhost です。
SMTP_PORT SMTPサーバーのポート番号を指定します。 影響ありません。既定値は25です。
SMTP_USER SMTPサーバーのユーザログイン名を指定します。 SMTPサーバー上でのユーザ認証を試みません。
SMTP_PASSWORD SMTPサーバーのパスワードを指定します。 SMTPサーバー上でのユーザ認証を試みません。
SMTP_STARTTLS SMTPがStartTLSを使うかどうかを示唆する論理値(ture あるいは false)で指定します。 クライアントがサーバーの証明書を信頼できるよう、適切なトラストストアを構成する必要があることに注意してください。 既定値は false です。
SMTP_SSL SMTPがSSLを使うかどうかを示唆する論理値(ture あるいは false)で指定します。 既定値は false です。
SMTP_FROM ユーザへの返信メールを指定します。サーバーによってはこれを許可しない場合もあり、SMTP_USERと一致する必要がある場合があります。そのような場合、SMTP_USERと同じ値を指定してください。 SMTP_USERの値を使います。もしSMTP_USERが指定されていなければ、既定値として "mail.user" プロパティの値が使われます。 このプロパティも設定されていなかった場合はクライアントマシンの "user.name" Java システムプロパティの値が使われます。
  • #で始まる行はコメントとして扱われ無視されます。
  • キーの大文字小文字は区別されます。
  • 区切り文字( = および , )前後の空白は無視されます。
  • 値に空白やカンマなどを含めたいときは "..." で囲んでください。
  • 引用句を囲むときは\"を使ってください。

次は、Office Server Document Converter を使用してtest.docx をPDFに変換した結果を output.pdf として作成して、結果を test@antenna.co.jp にメールで通知する変換コマンドファイルの例です。

  ARGS=-xds-host 10.1.10.24
  ARGS=-d test.docx -p @PDF -o output.pdf
  EMAIL=test@antenna.co.jp

変換結果

フォルダ監視サービスがモニタリングフォルダに置かれたファイルを処理する際に、モニタリングフォルダにbackupフォルダを作成し、処理済みのファイルをそこに保管します。Web Interface にドキュメントが送信された後、変換結果はフォルダ監視サービスのコマンドラインで指定した出力先フォルダに格納されます。

EMAIL オプションが指定されたとき、変換が成功したかどうかについてeメールを受け取ることができます。詳細についてはeメールの送信を参照してください。

EMAIL オプションを指定していないときは、出力先フォルダに変換結果が出ているかの確認をしてください。もし -disable-osdc-log オプションを指定しなかった場合は、出力先フォルダに Office Server Document Converter のコンソール出力が書かれたログファイルを作成します。全出力結果はフォルダ監視サービスのログファイルからも確認できます。

バックアップフォルダにはサブフォルダがあり、変換日時と時刻が表示されます。

backup/20130930203046/2/archive.zip
    

更に、日時と時刻が命名されたフォルダには番号を振ったサブフォルダがあります。番号は同時に受信変換されたファイルを区別するために振られます。もしバックアップフォルダが不要であれば、いつでも削除が可能です。

Office Server Document Converter のログファイルは出力ファイルと同じ名前に-log.txtがプラスされた名前が付き、出力フォルダに保存されます。例えば、output.pdfのログファイル名は、それに関連してoutput-log.txtとなります。

eメールの送信

EMAILオプション指定するためには、eメールを送信するためのSMTPサーバー設定が必要です。SMTPサーバーの設定については管理者等から情報を得てください。それぞれのキーの既定値については、キー一覧の「省略時の動作」を参照してください。 また、SMTPサーバーによってはクライアントマシンからの接続許可が必要な場合がありますので、送信ができない場合は確認してください。

次は、SMTP認証が必要でStartTLSを用いて通信するサーバーからメールを送信するコマンドファイルの例です。

EMAIL = test@antenna.co.jp
SMTP_HOST = smtp.example.com
SMTP_PORT = 25
SMTP_USER = example
SMTP_PASSWORD = password
SMTP_STARTTLS = true

変換に成功した場合は、以下のようなメッセージでログファイルが添付されたeメールを受け取ります。ログファイルは出力フォルダに保存されたフォルダ監視サービスのログと同一のものです。

Folder Monitor Results: 2017-04-01--12:00:00

Document conversion succeeded.

input file: C:\FolderMonitorTest\test.zip
output file: C:\FolderMonitorTest\output\test.pdf

ロギング

Web Interface のフォルダ監視サービスはファイルとコンソールにロギング情報を出力することが可能です。Apacheのlog4jライブラリを使って、出力先やログの出力レベルが容易に変更することが可能です。詳しくはロギング(詳細)のページを参照してください。もしログ設定ファイルがオプションで指定されていなければ、デフォルトのロギングの振る舞いは、DEBUGレベルのメッセージを[Install directory]/logs/folder-monitor.logとコンソールの両方に出力します。

技術的資料


Copyright © 2017-2018 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.