我有一个JasperReport模板(在服务器上生成),带有样式文本字段(RTF)。此字段的内容是用户生成的,因此它可以包含客户端PC上安装的所有字体(称为字体X)。如果我现在在服务器上生成报告,则没有字体X,所以我想将所有未知字体替换为字体Y.
但我得到的只是一个错误,找不到字体。通常不需要关闭字体检查的功能(net.sf.jasperreports.awt.ignore.missing.font),因为我希望检查jrxml的字体。
有没有办法设置默认字体(不修改Jasper Source)? (我已经在JRStyledText或JRTextUtil中找到了一些要点。)
答案 0 :(得分:7)
您可以尝试使用 net.sf.jasperreports.default.font.name
属性。
或者您可以使用 default style
。
<style name="Base" isDefault="true" ...>
有关详细信息,请参阅此article, Default Fonts and Inheritance
部分。
<强> 更新: 强>
来自 JasperReports终极指南 的引用:
我们强烈建议人们在报告中仅使用字体 以字体扩展名提供。这是确保这一点的唯一方法 报告时,应用程序可以使用这些字体 在运行时执行。使用系统字体总是带来风险 部署在具有此功能的计算机上时,报告无法正常工作 没有安装这些字体。