99

DynamicJasper でレポートを生成しようとしていますが、次のエラーが発生します。

net.sf.jasperreports.engine.util.JRFontNotFoundException:  
                                 Font 'Arial' is not available to the JVM.   

msttcorefontsがインストールされていますが、JVM はそこからフォントを使用していないと思います。

Ubuntu 10.04 を使用しています。

どうすればこれを修正できますか?

4

19 に答える 19

70

I tried installing mscorefonts, but the package was installed and up-to-date.

sudo apt-get update
sudo apt-get install ttf-mscorefonts-installer

I tried searching for the font in the filesystem, with:

ls /usr/share/fonts/truetype/msttcorefonts/

This folder just had the README, with the correct instructions on how to install.

cat /usr/share/fonts/truetype/msttcorefonts/README

You need an internet connection for this:

sudo apt-get install --reinstall ttf-mscorefonts-installer

I re-installed ttf-mscorefonts-installer (as shown above, making sure to accept the EULA!) and the problem was solved.

于 2011-10-25T13:54:23.770 に答える
23

IReport を使用してフォントをインストールします。

ツール -> オプション -> フォント -> フォントのインストールをクリック

次に、フォントを選択してクリックします

-> 拡張子としてエクスポートし、名前 myfont.jar を入力します

この jar と spring.jar *をビルド パスに追加します。

*Jaspersoft\iReport-3.7.0\ireport\modules\ext から spring.jar をコピーします

于 2011-07-13T18:41:46.840 に答える
14

sudo apt-get install msttcorefonts(Ubuntu開発環境で)動作しますが、あまり良い解決策ではありません.

代わりに、このヒントに基づいてアプリケーションにフォントをバンドルしました。彼らの JAR ファイルには、次のフォントがバンドルされています。

  • アリアル
  • タイムズ ニュー ローマン
  • クーリエ 新規
  • コミックサンズ MS
  • グルジア
  • ヴェルダナ
  • 等幅

jar をダウンロードするための直接リンク: Maven バージョン 1.0。動的フォント

于 2012-09-24T03:29:33.107 に答える
12

CentOS の場合:

wget msttcorefonts

それで:

tar -zxvf msttcorefonts.tar.gz
cp msttcorefonts/*.ttf  /usr/share/fonts/TTF/
fc-cache -fv 

結局、JVM を再起動します。

于 2013-08-12T13:54:00.337 に答える
11

このような問題を回避する方法は 3 つあります。

方法 1 : 欠落しているフォント プロパティを無視するように設定する。

JRProperties.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");

または、次の行を .jrxml ファイルに入力して、このプロパティを設定できます。

<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>

方法 2 : デフォルトのフォント プロパティを設定する。

JRProperties.setProperty("net.sf.jasperreports.default.font.name", "Sans Serif");

または、次の行を .jrxml ファイルに入力して、このプロパティを設定できます。

<property name="net.sf.jasperreports.default.font.name" value="Sans Serif"/>

方法 3 : 欠落しているフォント プロパティを追加する。

まず、[ツール] >> [オプション] >> [フォント] >> [フォントのインストール] を選択して不足しているフォントを IReport にインストールします。次にすべてのフォントを選択し、.jar 拡張子の [拡張子としてエクスポート] をクリックしてこれをエクスポートします。

プロジェクト ライブラリまたはクラスパスに存在する Jasperreports-font.XXXjar にこの jar を使用できます。

于 2015-09-05T10:54:05.103 に答える
5

「Arial」や「Times New Roman」ではなく、「SansSerif」または「Serif」のみを選択することで、これを解決しました。

于 2010-10-20T11:48:42.133 に答える
3

行を追加してみてください

net.sf.jasperreports.awt.ignore.missing.font=true

jasperreports.properties ファイルに追加します。

Jasper が 1 つのフォントを見つけるのをやめた

于 2011-07-11T14:35:15.350 に答える
3

Spring 3 に基づいて、Oracle Linux 6 上の Weblogic 10.3 にデプロイされた Web アプリケーションで問題に直面しました。リンクに記載されている解決策は私にとってはうまくいきませんでした。

次の手順を実行する必要がありました - 1. Arial*.ttf フォント ファイルを JROCKIT_JAVA_HOME/jre/lib/fonts ディレクトリにコピーします 2. fontconfig.properties.src にフォントのエントリを作成します 3. Weblogic コンソールからクラスタを再起動します

filename.Arial=Arial.ttf
filename.Arial_Bold=Arial_Bold.ttf
filename.Arial_Italic=Arial_Italic.ttf
filename.Arial_Bold_Italic=Arial_Bold_Italic.ttf
于 2013-02-19T18:53:53.967 に答える
3

フォントをインストールすることでそれを行うことができます。つまり、その特定のアプリケーションを実行したい場所ならどこでも実行できます。最も簡単な方法は、次の bl 行を jrxml ファイルに追加することです。

 <property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>
于 2012-05-21T14:05:25.973 に答える
2

iReportを介してカスタムフォントを作成し、jarファイルのように変換できます

于 2010-11-05T00:01:17.093 に答える
2

Debian の場合

追加

non-free contrib

/etc/apt/sources.list の deb および deb-src へ:

deb http://ftp.debian.org/debian/ squeeze main non-free contrib
deb-src http://ftp.debian.org/debian/ squeeze main non-free contrib

それで

apt-get update
apt-get install msttcorefonts

もちろん、jasperserver を再起動する必要があります。すなわち:

/opt/jasperreports-server-cp-4.5.0/ctlscript.sh restart

バージョン/パスを変更します。

于 2012-08-03T02:27:52.770 に答える
1

多言語(Unicode)でジャスパーレポートを作成

1) ireport desginer にフォントをインストールする

2) フォントの拡張子を作成します (アプリケーションのクラスパスで使用します)

3) OS にフォントをインストールする (オプション)

4) フォントのすべての .ttf を jre->lib->fonts ディレクトリに貼り付けます (そうしないと、Web アプリケーションはエラー font is not available to JVM をスローします)

于 2014-07-10T13:37:31.913 に答える
0

2 ステップで解決 (centOS を使用している場合)

  1. Microsoft コア フォント rpm パッケージをダウンロードします。

    [root@WEBSVR~/]# wget http://www.itzgeek.com/msttcore-fonts-2.0-3.noarch.rpm
    
  2. rpm パッケージをインストールします。

    [root@WEBSVR~/]# rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm
    
于 2016-04-12T08:17:47.113 に答える
-1

次のディレクトリ JDK_HOME\jre\lib\fonts にフォントをコピーします。

于 2012-02-14T06:46:35.667 に答える