印刷
Rogue Wave® JViews 印刷機能は、Sun™
JVM™
の印刷メカニズムをベースにしています。場合によっては、Sun JVM は、印刷パフォーマンスを著しく低下させる大きなスプール・ファイルを生成します (この問題は特定され、Sun バグ・データベースにバグ 4314221 として登録されています)。プリンター・スプール・サイズが大きくなるのは、通常、Java 2D™
印刷 API でデフォルトの PDL パイプラインではなく、ラスター・パイプラインを使用した結果です。ページでのレンダリングでビットマップ操作が必要な場合、印刷 API でこのスイッチが自動的に作成されます。
これには、透明度および階調ペイントが含まれます。したがって、開発者は、以下のレンダリング機能の使用を避け、デフォルトの PDL 印刷パイプラインが使用され、スプール・サイズが縮小されるようにする必要があります。
- 透明度の回避: アルファ・コンポーネントのない形状およびテキストのみを描画します。アルファ・チャネルを持つイメージは、描画しないでください。
- 階調およびビットマップ・ペイントの回避: 一色ペイントのみを使用します。
JavaSoft™
には、以下に印刷を最適化するための文書化された追加のヒントおよび案があります。
- JavaSoft Java2D チュートリアル ( http://java.sun.com/docs/books/tutorial/2d/printing/index.html)
こうした最適化には、以下のものがあります。
- PCL または PostScript プリンターを使用しません。 透明度または階調を使用する必要がある場合、ドキュメントを PCL または PostScript プリンター以外のプリンターで印刷してください。
- プリンターの解像度を削減します。例えば、600 DPI ではなく、300 DPI を使用します。
- アルファを使用する必要がある場合は、以下の手法でフル・ページのラスター化を回避します。
- 透明色を不透明オフスクリーン・イメージに描画します。
- アルファを持つイメージを不透明イメージに再描画します。
- 不透明イメージを PrinterGraphics に描画します。
例えば、透明ビットマップの場合、プリンターで描画される実際のビットマップが背景およびオリジナルの透明ビットマップから作成される不透明ビットマップであるほうが、パフォーマンスが改善されます (つまり透明な結果を事前に作成してから、その結果をプリンターに送ります)。