フォルダ監視サービスはクライアント側のプログラムで、指定したフォルダにコピーされた文書を自動的に感知し、変換結果を Web Interface V6.0 を利用して指定されたフォルダに出力します。
このサービスを使ってリクエストを処理するためには、Web Interface V6.0 のサーバプログラムが動作している必要があります。
フォルダ監視サービスが開始すると、監視フォルダ内のファイルの処理を行います。開始後でも、フォルダ内に新しくコピーされたファイルの処理も行います。サービスはそれぞれのファイルに対して、次のような処理を行います。
サーバアドレスのようなネットワークオプションはフォルダ監視サービスで使うデフォルトのコマンドファイルとして指定しておくことができます。または、監視されるフォルダ内にコピーする ZIP ファイル内のコマンドファイルで指示することができます。
Web Interface V6.0 のフォルダ監視サービスの JAR ファイルは xds-folder-monitor.jar です。
監視するフォルダと出力先フォルダの位置をコマンドラインで次のように指定します。
java -jar xds-folder-monitor.jar [options] <first directory to watch> <first directory output> <second directory to watch> <second directory output> ...例
java -jar xds-folder-monitor.jar C:\folder1 C:\folder1\output
注意: | 初期設定では、フォルダ監視サービスのログはインストールディレクトリ([install directory]/logs/folder-monitor.log)に書き込まれます。フォルダ監視サービスを開始するにあたってユーザはそのディレクトリへの書き込み権限が必要です。ログファイルの場所は起動時に -D Java仮想マシンオプションで指定した Log4j の設定ファイルで変更することができます。詳しくはロギングのページを参照してください。 |
---|
出力先フォルダは監視フォルダのサブディレクトリでなければなりません。
環境変数 XDS_FOLDER_MONITOR_CONFIG を利用して、動作上の既定値とするコマンドラインオプションを記述したxmlファイルを絶対パスで指定することができます。ファイルの記述についてはオプションファイルを参照してください。
パラメータ | 既定値 | 機能 |
---|---|---|
-threads Value | 4 | 同時に処理できるファイルの最大数。0値は無限大のスレッドに使います。 |
-disable-formatter-log | このオプションを指定していないとき、Antenna House Formatter でコンソール出力したログファイルは出力フォルダにも保存されます。 | |
-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アーカイブし、ひとつのファイルとして監視フォルダに置きます。 フォルダ監視サービスが自動的にファイルを見つけて処理し、変換結果を出力フォルダへ置きます。
変換対象ファイルのアーカイブには次のファイルを含めることができます。
変換するファイルはすべてを一つのZIPファイルに圧縮する必要があります。入力文書から参照するメディアファイルはZIPファイル内で同じフォルダ構成を保つ必要があります。例えば、圧縮ファイルが次の内容を含むとします。
.-+- command.txt +- document.xml +- style.xsl +- images/ +- pic01.png +- pic02.png
ZIP圧縮ファイルに加えて、単一のFOファイルのような単純な文書も監視フォルダに入れることができます。それらはフォルダ監視のデフォルトオプションを用いて変換が行われます。
コマンドファイルは変換オプションを指定し、クライアントプログラムの対応するリストを作るのに使用します。
デフォルトのコマンドファイルが-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 STYLESHEET=filename XSLT_PARAM=[key=value[,key=value...]] OUTPUT_TYPE=[Antenna House Formatter output type: pdf|svg|...] OUTPUT_OPTION=[key=value[,key=value...]] OUTPUT=filename FORMATTER_TYPE=auto|html|xhtml|xmlcss|xslfo EMAIL=[mailaddress[,mailaddress...]] EXITLEVEL=1|2|3|4 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 = -xds-host 10.1.10.14 -d input.fo -o output.pdf -tpdf -x 4 EMAIL = test@antenna.co.jp
ARGS と ARGS_REMOVE 以外のキーに空の値を指定すると(例:'EMAIL=')、オプションは消去されます。空の値を ARGS と ARGS_REMOVE に指定した場合は影響はありません。また例えば、デフォルトのコマンドファイルを設定する-default-command-fileで、'EAIL=test@antenna.co.jp' を指定したとすると、ZIP圧縮のコマンドファイル内の 'EMAIL=' の指定によりメールが送られるのを防ぎます。
各コマンドに関しての詳細情報と内容を次に示します。
キー | 説明 | 省略時の動作 |
---|---|---|
ARGS |
スペース区切りで、Antenna House Formatter のコマンドラインオプションを指定します。キーは複数指定できます。そして、クライアントプログラムのコマンドラインに追加して生成されます。
ARGS = -xds-host 10.1.10.24 ARGS = -d input.fo ARGS = -o output.pdf ... |
影響ありません。 |
ARGS_REMOVE |
カンマ区切りで Antenna House Formatter のコマンドラインオプションを指定します。キーは複数指定できます。クライアントプログラムのコマンドラインからオプションを除いて生成されます。追加の値の記載が必要なコマンドラインオプションについては、値の個数も指定してください。例えば、「-d input.fo」がこれから生成されるコマンドラインの一部にあるとき、「-d 1」と指定することで削除されます。つまり、「-d」オプションは1個の追加パラメータとともに削除されることになります。
ARGS_REMOVE = -xds-host 1 ARGS_REMOVE = -tpdf, -lpdf, -o 1 ... |
影響ありません。 |
DOCUMENT | 変換対象ファイル名を指定します。ファイル名はコマンドファイルからの相対パスで指定します。 | データXMLファイルとして指定されていなければ、ルートで見つかる最初のfoが使われます。foが見つからずデータXMLファイルとしても指定されていなければ、ルートで見つかる最初のxmlが使われます。xmlも見つからなければ、xsl拡張やデータXMLファイルとして指定されずcommand.txtと名前がつけられていないルートで見つかった最初のファイルが使われます。 |
STYLESHEET | スタイルシートファイル名を指定します。ファイル名はコマンドファイルからの相対パスで指定します(CSSファイルは、ここでは指定しないでください)。 | 変換対象アーカイブに含まれるファイルの中に .xsl の拡張子を持つファイルがあればそれをスタイルシートとみなします。 |
OUTPUT | 出力ファイルを指定します。 | 出力ファイル名は、変換対象アーカイブのファイル名になります。拡張子は OUTPUT_TYPE で指定された出力形式と同じになります。例えば、変換対象アーカイブが Document.zip で、ARGS = -p @PDF ならば、出力ファイル名はDocument.pdf となります。 |
OUTPUT_TYPE | 出力形式を指定します。 | PDFで出力します。 |
OUTPUT_OPTION | 出力形式に関するオプションを指定します。 カンマで区切ることで複数指定できます。 指定できるオプションは、描画オプションと同じです。 | 影響ありません。 |
XSLT_PARAM | XSLT変換時のパラメータ xsl:param を指定します。 カンマで区切ることで複数指定できます。 | 影響ありません。 |
FORMATTER_TYPE | 組版種別を指定します。 | 組版種別に 'auto'(自動判定)が指定されたものとみなされます。 |
EXITLEVEL |
組版でエラーが発生した場合の処理の中止条件を指定します。値は 1~4 で指定してください。
|
既定値の 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 となります。 | 影響ありません |
変換結果を送信するメールアドレスを指定します。カンマで区切ることで複数指定できます。詳細はeメールの送信を参照してください。 | 影響ありません。 | |
SMTP_HOST | SMTPサーバのアドレスを指定します。 | 影響ありません。既定値は localhost です。 |
SMTP_PORT | SMTPサーバのポート番号を指定します。 | 影響ありません。既定値は25です。 |
SMTP_USER | SMTPサーバのユーザログイン名を指定します。 | SMTPサーバでのユーザ認証を試みません。 |
SMTP_PASSWORD | SMTPサーバのパスワードを指定します。 | SMTPサーバでのユーザ認証を試みません。 |
SMTP_STARTTLS | SMTPがStartTLSを使うかどうかを示唆する論理値(true あるいは false)で指定します。クライアントがサーバーの証明書を信頼できるよう、適切なトラストストアを構成する必要があることに注意してください。 | 既定値は false です。 |
SMTP_SSL | SMTPがSSLを使うかどうかを示唆する論理値(true あるいは false)で指定します。 | 既定値は false です。 |
SMTP_FROM | ユーザへの返信メールを指定します。サーバによってはこれを許可しない場合もあり、SMTP_USERと一致する必要がある場合があります。そのような場合、SMTP_USERと同じ値を指定してください。 | SMTP_USERの値を使います。もしSMTP_USERが指定されていなければ、既定値として "mail.user" プロパティの値が使われます。 このプロパティも設定されていなかった場合はクライアントマシンの "user.name" Java システムプロパティの値が使われます。 |
次は、Antenna House Formatter を使用してtest.xml に test.xsl というスタイルシートを適用し、PDFに変換して結果を output.pdf として作成して、結果を test@antenna.co.jp にメールで通知する変換指示ファイルの例です。
ARGS=-xds-host 10.1.10.24 ARGS=-d test.xml -s test.xsl -p @PDF -o output.pdf EMAIL=test@antenna.co.jp
フォルダ監視サービスがモニタリングフォルダに置かれたファイルを処理する際に、モニタリングフォルダにbackupフォルダを作成し、処理済みのファイルをそこに保管します。Web Interface にドキュメントが送信された後、変換結果はフォルダ監視サービスのコマンドラインで指定した出力先フォルダに格納されます。
EMAIL オプションが指定されたとき、変換が成功したかどうかについてeメールを受け取ることができます。詳細についてはeメールの送信を参照してください。
EMAIL オプションを指定していないときは、出力先フォルダに変換結果が出ているかの確認をしてください。もし -disable-formatter-log オプションを指定しなかった場合は、出力先フォルダに Antenna House Formatter のコンソール出力が書かれたログファイルを作成します。全出力結果はフォルダ監視サービスのログファイルからも確認できます。
バックアップフォルダにはサブフォルダがあり、変換日時と時刻が表示されます。
backup/20240118123456/2/archive.zip
更に、日時と時刻が命名されたフォルダには番号を振ったサブフォルダがあります。番号は同時に受信変換されたファイルを区別するために振られます。もしバックアップフォルダが不要であれば、いつでも削除が可能です。
Antenna House Formatter のログファイルは出力ファイルと同じ名前に-log.txtがプラスされた名前が付き、出力フォルダに保存されます。例えば、output.pdfのログファイル名は、それに関連してoutput-log.txtとなります。
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: 2024-01-18--12:00:00 Document conversion succeeded. input file: C:\FolderMonitorTest\test.zip output file: C:\FolderMonitorTest\output\test.pdf
Web Interface V6.0 のフォルダ監視サービスはファイルとコンソールにロギング情報を出力することが可能です。ApacheのLog4jライブラリを使って、出力先やログの出力レベルが容易に変更することが可能です。詳しくはロギングを参照してください。もしログ設定ファイルがオプションで指定されていなければ、デフォルトのロギングの振る舞いは、DEBUGレベルのメッセージを[Install directory]/logs/folder-monitor.logとコンソールの両方に出力します。
描画オプションはキーワードと値の対で表現され、描画方法を制御します。キーワードは Antenna House Formatter のコマンドラインオプション AHFCmd の一部と同一です。詳細は Antenna House Formatter のマニュアルを参照してください。
キーワード | 型 | 機能 |
---|---|---|
pdfver | 文字列 | 出力するPDFのバージョンを指定します。 |
tpdf | 論理値 | タグ付きPDFを出力するかどうかを指定します |
lpdf | 論理値 | リニアライズドPDFを出力するかどうかを指定します。 |
encrypt | 数値 | 作成するPDFの暗号化時のキー長を指定します。 |
userpwd | 文字列 | PDFに設定するユーザパスワードを指定します。 |
masterpwd | 文字列 | PDFに設定するマスタパスワードを指定します。 |
npt | 論理値 | 作成するPDFを印刷不可にします。 |
ncg | 論理値 | 作成するPDFを変更不可にします。 |
ncc | 論理値 | 作成するPDFの内容をコピー不可にします。 |
nca | 論理値 | 作成するPDFの注釈やフォーム追加不可にします。 |
nff | 論理値 | 作成するPDFのフォームフィールドの入力と署名を不可にします。 |
nab | 論理値 | 作成するPDFのスクリーンリーダデバイスのテキストアクセスを不可にします。 |
nad | 論理値 | 作成するPDFのページの挿入、削除、回転を不可にします。 |
peb | 文字列 |
作成するPDFに埋め込み可能なフォントを埋め込むかどうかを、以下のいずれかで指定します。
|
pee | 文字列 | 作成するPDFに指定したフォントを埋め込みます。 |
pesub | 文字列 | 作成するPDFに指定したフォントを埋め込むとき、指定した値(パーセンテージ)以上の使用率ならフォントをすべて埋め込みます。使用率が値に満たない場合は使用している文字のみ部分的に埋め込みます。パーセント値には、単位なしの値または % 値が指定できます(1.0 = 100%)。 |
pef | 論理値 | フォント埋め込みに失敗したときにエラーを発行しないようにします。 |
peg | 論理値 | フォントにグリフがなかったときにエラーを発行しないようにします。 |
pex | 論理値 | PDF/XやPDF/A、PDF/UA出力のときエラーがあっても、それを発行しないようにします。 |
ppa | 数値 | 作成するPDFの印刷を許可するかどうかを指定します。 |
picc | 数値 | 作成するPDFに格納するカラー画像の圧縮方法を指定します。 |
picg | 数値 | 作成するPDFに格納するグレイスケール画像の圧縮方法を指定します。 |
picm | 数値 | 作成するPDFに格納する白黒画像の圧縮方法を指定します。 |
pjq | 数値 | 画像をJPEGに変換するときの画質を指定します。 |
pcs | 論理値 | 作成するPDF中のテキストとラインアートを圧縮しないようにします。 |
plr | 論理値 | ローカルファイルで指定された外部へのリンクの方法を指定します。 |
prc | 数値 | 作成するPDFのRGB色空間の変換方法を指定します。 |
prr | 数値 | ベクタイメージをラスタイメージに変換するときの解像度を指定します。 |
pcics | 論理値 | PDF/X、PDF/A出力のとき、含まれるRGB画像を自動的にCMYKに変換します。 |
p3da | 論理値 | 3Dオブジェクトのインポートを有効にします。 |
pdfheight | 数値 | 出力PDFの高さを拡大縮小します。 |
pdfwidth | 数値 | 出力PDFの幅を拡大縮小します。 |
svgver | 文字列 | 出力するSVGのバージョンを指定します。 |
svggzip | 論理値 | gzip 圧縮された SVG を出力します。 |
svgic | 数値 | SVGに直接格納できないラスタ画像形式のときの処理方法を指定します。 |
svgjq | 数値 | 画像をJPEGに変換するときの画質を指定します。 |
svgrr | 数値 | ベクタイメージをラスタイメージに変換するときの解像度を指定します。 |
java -Dmail.debug=true -jar xds-folder-monitor.jar ...