質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JasperReports

JasperReportsはオープンソースの帳票生成ツールです。JasperReportはPDF, HTML, Microsoft Excel, ODT, XML等の様々なフォーマットのものをエクスポートします。

Q&A

解決済

2回答

3900閲覧

Jasper report Server6.4で日本語PDFの出力ができません

kedama

総合スコア19

JasperReports

JasperReportsはオープンソースの帳票生成ツールです。JasperReportはPDF, HTML, Microsoft Excel, ODT, XML等の様々なフォーマットのものをエクスポートします。

0グッド

0クリップ

投稿2017/11/07 03:12

編集2017/11/07 03:14

###Jasper report Serverで日本語PDFの出力ができません
Windows環境にてJasper report Server6.4を構築し、jrxmlをアップしてPDF帳票を出力しようとしましたが日本語の箇所が全部飛んでしまいます。
(同帳票を表示またはExcel出力したときは全て表示されています)
以前のバージョンのものでしたらいくつか情報がありましたので参考に下記のように設定してみました。

PDFへのフォント埋め込みは行いたくなかったので、日本語出力箇所へ下記タグを挿入し、itext-asian.jarを配置しますと、今度はエラーとなりPDFが表示されなくなりました。

<font fontName="Meiryo UI" pdfFontName="HeiseiKakuGo-W5" pdfEncoding="UniJIS-UCS2-H" isPdfEmbedded="false"/>

itext-asian.jarは下記へ配置しています。
[JasperServerインストール先]\apache-tomcat\webapps\jasperserver\WEB-INF\lib

また、エラーのログは下記のようになっていました。

net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font: pdfFontName: HeiseiKakuGo-W5 pdfEncoding: UniJIS-UCS2-H isPdfEmbedded : false at net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:2323) at net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:2106) at net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:2075) at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.getPhrase(SimplePdfTextRenderer.java:64) at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.render(SimplePdfTextRenderer.java:73) at net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:2435) at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1094) at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:1053) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:917) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:537) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.exportToPdf(EngineServiceImpl.java:601) at com.jaspersoft.jasperserver.war.action.ReportPdfExporter.export(ReportPdfExporter.java:66) at com.jaspersoft.jasperserver.war.action.AbstractReportExporter.exportBuffered(AbstractReportExporter.java:190) at com.jaspersoft.jasperserver.war.action.AbstractReportExporter.export(AbstractReportExporter.java:98) at com.jaspersoft.jasperserver.war.action.ReportExporterAction.export(ReportExporterAction.java:158)

###試したこと
extrajars-2.3.zipのitext-asian.jarがダメだったので、バージョンの問題化と思い
同lib内に「itext-2.1.7.js6.jar」が既にあったのでextrajars-2.1をダウンロードして試しましたが、同様の結果となりました。

jrxmlをjaspersoft studio6.4で作成していますが、こちらも同様のエラーが発生しています。
studioでjarを読み込ませても同様のエラーが発生します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masaya_ohashi

2017/11/07 04:01

6.3の頃は出力できたのでしょうか?
kedama

2017/11/07 04:54

普段使用する言語ではPDF/Excel出力が厳しかったため今回初めてjasper serverを導入しました。そのため、過去バージョンについては検証しておりません。6系であればstudioでいけるので確実に出力できるのであればバージョンダウンすることも検討していますが、そもそもダウンバージョンしても動くかどうか不明のためどうしたものかと思案しています。
kedama

2017/11/07 04:56 編集

jasper server のREST APIを使用してPDF/Excel出力をする予定です。 日本語が飛んでしまう箇所以外は問題なく稼働しています。
masaya_ohashi

2017/11/07 04:56

あ、いえバージョンアップが原因かどうかという問題の切り分けのために確認した次第です。うちは6.3を使っているのでなにか分かることがあるかなと。
kedama

2017/11/07 05:11

私のインストールしている、v6.4では、apache-tomcat\webapps\jasperserver\WEB-INF\libの中でiTextに関係ありそうなjarはitext-2.1.7.js6.jarのみなのですが、過去バージョンだとitext-pdfa-x.x.x.jarなどもあるようなのです。日本語以外はPDF化されていますので、バージョンがあがってitext-asian.jarの扱いが変わったということなのでしょうか・・・?
masaya_ohashi

2017/11/07 05:17

思い出せないのですが、私もpdfの日本語出力に悩まされた覚えがあります。私は組み込みフォントにしてしまったのでlib関係には手を付けてないですね…
kedama

2017/11/07 05:20

サーバもシステムを使用する端末もWindows想定なのでメイリオを組み込んでも良いのですが、メイリオはTTCのためそのままでは組み込めません。
guest

回答2

0

自己解決

iTextAsian.jarのバージョンの問題のようです。

https://www.manageengine.jp/support/kb/OpManager/?p=3931
itext-asian.jarではなく、こちらでリンクが貼られていたiTextAsian.jarを解凍して\apache-tomcat\webapps\jasperserver\WEB-INF\libへ配置、Tomcat再起動で日本語が出力されるようになりました。
6系では拡張版のitext-asian.jarという情報があったので拡張版のものを使用していましたが、6.4ではiTextAsian.jarのほうでよかったようです。

masaya_ohashiさん、liguofeng29さんご回答ありがとうございました。

投稿2017/11/07 06:29

kedama

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

試せる環境がないので、再現はできないですが、下記でやってみてください。
同じエラー内容

投稿2017/11/07 03:55

liguofeng29

総合スコア801

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kedama

2017/11/07 04:24

ご提示いただいたページは既に見ていたのですが、「パスが通っていない」が何を指すのかがさっぱりわからず。 Windowsの環境変数確認しましたが、JAVA系のPATHがインストールのときに自動で追加されたわけでもないようです。 ですので、WEB-INF/libの中にjarを入れたらパスが通るようになっているかと思っていたのですがそれも違うようです。
kedama

2017/11/07 05:47

Serverのため、Eclipseからの起動やコマンド実行ではないのですが。 Javaは詳しくないのでよくわかりませんが、Tomcatの設定に入れるということでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問