【问题标题】:JasperReports - font extensions does not work - can't find font while exporting to PDFJasperReports - 字体扩展不起作用 - 导出为 PDF 时找不到字体
【发布时间】:2013-02-02 20:39:29
【问题描述】:

我正在尝试在我的网络应用程序中将 Tahoma 字体添加到我的报告中。我使用字体扩展机制(通过 iReport 我导出了扩展 jar 并将其放在我的 web 应用程序 lib 目录中)。我的 font.xml 文件如下所示:

<fontFamily name="Tahoma">
   <normal><![CDATA[fonts/tahoma.ttf]]></normal>
   <bold><![CDATA[fonts/tahomabd.ttf]]></bold>
   <pdfEncoding><![CDATA[Cp1250]]></pdfEncoding>
   <pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>

和我的风格:

<style name="TAHOMA_FONT" fontName="Tahoma" pdfFontName="Tahoma" />

问题是当我尝试生成 PDF 时出现以下错误:

无法加载以下字体:pdfFontName: Tahoma pdfEncoding: Cp1250 isPdfEmbedded: true

在 iReports 中不会出现此问题。此外,当我将样式更改为以下样式时,不会出现问题:

<style name="TAHOMA_FONT" fontName="Tahoma" pdfFontName="fonts/tahoma.ttf" pdfEncoding="Cp1250" isPdfEmbedded="true" />

当我在 net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory 类中放置断点时,我可以看到正在读取 Tahoma 系列。

我的 jasperreports 版本是 3.7.4。

有什么建议吗?

【问题讨论】:

    标签: java fonts jasper-reports


    【解决方案1】:

    这是我的问题。 font.xml 定义很好,但样式定义不是。应该是:

    <style name="TAHOMA_FONT" fontName="Tahoma" />
    

    样式标签内的 pdfFontName、pdfEncoding、isPdfEmbedded 属性现已弃用,不应使用。

    【讨论】:

      猜你喜欢
      • 2015-04-01
      • 2023-04-10
      • 2018-11-28
      • 1970-01-01
      • 2017-07-30
      • 2013-11-04
      • 2016-08-06
      • 1970-01-01
      • 2017-12-10
      相关资源
      最近更新 更多