すでに質問されている問題がありますが、私の場合にはいくつかの特定の違いがあります。
EJB 2
問題のある Web アプリケーション ( 、PostgreSQL 9.2.4
、 で実行中) をサポートしていますJBoss 4.2.3
。特定のレポートを生成しようとすると、次のエラーが発生することがあります。
javax.servlet.ServletException: net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font :
pdfFontName : DejaVu Sans
pdfEncoding : Cp1252
isPdfEmbedded : false
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
stirq.scan.util.NoCacheFilter.doFilter(NoCacheFilter.java:38)
jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
stirq.scan.util.TimeoutFilter.doFilter(TimeoutFilter.java:57)
stirq.scan.util.SecurityFilter.doFilter(SecurityFilter.java:82)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
いろいろなサイトで検索しました。 http://community.jaspersoft.com/questions/525505/could-not-load-following-font
JasperReports - フォント拡張子が機能しない - PDF へのエクスポート中にフォントが見つからない
(その他)
多くの回答で示唆されているように、フォント拡張 jar を使用していますが、それでも問題が発生します。
アプリケーションのデータベースには、html コードを含むことができるテーブルの 2 つのフィールドがあります。これらの 2 つのフィールドのいずれかまたは 2 つに "font" タグがあると、バグが発生することがわかりました。この "font" タグで指定されたフォントが Arial であっても、DejaVu Sans というフォントに関するメッセージが表示されます。
私のすべてのjrxmlファイルのすべてのテキストフィールドはフォントDejaVu Sansです。IReport 4.1.1 でレポートのプレビュー モードをテストしたところ、すべて問題ありませんでした。
問題が発生したオカレンスの HTML コードを含む 2 つのデータベース フィールドのすべての「フォント」タグを削除したところ、機能しました。
しかし、アプリケーションは本番環境にあります。ご覧のとおり、データベース内のすべての「フォント」タグを削除することはできません。
どんな助けでも大歓迎です。
ありがとう。