如何将来自数据库的文本中的 - 字符替换为带有图像的jasper字段?目标如下图所示:
类似于:$F{KN_Zusatzinfo_DV_Einleitungstext}.replaceAll("- ", "[\\x254]")
,其中x254
是红色正方形的ascii代码。
但是上面的代码将ascii代码写在文本中,并且不会生成图像。
答案 0 :(得分:3)
呈现unicode符号的正确语法是\uXXXX
例如这个表达式:
$F{listItem}.replaceAll("-", "\u2588")
渲染这个
现在你喜欢点为红色所以我们需要应用一些样式,让我们在markup="html"
设置textElement
并将替换更改为
$F{listItem}.replaceAll("-", "<font color=\"red\">\u2588</font>")
会呈现:
注意:您需要谨慎使用
replaceAll
中的正则表达式,我可能会^-
,因此以-
开头(以避免替换文本中的其他-
), 此外,通常的方法是只添加一个红色矩形元素 每一行。如果要导出,请同时处理字体扩展名 pdf,以便您的字体正确呈现