日別アーカイブ: 2011年8月24日

コマンドラインでサーバーサイドのPDF変換を制御する 「コマンドラインモードの応用例」

 本日は「PDF Server」の応用例として、V2.3から採用された「コマンドラインモード」の利用についてお話したいと思います。
 「コマンドラインモード」と言うのはその名の通り、Windowsの「コマンド プロンプト」から「PDF Server」を動作させる事が出来るようにしたソフトウェアで、プロフェッショナル版のみで動作します。
 コマンド プロンプトから実行できるとは言っても実際問題、本当にコマンド プロンプトを立ち上げてコマンドを入力してPDF変換を出力する・・・事は実運用ではまずないと思いますし、それを意図した訳ではありません。「PDF Server」では設定された間隔で定期的にフォルダを監視して変換を実行します。また、複数のタスクが動作していた場合は基本的に「早いもの勝ち」になるため、監視時間の間隔設定によってはなかなか変換出来ない事もあり得ます。バッチ的なイメージで変換を行うなら問題ないのですが、ある程度「タイミング」が必要な場合にはこの変換方法では使う事は困難となります。そのために任意のタイミングでファイル変換する事を目的としてコマンドラインモードを新たにリリースしました。
 ではどのように使うのでしょうか?
 それは他のアプリケーションから呼び出して利用する事を前提にしています。インストールCD-ROMにもWindowsForm(.NET Framework)アプリケーションから利用するものと、ASP.NETでWebアプリケーションから利用するためのサンプルプロジェクト(VisualStudio2008 SP1)が収められています。特に後者のWebアプリケーションのサンプルはWeb変換ツールよりも一段細かい設定も出来るようになっているので「PDF Server」をWebシステムで利用する場合に参考になると思います。あくまでもサンプルなので「動作する」事ぐらいしか機能はありませんが、もしシステム内に「PDF Server」の機能を組み込みたいと考えているのであれば今まで以上に自由に制御できると思います。
 ちょっと変わった例ですと、バッチファイルやvbsでスクリプトを作成して利用する方法もあります。
 「PDF Server」をリアルタイムで利用されるお客様がほとんどだと思われますが、中には大量のファイルをとにかく変換したいと考えておられる方もいらっしゃいます。これは現在保存しているドキュメントをPDFなどに統一したいからだそうなのですが、この場合、タスク設定方式ですとあらかじめ監視フォルダと出力フォルダの設定が必要になってきます。変換する設定は同じでも、入力フォルダと出力フォルダをドキュメントの分類によって変えたい場合はその都度タスク設定を修正するか分類分だけタスク設定をあらかじめ行う必要があるのですが、スクリプトならそのあたりを自由に設定出来ます(パラメタとして入力も可能です)。
 また「PDF Server」では通常、出力先は1つなのですが、コマンドラインモードを使えば複数のフォルダに出力する事も出来ます。1回づつで良ければスクリプトで容易に出来ますし、VB.NETなどでタイマーを使えば簡単なプログラムでオリジナル「PDF Server」を構成する事も可能となっています。
 「開発不要」が売り文句のためではないのですが、「PDF Server」は機能的に「最大公約数」的なところがある事は否めませんし、それを良しとしている訳でもないので日々改善に取り組んではいますが、やはりかゆいところに手が届かない時にはコマンドラインモードを使って機能拡張が工夫次第で可能です。
 なお、コマンドラインモードはファイル監視変換と同時に実行出来ませんので注意が必要です。
 明日はWeb変換についての話をしたいと思います。