Java 字体扩展不适用于JasperReports
我正在尝试将Tahoma字体添加到我的web应用程序中的jasper report中。我用 引发了此异常: net.sf.jasperreports.engine.util.JRFontNotFoundException:字体“TahomaFont”对JVM不可用。有关更多详细信息,请参阅Javadoc 这是我的font.xml文件:Java 字体扩展不适用于JasperReports,java,fonts,jasper-reports,Java,Fonts,Jasper Reports,我正在尝试将Tahoma字体添加到我的web应用程序中的jasper report中。我用 引发了此异常: net.sf.jasperreports.engine.util.JRFontNotFoundException:字体“TahomaFont”对JVM不可用。有关更多详细信息,请参阅Javadoc 这是我的font.xml文件: 导出/font/BTahoma.ttf 身份-H 真的 这是我的jasperreports.properties文件: net.sf.jasperreport
导出/font/BTahoma.ttf
身份-H
真的
这是我的jasperreports.properties文件:
net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.TahomaFont=export/fonts/fonts.xml
我还将Tahoma.ttf字体文件放在我的类路径中。
以下是jasper report中的样式标记:
请告诉我哪里出了问题。提前感谢。将Tahoma.ttf字体放在你的类路径中是不的方法 您使用字体扩展是正确的,这是一个很好的实践-但是您需要将字体打包为字体扩展,放入一个jar中,并将该jar添加到您的类路径中
- 在jasperReport中,管理字体,在“选项”中的“字体”选项卡中,选择字体并单击“导出为扩展名”
- 打包您的jar,事情应该可以正常工作,而不必在JVM上安装物理字体
更多信息记录在案。也许您必须将jar文件复制到java_home/fonts目录。如果您使用的是maven项目,那么您必须在maven项目中使用pom属性打包jar文件,以向pom.xml添加依赖项,您将“Tahoma.ttf”字体文件放在类路径中,但在fonts.xml中声明“BTahoma.ttf”
<normal>export/fonts/BTahoma.ttf</normal>
export/font/BTahoma.ttf
让我们把它们换成相同的。
我认为这一例外将会消失