JasperReports不会生成粗体报告

时间:2015-12-30 17:30:03

标签: fonts jasper-reports

我已阅读 JasperReports - Fonts Sample (version 6.2.0)官方教程,以与使用字体样式设计相同的方式生成报告。

这是我的setInterval( function(){ var timerNodes = document.getElementsByClassName('time-left'); var timers = Array.prototype.slice.call(timerNodes) timers.map(function (el) { var endTime = el.getAttribute('data-countdown-expire'); var timeUntil = moment.unix(endTime).fromNow(); el.innerHTML = timeUntil; }) }, 1000);

jasperreports_extension.properties

这是我的net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory net.sf.jasperreports.extension.simple.font.families.dejavu=net/sf/jasperreports/fonts/fonts.xml net.sf.jasperreports.extension.simple.font.families.arial=net/sf/jasperreports/fonts/fonts.xml

fonts.xml

我将字体放在我的jar中但是当我生成报告时,字体样式仍然没有出现。我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

您需要拥有xml和ttf文件的正确路径,它遵循与java包相同的样式。

实施例

如果您的jasperreports_extension.properties位于项目根文件夹中(我建议,因为jasper-reports需要找到它),并且您有fonts.xmlttf个文件名为fonts的文件夹。

jasperreports_extension.properties中的引用将是:

net.sf.jasperreports.extension.simple.font.families.myFonts=fonts/fonts.xml

并在fonts.xml

<fontFamily name="DejaVu Sans">
    <normal>fonts/DejaVuSans.ttf</normal>
    <bold>fonts/DejaVuSans-Bold.ttf</bold>
    .....
</fontFamily>

如果您仍有问题,我建议您使用像这样的IDE,它们会让您自动为字体扩展程序生成一个jar(包括您的ttf&#39; s)。

在生成pdf导出时,将这个jar包含在类路径中就足够了。

如何使用iReportJasperSoft Studio

生成字体扩展名jar