4

我正在使用 jasperreport 和 PHP。我在安装新字体时遇到问题我使用以下步骤在 jasper 报告中安装了新字体。

  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 回答