Happy My Life

日常とか技術とか

JasperReports tips

Javaで帳票を作成するにはこれ以上のソフトは無いでしょ(他のソフト使った事ないけど)と思えるぐらに便利なJasperReportだけど、最近ようやく使いこなせるようになってきたので忘れないうちに。

JasperReportを使うJRubyコードは以前のエントリーにあるので、その後に判明した事を中心に。ver 2.0.4での話で。ver3.1.4も多分同じだとは思うけど未確認。

JaserReportsで日本語表示

お約束に従えば日本語を表示させるのは簡単。定型テキスト(static text)や文字フィールド(text field)に日本語を表示させる方法は以下の通り。

font

印刷時の日付

  • 文字フィールド(text field)を設置
  • フォント設定は上記の通り 以下の通りに設定する

currentdate

現在のページ番号

  • 文字フィールド(text field)を設置 プロパティを以下の通りに設定

currentpage

全体のページ番号

  • 文字フィールド(text field)を設置 プロパティを以下の通りに設定

totalpage

日本語をボールド、イタリックで表示する

isBold, isItalicをtrueにするだけでは、太字、イタリックにならない。

太字にする場合は、PdfFontNameを「HeiseiMin-W3,Bold」とフォント名に「,Bold」を追加し、isBoldをTrueにするとに太字になる。イタリックも同様に「HeiseiMin-W3,Italic」と「,Italic」を追加し、isItalicをTrueにするとイタリックになる。

英語版のままで使用する事を推奨

唯一残念な点といえば、日本語訳がヒドい。機能を理解してない人か、PC関連の翻訳に不慣れな人が翻訳したんじゃないかと思ってしまう。日本語訳で使用していたら意味不明な設定項目が、英語で表示したら一回で理解できた。

例えばTransparentが「透明」だったり(通常は、透過と翻訳される)、Print in whole bandは、「最初の完全なバンドに表示」と意味不明だったり。こちらは機能から見ても「帯状で表示」にすべきではないかと。あと、textがテキストや文字など使用法が統一されておらず混乱を招く恐れも。

これ、どうにかならないものか…。