我有很多报告显示带有HTML标记的文本字段。某些HTML元素具有分配给它们的样式和字体系列。在浏览器中呈现HTML时,font-family不区分大小写,因此以下选项在浏览器中提供完全相同的结果:
请注意两个选项之间的唯一区别是小写" v"与font-family中的大写字母对比。
当我将报告导出为PDF时Jasper Reports可以找到并使用该字体,如果font-family的第一个字母是大写字母,但如果字体全部为小写,则无法找到该字体。 我无法控制HTML文本,因为它会在其他地方生成。搜索和替换HTML中的字体名称不是一个好选择,因为它可能非常耗时,需要为大量报告和各种字体名称完成。 是否有人知道迫使Jasper Reports在搜索字体名称时忽略这种情况的解决方案? 非常感谢您的帮助。
答案 0 :(得分:0)
我在fonts.xml中添加了多个映射。不确定这是否是最佳解决方案,但它至少会生成PDF而不会夸大字体。
<fontFamily name="Verdana">
<normal><![CDATA[fonts/VERDANA.TTF]]></normal>
<bold><![CDATA[fonts/VERDANAB.TTF]]></bold>
<italic><![CDATA[fonts/VERDANAI.TTF]]></italic>
<boldItalic><![CDATA[fonts/VERDANAZ.TTF]]></boldItalic>
<pdfEncoding><![CDATA[Identity-H]]></pdfEncoding>
</fontFamily>
<fontFamily name="verdana">
<normal><![CDATA[fonts/VERDANA.TTF]]></normal>
<bold><![CDATA[fonts/VERDANAB.TTF]]></bold>
<italic><![CDATA[fonts/VERDANAI.TTF]]></italic>
<boldItalic><![CDATA[fonts/VERDANAZ.TTF]]></boldItalic>
<pdfEncoding><![CDATA[Identity-H]]></pdfEncoding>
</fontFamily>