gpt4 book ai didi

java - 字体扩展不适用于 JasperReports

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:30:04 24 4
gpt4 key购买 nike

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

抛出异常:net.sf.jasperreports.engine.util.JRFontNotFoundException:JVM 无法使用字体“TahomaFont”。有关详细信息,请参阅 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"/>

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

最佳答案

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

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

  • 在 jasperReport 中,管理您的字体,在选项中,在字体选项卡中,选择字体并单击导出为扩展
  • 打包您的 jar,无需在 JVM 上安装物理字体即可正常工作。

记录了更多信息 here .

关于java - 字体扩展不适用于 JasperReports,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28274197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com