fbpx
< 戻る
印刷

サーバー上の JPedal パフォーマンスを最適化するためのヒント

このチュートリアルでは、JPedal のパフォーマンスを調整するためのいくつかの便利なトリックを提案します。

1. PDF ファイルを開くには、URL や byte[] ではなく、可能であればランダム アクセスのオープン メソッド (ファイルまたは文字列) を使用します。

PDF ファイルは、RandomAccess を使用してアクセスできるように設計されています。 JPedal が RandomAccess 経由でアクセスできる場合、推奨されているファイル構造を飛び越えることができます。
byte[] メソッドの使用は、ロードされれば高速ですが、より多くのメモリを必要とし、最初に PDF 全体をロードする必要があります。
URL 方式では、PDF ファイル全体を読み取ってローカル ファイルにキャッシュする必要があります。

2. PDF ファイルをデコードするときにローカル画像をメモリに保持します

デフォルトでは、サイズが 16384 バイトを超えるすべてのイメージは、メモリに保持されるのではなく、必要になるまでローカルの暗号化されたファイルにキャッシュされます。この設定は、静的変数 PdfFileReader.alwaysCacheInMemory の値を変更することで変更できます。値を -1 にすると、すべてがメモリ内に保持されます。

このページには、メモリ内で PDF を画像に変換する方法を示すコード例があります。

3. ファイルサイズよりも速度を高めるために画像出力を最適化します。

PDF を任意の画像形式に変換する場合、JPedal のデフォルト設定では、より小さい出力画像ファイルが作成されます (速度は遅くなります)。ファイル サイズが重要でない場合は、これを変更できます。これについては、PDF を Image に出力する方法を示す例で文書化されています。

4. 必要以上に大きな画像の作成を避ける

Java でのパフォーマンスへの最大の影響は通常、レンダリング用の BufferedImage の作成であり、BufferedImage が大きくなると時間がかかります。 JPedal には、文書化された設定であるイメージを生成するための、すぐに実行できるクラスが 2 つ含まれています。

5. マルチスレッドの使用

メモリが許す限り、ConvertPagesToImages およびその他の例は (PdfDecoderServer とともに) スレッドセーフである必要があります。スレッド内にインスタンスを作成し、スレッド間でインスタンスを共有しないことをお勧めします。

    MENU
    PAGE TOP