2

デフォルトでは、JasperReports 3.7。*には、PDFフォントの「Identity-H」UTF-8エンコーディングをサポートするPDFフォントが付属していないようです。

iReportsを使用してフォントをインポートし、Pdfフォントを埋め込んでレポートをコンパイルする例はたくさんありますが、実行時にJavaを使用してレポートをコンパイルするときに有効な解決策は見つかりませんでした。

私は以下のバリエーションを試しました:

  1. Springアプリケーションのクラスパスで、jasperreports_extension.propertiesファイルを作成し、UTF-8TTFファイルを指すxmlフォントファミリーを定義します。
  2. jasperreports-fontsのMaven依存関係を含める:net.sf.jasperreports jasperreports-fonts 4.0.0
  3. PdfFont / FontMapアプローチを使用してJasperパラメーターオブジェクトマップに挿入することを検討しましたが、例のクラスは非推奨としてマークされています

これらのインスタンスでコンパイルすると、エンジンは常にフォントを解決できないというエラーを報告します。ここでの解決策は何ですか?

4

1 に答える 1

2

チームメンバーは解決策を見つけることができました:

Java コンパイル用に JRProperties を構成する場合

JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "org/gnu/freefonts/FreeSans.ttf");
JRProperties.setProperty("net.sf.jasperreports.default.pdf.encoding", "Identity-H");
JRProperties.setProperty("net.sf.jasperreports.default.pdf.embedded", true);

アプリケーションのクラスパスの org/gnu/freefonts/FreeSans.ttf は UTF-8 フォントです。

于 2013-01-09T20:57:43.130 に答える