如何用unicode图像替换字符?

时间:2016-08-03 14:34:28

标签: unicode jasper-reports

如何将来自数据库的文本中的 - 字符替换为带有图像的jasper字段?目标如下图所示:

goal

类似于:$F{KN_Zusatzinfo_DV_Einleitungstext}.replaceAll("- ", "[\\x254]"),其中x254是红色正方形的ascii代码。

但是上面的代码将ascii代码写在文本中,并且不会生成图像。

1 个答案:

答案 0 :(得分:3)

呈现unicode符号的正确语法是\uXXXX

例如这个表达式:

$F{listItem}.replaceAll("-", "\u2588")

渲染这个

Output

现在你喜欢点为红色所以我们需要应用一些样式,让我们在markup="html"设置textElement并将替换更改为

$F{listItem}.replaceAll("-", "<font color=\"red\">\u2588</font>")

会呈现:

Red dots

  

注意:您需要谨慎使用replaceAll中的正则表达式,我可能会   ^-,因此以-开头(以避免替换文本中的其他-),   此外,通常的方法是只添加一个红色矩形元素   每一行。如果要导出,请同时处理字体扩展名   pdf,以便您的字体正确呈现