iReportの理解を深めるために | |
![]() | |
| |
見積書の作成の事前準備 | |
今回作成する見積書では、内訳部分の内容をデータベース(注1)から取得しますので、あらかじめ以下のようにテーブルを作成しておきます。 テーブルの生成 | |
CREATE TABLE ESTIMATE( | |
データの投入 | |
INSERT INTO ESTIMATE VALUES('1','製品A',8,8000,''); | |
![]() | |
※注1:本連載ではデータベースとしてPostgreSQL 7.4.6を使用していますが、JDBCで接続可能なデータベースであれば何でも構いません。 | |
![]() | |
データソース設定 | |
次に、作成したテーブルをiReportから参照できるようにデータソースの設定を行います。メニューから「データソース→コネクション / データソース」を選択し、「Connections / Datasources」ダイアログで「New」を選択します。先ほど作成したテーブルと環境を合わせてJDBCの接続設定を行い、「Test」を押して接続が確認できたら「Save」で設定を保存します(図1)。 | |
![]() 図1:データソース接続設定 | |
JDBCの接続設定ができましたら、メニューから「ビルド→有効な接続の設定」を選択して、作成したデータソースを選択します。 |
テンプレートXMLの作成 |
図2が今回作成するテンプレートXMLの完成イメージです。図2にならって各コンポーネントを配置してください。もし、わからない点などありましたら、完成版のテンプレートXML(estimate.zip)をダウンロードして展開し、メニューから「ファイル→開く」を選択して完成版のレイアウトを読み込んで参考にしてください。 |
![]() 図2:作成するXMLテンプレート |
![]() |
![]() |
(1)静的文字列 |
第2回の説明でも出てきた静的な文字列です。水平、垂直方向の表示位置、ボーダーなどの設定が可能です。今回の例では、日本語を使用するために、テンプレートXMLを以下のように外部フォントを指定(注2)するよう直接修正しています。 |
<font fontName="MS 明朝" pdfFontName="C:/WINDOWS/Fonts/msmincho.ttc,1" size="18" isBold="true" isItalic="false" isUnderline="false" isPdfEmbedded ="true" pdfEncoding ="Identity-H" isStrikeThrough="false" /> |
![]() |
※注2:フォントのパスは環境に合わせて変更してください。 |
![]() |
(2)図形 |
線分、四角形、四角形(角丸)、円形が配置できます。今回の例では、線分と四角形(角丸)を使用しています。 |
(3)フィールド |
フィールドはデータベースやBeanなどの外部リソースからのデータの取り込みのための形式で、"$F{フィールド名}"で定義します。例として、先ほど作成したテーブルのデータを読み込むための設定を行います。メニューから「データソース→レポート クエリ」を選択するとウィンドウが開きます。「Report SQL query」タブを選択し、図3のように"select * from estimate;"と入力することで、先ほど作成したテーブルのフィールドが読み込まれます。 |
![]() 図3:SQLクエリ画面 (画像をクリックすると別ウィンドウに拡大図を表示します) |
これらのフィールドを使用する際には、フィールドアイコンを選択してバンドに配置し、図4のように「Textfield expression」に"$F{フィールド名}"と定義を行います。また「Create」ボタンを押して「Pattern」を選択することで、カンマ区切り、桁数あわせなどの表示パターンを指定することもできます。 |
![]() 図4:フィールドの定義 |
実行 | |
![]() | |
| |
![]() 図8:作成したPDFファイル | |
その他の機能紹介 | |
ここでは、今回の見積書作成では使用しなかったいくつかの機能について紹介します。 | |
グループ | |
グループとは任意の単位で表示部をまとめることで、任意の範囲にヘッダー、フッターを設定するための機能です。グループアイコンを押して、グループを作成すると"***groupHeader"と"***groupFooter"というバンドが新たに現れ、カテゴリ毎にヘッダー、フッターが設定できるようになります。 | |
グラフ | |
この機能を利用すると出力にグラフを含めることができます。グラフアイコンを選択してグラフを表示したい場所に配置し、表示したいグラフのタイプ、データ、プロパティを設定します。 | |
サブレポート | |
サブレポートとは帳票中に別の帳票を埋め込むための機能です。サブレポートでは埋め込み元となる帳票と、埋め込む帳票をそれぞれ別のテンプレートXMLとして定義し、一方の帳票に組み込んで使用することができます。この機能を使用すると、より複雑なレイアウトの帳票を作成することができます。 | |
背景の設定 | |
帳票の背景を設定するための機能です。デフォルトではbackgroundバンドは表示されていませんので、バンドアイコンを選択し、「Band height」でバンドの高さを設定します。編集エリアに「background」バンドが表示されますので、画像でもテキストでも任意の背景が設定できます。 | |
テキストへのスタイルの設定 | |
テキストの一部分のみスタイルを変更することができます。例えば、"お見積書"という静的な文字列で"お"のみを緑色にする場合は、「Font」タブで「Is styled text」にチェックを入れて、「Static Text」に以下のように記述します。 | |
<style forecolor="green">お</style>見積書 | |
![]() | |
まとめ | |
今回まででiReportを使ったテンプレートXMLの作成のイメージが掴めていただけたかと思いますが、いかがでしょうか。ここで紹介しきれなかった機能については、JasperReportsのデモに含まれるテンプレートXMLをiReportに読み込ませることで、イメージが掴めるのではないかと思います。 次回がiReportの説明の最後になりますので、作成したテンプレートをJavaアプリケーションやWebアプリケーションへ組み込む方法について説明します。 |