LoginSignup
4
8

More than 3 years have passed since last update.

Jaspersoft Studio 備忘録

Last updated at Posted at 2019-06-04

概要

JasperReportsで帳票を作成するにあたり、Jaspersoft Studio(JSS)を使用して帳票テンプレートを作成したが、色々と実現に苦慮した個所などを備忘的に本稿にまとめる。

JasperReportsとは?

  • JasperReportsとは、Javaで動作するオープンソースの帳票出力ライブラリ
  • 米Jaspersoft社により開発されていたが、Jaspersoft社が米TIBCO Softwareに買収された事により、現在はTIBCO社により開発が続けられている
  • JasperReports LibraryはLGPL、Jaspersoft StudioはEclipse Licenseで利用可能。したがって通常の利用範囲であれば商用利用可能

Jaspersoft Studio(JSS)インストール関連

  • Jaspersoft Studio(JSS)とは、Eclipse上で動作するJasperReportsのレイアウト作成ツール(2019/12/01 時点での最新は v6.10.0)
  • 導入にはJSSを直接インストールする方法と、既存のEclipseにJSSプラグインをインストールする方法がある(参考:Jaspersoft Studioとは
  • インストール手順は以下を参照(参考の手順は対象バージョンがやや古いため、適時読み替えて実施すること)
  • Eclipse部分については一部日本語化が出来る(Jaspersoft Studio 機能自体は日本語化できないが、それでもだいぶマシにはなる)
    • 日本語化手順
      ※ Eclipse バージョン確認
      上記サイトの方法では確認が出来なかったので、Help > About TIBCO Jaspersoft Studio より Eclipse RCP のバージョンで確認、→ 4.7.3(Oxygen)

日本語(マルチバイト文字)出力対応

  • 日本語の帳票出力に対応するためには、日本語フォントを導入する必要がある
  • 殆どの例では、無償で商用利用可能なIPAフォントを採用している(IPAフォント入手先
  • Jaspersoft Studio でフォントを追加するには、Window → Preferences → Fonts から行う
  • PDFファイルにフォントを埋め込みか否かを Embed this font in PDF document にて指定できる。フォントを埋め込む場合は表示PCにフォントファイルがなくとも表示可能となるが、その分ファイルサイズが大きくなる。また、埋め込む場合はフォントの配布にあたるため、ライセンスを確認する必要がある(IPAフォントは配布OK)。
  • 設定したフォント情報は Window → Preferences → Fonts の Export からjarファイル形式でエクスポート可能。テンプレートファイルと共に稼働環境に配置する。

帳票テンプレート作成関連

  • 明細を縦2列以上で表示する
    Report プロパティ > Page Columns > Column Count に 列数を設定し、Column Width に 列幅を設定する。
  • カラムフッターを明細の直後に出力する
    Report プロパティ> Float Column Footer にチェックを入れる。
  • 縦書きを実現する
    残念ながら縦書きを素直に実現する方法は無いため、TextField を文字数分、縦に並べて用意し、それぞれに1文字つずつ切り出して出力する。
    1文字目:(\$P{param}.length()>0?(\$P{param}.substring(0,1)):"")
    2文字目:(\$P{param}.length()>1?(\$P{param}.substring(1,2)):"")
  • NULLを空文字として表示する(NULLを表示しない)

    TextField プロパティ> Blank When NULL を true にする。

  • 合計欄等の最後に値が確定する項目は、評価タイミング(TextField プロパティ> Evaluation Time )を Report 等にする事で不確定状態のまま表示されることを回避できる。
    (例:Evaluation Time : Now)この例では合計金額欄を評価するタイミングでは小計、消費税が評価されていないため、nullとして表示されてしまう。
    Now
    (例:Evaluation Time : Report)この例では合計金額欄を評価するタイミングをレポート出力後に行うため、合計欄の計算が可能になり金額が出力される。
    Report

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8