7

iReport4.5でA4形式のレポートページを作成し、Javaアプリケーションで使用しました。

Javaアプリケーションの実行時にA4をA5形式に変更する方法は?

4

1 に答える 1

7

これを行う方法を説明する前に、ページ サイズを変更するだけでは、おそらく必要な結果が得られないことに注意してください。必要に応じてページを大きくしたり小さくしたりしますが、要素の配置は変更されません。あなたの場合、アイテムがレイア​​ウトされている場所によっては、レポートがコンパイルされない場合もあります。

ただし、いくつかのオプションがあります。

  1. 最初に A5 形式の 2 番目のレポートを作成し、実行時に目的に応じて適切なレポートを取得できます。これはおそらく最も簡単な解決策ですが、ほぼ 2 つの同一のレポートが作成されることになります。将来の変更は、2 つの場所で行う必要があることを意味します。
  2. 次に、典型的なレイアウトのかなり単純なレポートの場合、Dynamic Jasperなどを使用して Java コードでレポートを生成できます。
  3. 最後に、Jasper Report の API に対して直接作業して、実行時にレポートを生成できます。


今あなたの質問に答えます。まず、JRXml ファイルをJasperDesignオブジェクトにロードします。

//Note JRXMLLoader could also take a File object or 
//InputStream instead of a String as the parameter.
JasperDesign design = JRXmlLoader.load("report.jrxml");

取得したらJasperDesign、ページサイズを好きなように設定できます。私が知る限り、A5 用紙は 5.83 インチ × 8.27 インチです。これを JasperReports が理解できるサイズに変換するには、それぞれに 72 を掛けて、420 ​​x 596 を取得します (整数を設定する必要があるため、四捨五入しました)。

design.setPageHeight(596);
design.setPageWidth(420);

そこから、通常どおりエクスポートの冒険を続けます。

于 2012-05-28T17:39:09.197 に答える