4

PHPでjasperreportを使用しています。次の手順を使用して、jasperreportに新しいフォントをインストールしたときに新しいフォントをインストールする際に問題が発生しました。

  1. 編集済みjasperreports_extension.properties

    次の行を追加しました

net.sf.jasperreports.extension.simple.font.families.Mistral = net / sf / jasperreports / fonts / fonts.xml

  1. net\sf\jasperreports\fonts\fonts.xml私は次の行を追加しました

次のエラーが発生します

Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: Invoke failed: [[c:JasperExportManager]]->exportReportToPdfFile((o:JasperPrint)[o:JasperPrint], (o:String)[o:String]). Cause: net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : pdfFontName : Mistral pdfEncoding : Cp1252 isPdfEmbedded : false VM: 1.6.0_24@http://java.sun.com/" at: #-18 net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:1961) #-17 net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:1725) #-16 net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:1694) #0 /mount1/imeddoc/dev/JasperReports/includes/javabridge.php(338): java_ThrowExceptionProxyFactory->getProxy(12, '@V', 'Could not load ...', true) #1 /mount1/imeddoc/dev/JasperReports/includes/javabridge.php(495): java_Arg->getResult(true) #2 /mount1/imeddoc/dev/JasperReports/includes/javabridge.php(501): java_Client->getWrappedResult(true) #3 /mount1/imeddoc/dev/JasperReports/includes/javabridge.php(705) in /mount1/imeddoc/dev/JasperReports/includes/javabridge.php on line 301 

誰かが私がこの問題を解決するのを手伝ってくれますか?

4

1 に答える 1

7

ireportのオプションを使用して解決しました。jasperreportに新しいフォントをインストールするには、それをireportにインストールしてjarファイルにエクスポートしてから、jasperプロジェクトのjarファイルを置き換えます。ireportにフォントをインストールするには、[ツール]->[オプション]->[フォント]に移動し、[フォントのインストール]をクリックします。手順に従って、ireportに新しいフォントをインストールします。このフォントをPDFに埋め込むことを確認することを忘れないでください。

次に、フォントをエクスポートするには、[ツール]->[オプション]->[フォント]に移動し、使用可能なフォントのリストから必要なフォントを選択して、[拡張子としてエクスポート]をクリックします。フォントをjarファイルとしてエクスポートします。ここで、jasperreportライブラリのjarファイルを置き換えます。

于 2013-03-04T12:07:33.407 に答える