字体扩展不适用于JasperReports

我正在尝试在我的web应用程序中将Tahoma字体添加到jasper报告中。 我使用字体扩展机制。

引发此异常:net.sf.jasperreports.engine.util.JRFontNotFoundException:字体'TahomaFont'不适用于JVM。 查看Javadoc了解更多详情。

这是我的font.xml文件:

<fontFamiles>
  <fontFamily name="TahomaFont">
    <normal>export/fonts/BTahoma.ttf</normal>
    <pdfEncoding>Identity-H</pdfEncoding>
    <pdfEmbedded>true</pdfEmbedded>
  </fontFamily>
<fontFamiles>

这里是我的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字体文件放入我的类路径中。 这里是碧玉报告中的样式标签:

<style fontName="TahomaFont" name="tahoma"/>

请让我知道我哪里错了。 提前致谢。


把Tahoma.ttf字体放在你的课程路径中是不行的。

你是正确的使用字体扩展,这是一个很好的做法 - 但你需要将你的字体打包成字体扩展名到jar中,然后将jar添加到你的类路径中。

  • 在jasperReport中,管理你的字体,在选项中,在字体标签中,选择字体并点击导出为扩展名。
  • 打包你的jar和东西应该可以正常工作,而不必在JVM上安装物理字体。
  • 这里记录更多信息。


    也许你必须将你的jar文件复制到你的java_home / fonts目录下。 如果您使用maven项目,则必须将您的jar文件打包到maven项目中,并使用pom属性将依赖项添加到pom.xml

    链接地址: http://www.djcxy.com/p/24685.html

    上一篇: Font extensions does not work for JasperReports

    下一篇: spring testing @async method