TextPorterは、サーバ組込用のテキスト抽出エンジンで、Word, Excel, PDFなど色々なアプリケーションのファイルから文字列を抜き出します。
前回のブログ担当日から今日までの間に、改訂版として、V5.2 MR1, V5.1 MR4, V5.0 MR6を出荷しましたので、それを紹介します。
TextPorter V5.2 MR1の改訂内容については、
TextPorter V5.2 MR1
をご覧ください。
TextPorter V5.1 MR4の改訂内容については、
TextPorter V5.1 MR4
をご覧ください。
TextPorter V5.0 MR6の改訂内容については、
TextPorter V5.0 MR6
をご覧ください。
今回の改訂は、主に、Microsoft Office 2007/Office 2010に関するものです。
一見するとたくさんあるようですが、実は、同じ修正です。Word, Excel, PowerPointの2007と2010に対して行われているので、多く修正されているようにみえるだけです。
「ストリーム出力で、添付ファイルを処理するとき、入力ファイルのディレクトリを使って一時ファイルを生成する問題」というのは、DMC_GETTEXT_OPT1_TEMPという、ややこしいオプションに関するものです。
TextPorterは、処理の都合上、一時ファイルが必要な場合は、通常、システムのデフォルトのディレクトリを使います。しかし、システムのデフォルトではなく、出力先と同じディレクトリを使ってくれというお客様の要望があって、このオプションができました。
しかし、ストリーム出力では、出力先ディレクトリという概念そのものがありません。といって、このオプションは、システムのデフォルトのディレクトリは使わないという意図で設けられたオプションです。仕方がないので、ストリーム主力でこのオプションが指定された場合は、TextPorterは、入力ファイルと同じディレクトリに一時ファイルを作ります。
さて、セキュリティ意識の高まりに伴って、運用者は、サーバ上で、ファイルを書き込めるディレクトリを、厳しく制限するようになってきました。入力ファイルは、入力なので書き込むことはないという仮定で、入力ファイルがあるディレクトリを書込み禁止に、TextPorterの出力をストリーム、かつ、このオプションを付けるとどうなるでしょうか。
TextPorterの動作は、不定。すなわち、どうなるかわからないというのが仕様です。
入力ファイルがある場所に一時ファイルを作ろうと思っても、書込み禁止なので、処理できないのです。
一番簡単な対処法は、DMC_GETTEXT_OPT1_TEMPを使わないことです。そうすれば、誰でも書き込みが保証されているシステムのデフォルトに一時ファイルを作ります。
もし、DMC_GETTEXT_OPT1_TEMPを使い、かつ、ストリーム出力を使うときは、入力ファイルのあるディレクトリを書込み禁止にしないように、運用側で、注意してください。
TextPorterについての詳しい説明は、
TextPorter
をご覧ください。
評価版もご用意しております。
https://www.antenna.co.jp/axx/trial.html
TextPorter 評価版のお申し込み
から、お申し込みください。
アンテナハウスのシステム製品につきましては、事前に技術相談会を行っております。お気軽にお問い合わせください。
詳しくは、
アンテナハウス システム製品技術相談会
をご覧の上、お申し込みください。