2010-12-17 14 views
0

当社のアプリケーションは、pdfimages(xpdfから)を使用して、テキストがないことがわかっているPDFファイルの一部のページが1つのイメージで構成されているかどうかを確認します。プロセスの出力ファイル数を制限する方法はありますか?

これは、そのページでpdfimagesを実行し、1つ、2つ以上、またはゼロの出力ファイル(JPG、PPM、PGMまたはPPM)を作成したかどうかをカウントします。

問題は、一部のPDFファイルでは、数百万の14バイトPPMイメージが得られ、プロセスは手動で強制終了する必要があるということです。

プロセスにジョブを割り当てることで、プロセスが実行される時間を制限できます。しかし、プロセスが実行中に最大で2回新しいファイルを作成するように制御できれば、おそらく良いでしょう。

これを行う手掛かりはありますか?

ありがとうございます。

+0

Cランタイムライブラリには、一度に開くことのできるファイル数の制限が512あります。 1つの解決策は、何もしない「一時的な」ファイルを開いてアプリケーションに2を残すことです。 :) –

+0

ハハ。しかし、アプリケーションが512以上のファイルを作成していると仮定して、それを閉じて順番に開きます:-) – Benoit

答えて

3

ファイル作成のディレクトリを監視する方法があります:http://msdn.microsoft.com/en-us/library/aa365261(v=vs.85).aspx - 監視アプリケーションがPDF画像抽出プロセスを終了する可能性があります。

もう一つは、作成できるファイルの数に制限のある簡単なRAMディスクを使用することです。http://support.microsoft.com/kb/257405のようなものを変更することがあります。

FAT16ファイルシステムを設定できるのであれば、ルートディレクトリには128ファイル、他のディレクトリには512ファイルの制限があると思いますか? - そのような小さなファイルはすぐに届くでしょう。

+0

ありがとうトニー。私はディレクトリを見ていることが、私たちがそれを行うための最も簡単な方法だと思います。 – Benoit

+0

@ベノワ:あなたは大歓迎です...うまくいくといいですね。 –

1

また、私の '冗談'のコメント以外に、_setmaxstdioをチェックして、それが役立つかどうかを確認することもできます(http://msdn.microsoft.com/en-us/library/6e3b887c(VS.71).aspx)。

+0

これらのアプローチは、各ファイルを作成して閉じ、再利用すると機能しますか?私はハンドルが同時に開くと思う理由はありません。 –

+0

@トニー、良い点! –

+0

ありがとう、もう1つ興味深い機能を指し示す+1。私たちのケースでは適用できないようだが、それはさらに大きな有用性があるかもしれない。 – Benoit

関連する問題