web-dev-qa-db-ja.com

iReportを使用してPDFを作成するときにカスタムフォントを使用する

iReportバージョン:3.7.1

私はこの問題に2つの方法で取り組みました。

私の最初の方法

pdfiReportページを作成しています。フィールドの1つ(データベースから)をフォントに設定していますGujarati-Salarl(地域の言語のフォント)インドの)。

このフォントは、iReportのフォントリストにあります。プレビューをクリックすると、必要なフォントスタイルのフィールドが表示され、目的の出力が得られます。

ここまでは大丈夫です。

ただし、生成されたpdfファイルには、英語の元のフォントと同じものがまだ含まれています。

アプリケーションからレポートを呼び出しても、Javaファイルからレポートを呼び出しても、結果は同じです。

少し調べた後、私はこれを見つけました2番目の方法

JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "C:\\Gujrati-Saral-1.ttf");

これにより、pdfのフォントが提供されたttfフォントに設定されますが、pdf全体がGuarati-saralフォントで表示されますが、これは私が探しているフォントではありません。

このフォントをその特定のフィールドにのみ適用する方法はありますか?

または

2番目の方法で行くとき、フォントを適用しない方法がありますGuarati-saral必要なものを除く他のすべてのフィールドに?

17
Sangeet Menon

Font Extensionsメカニズムを使用する必要があります。

フォントを作成してjarファイルとしてエクスポートした後、生成されたjarファイルをアプリケーションのクラスパスに追加する必要があります。

a)iReportで新しいフォントを作成する([オプション]-> [フォント]-> [フォントのインストール]ボタンを使用)

Creating the new font descriptor in iReport

b)新しいフォント(または既存のフォント)をiReportのjarファイルとしてエクスポートする([オプション]-> [フォント]-> [拡張機能としてエクスポート]ボタンを使用)

enter image description here

a)JasperReports Studioで新しいフォントを作成する(ウィンドウ->設定-> JasperStudio->フォント->「追加」ボタンを使用)

b)フォントを設定する

Exporting font as jar file

c)フォントを含むJARを作成します

Export Font Jar

enter image description here

Font Extensionshere の使用に関する詳細情報を見つけることができます。

25
Alex K

Jasper Reportsでロシア語が必要な場合(少なくとも古いバージョンのopennmsでは)、次の組み合わせでFont Extensionを使用せずにうまくいきます。

フォント名:SanSerif PDFフォント:Courier PDFエンコーディング:CP1251 PDF埋め込み:はい(わからない、なしでも動作します)

アレクセイ・バフムトフ

0

iReportのバージョン4.8.0以降のPDFでUTF-8文字の表示に問題がある場合は、何もする必要はありません。表のセルのフォントをsanserifからDejavu sansに変更するだけです。それでおしまい。

0
Rodniko