【问题标题】:Font extensions does not work for JasperReports字体扩展不适用于 JasperReports
【发布时间】:2015-04-01 04:33:33
【问题描述】:

我正在尝试将 Tahoma 字体添加到我的网络应用程序中的碧玉报告中。我用font extension mechanism

抛出了这个异常: 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 字体文件放在我的类路径中。 这是jasper报告中的样式标签:

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

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

【问题讨论】:

    标签: java fonts jasper-reports


    【解决方案1】:

    您将“Tahoma.ttf”字体文件放在类路径中,但在 fonts.xml 中声明“BTahoma.ttf”

    <normal>export/fonts/BTahoma.ttf</normal>
    

    让我们将它们更改为相同的。 我认为这个例外会消失。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        将 Tahoma.ttf 字体放在类路径中不是要走的路。

        您使用字体扩展是正确的,这是一个很好的做法 - 但您需要将您的字体作为字体扩展打包到一个 jar 中并将该 jar 添加到您的类路径中。

        • 在 jasperReport 中,管理您的字体,在 options 中,在 Font 选项卡中,选择字体并单击 export as extension。李>
        • 打包您的 jar,一切都应该可以正常工作,而无需在 JVM 上安装物理字体。

        更多信息记录在here

        【讨论】:

          猜你喜欢
          • 2023-04-10
          • 1970-01-01
          • 2013-02-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-26
          • 2015-08-29
          • 1970-01-01
          相关资源
          最近更新 更多