使用<style>定义会使jasper报告中的字体不可用pdf export?</style>

时间:2011-09-29 18:27:33

标签: pdf fonts jasper-reports report

我有一个jar,我的应用程序包含一些字体。如果我粘贴

<font fontName="NimbusSansGlobal Light" size="12" pdfFontName="NimbusSansGlobal Light" pdfEncoding="Identity-H" isPdfEmbedded="true"/>

进入我的所有文本元素,PDF输出工作正常。如果我将它们全部切换为使用定义字体的样式:

<style name="SansFontStyle" isDefault="true" pdfFontName="NimbusSansGlobal Light" pdfEncoding="Identity-H" isPdfEmbedded="true"/>,当我尝试生成报告时,JRLoader无法找到该字体。有趣的是,如果我直接在我的应用程序中使用JRLoader,那么字体就可以了。

为什么样式会破坏PDF导出?

1 个答案:

答案 0 :(得分:0)

使用Font Extensions可以解决这个问题。

使用字体扩展名后,您可以在文本元素或样式中设置字体。您将在报告中指定pdfFontName,pdfEncoding或isPdfEmbedded。这在字体扩展名中指定。

注意:在严格的解释中,这实际上并没有回答这个问题。我不知道为什么样式与直接设置字体不同。这似乎是一个错误,但也许它是出乎意料的,但由于某种原因我们没有想到。因此,我开始将其作为评论而非答案进入。但它太长了。

无论如何,这应该允许您根据需要使用样式。所以我希望它能解决问题的核心。

字体扩展记录在JasperReports(和iReport)示例和文档中,因此一旦您知道应该使用它们就应该很容易使用它们。