iReportバージョン:3.7.1
私はこの問題に2つの方法で取り組みました。
私の最初の方法
pdf
にiReport
ページを作成しています。フィールドの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必要なものを除く他のすべてのフィールドに?
Font Extensions
メカニズムを使用する必要があります。
フォントを作成してjarファイルとしてエクスポートした後、生成されたjarファイルをアプリケーションのクラスパスに追加する必要があります。
Font Extensions
here の使用に関する詳細情報を見つけることができます。
Jasper Reportsでロシア語が必要な場合(少なくとも古いバージョンのopennmsでは)、次の組み合わせでFont Extensionを使用せずにうまくいきます。
フォント名:SanSerif PDFフォント:Courier PDFエンコーディング:CP1251 PDF埋め込み:はい(わからない、なしでも動作します)
アレクセイ・バフムトフ
iReportのバージョン4.8.0以降のPDFでUTF-8文字の表示に問題がある場合は、何もする必要はありません。表のセルのフォントをsanserifからDejavu sansに変更するだけです。それでおしまい。