eightban's memo

残しておきたい記事をまとめてみました。

JasperReports

Jaspersoft Studio プレビューでの日本語対応PDFの作成 ~  JasperReports

投稿日:

Jaspersoft StudioでPDFを作成しても日本語だけが表示されないことがあります。

これを表示させる方法が2通りあるようですが、古いやり方は推奨されていないため項目に警告がつくようになりました。

PDFを表示したときに日本語を表示させる推奨された方法です。

無償で利用できる高品位な日本語フォント「IPAフォント」を用意することろから始めます。

IPAフォント

IPAフォントを下記サイトからダウンロードします。

http://ipafont.ipa.go.jp/old/ipafont/download.html

TTFファイルの4書体パックを選びます。


 

 

ダウンロードしたファイルを解凍します。

ここでは、「d:\oss\jaspersoft\JSS-V6.4.3\workspace\font」に解凍しました。


 

JasperSoft Studioの設定

 

画面左側のプロジェクトエクスプローラーから今回使用するプロジェクトを選び右クリックします。でできたメニューの「Properties」を選びます。


 

このプロジェクトのみの適用とするときは、プロパティ画面から

Jaspersoft Studio -> Fonts -> Use Project Settings -> Add From Path

とします。個別に設定もできますが、今回はフォルダ全体を選びます。

 


 

先ほどフォントを解凍したフォルダを選んで「Finish」


 

IPAフォントが追加されたので、 Apply -> OK

これで、フォントの設定が終わりました。

 


 

フォントの指定

 

レポートで設定したい項目を選び画面右下の「Properties」の「>>」を選び隠れているメニューを出しAdvancedを選びます。

 


 

Properties -> Font Name -> IPAGothic

IPAゴシックフォトを指定してみます。すべての項目について同様に設定を行います。


 

変更が終わったので、PDFにできるかやってみます。

リポート設計画面の「Design」から「Preview」に移ります。

 


 

上部で選択できる形式をJavaからPDFに変更します。

 


 

Acrobat ReaderでPDFをプレビューすると日本語も表示できているのが確認できます。

 


 

 

どのようなフォントになっているかPDFのプロパティを見てみます。

ファイル -> プロパティ

 


 

文書のプロパティ -> フォント


 

IPAゴシックになっていることが確認できました。

 

日本語が表示されないPDFはIPAゴシックフォントがありません。

旧来の方法(参考)

項目を選び画面右側のプロパティ画面よりPDFの項目を設定します。

Property -> PDF

  • PDF Encoding   UniJIS-UCS2-H(Japanese)
  • PDF Font Name   HeiseiKakuGo-W5

 

警告が出てしまいました。これからはFont Extensionを使えということのようです。

JavaでPDF出力するときに、「jasperreports_extension.properties」を設定します。


 

 

警告を消したいので値をDELキーで消してみますが警告マークは消えません。


 

 

実は「Source」タブを見ると分かるのですが、TextElementタグができているのが分かります。

このTextElementタグとその中身部分をすべて削除すると警告マークが消えます。

さきほどと同様にプレビューからPDFを作成しようとしてもエラーとなります。

ただし、プロジェクトのビルド(コンパイル)はできますので、旧来方法でJavaを使いPDFの出力は可能です。

参考資料

[Pdf Font Name]

  • HeiseiKakuGo-W5 ゴシック
  • HeiseiMin-W3 明朝

[Pdf Encoding]

  • UniJIS-UCS2-H Adobe-Japan1のUnicodeエンコーディング
  • UniJIS-UCS2-V UniJIS-UCS2-Hの縦書き
  • UniJIS-UCS2-HW-H UniJIS-UCS2-Hの英文字を半角に置き換え
  • UniJIS-UCS2-HW-V UniJIS-UCS2-Vの英文字を半角に置き換え

[iTextAsian.jar]

日本語表示のために必要なファイル。クラスパスを通しておく必要がある。

com/lowagie/text/pdf/fonts/

  • Adobe-Japan1-UCS2.cmap
  • HeiseiKakuGo-W5.properties
  • HeiseiMin-W3.properties

[Acrobat reader]

Acrobat reader4 font  HeiseiKakuGo-W5-Acro,HeiseiMin-W3-Acro

Acrobat reader5 font  KozMinPro-Regular-Acro.otf

ftp://ftp.adobe.com/pub/adobe/acrobatreader/

[JasperSoft Studio]

Window -> Preferences -> Exporters -> PDF Expoter にヒントがあるかもしれません。

プロジェクトのビルド

プロジェクトのビルドは Project -> Build Project


 

拡張子が「jasper」のビルド済みのファイルができているのが分かります。

実際にJavaでPDFを作成するときは、このjasperファイルをそのまま使う方法とjrxmlファイルをプログラムの中でビルドする方法があります。

 

 

 

 

 

 

 

 

 

 

 

 

 

-JasperReports

Copyright© eightban's memo , 2018 All Rights Reserved Powered by STINGER.