【发布时间】:2016-08-25 21:29:09
【问题描述】:
我在根据报告导出到的内容切换 jasper 报告中的打印变量时遇到问题。假设我在 jasper 报告中有 2 个字段:$F{A} 和 $F{B}。
jasper 如果使用 rtf(富文本格式)导出,则应打印 $F{A},如果使用非 rtf 导出,则应打印 $F{B}。
我必须在 jasper 文本字段中写什么?
有没有exportedAs("rtf")的功能?<textFieldExpression><![CDATA[(exportedAs("rtf")? $F{A} : $F{A})]]></textFieldExpression>
------ 在此处添加新信息 ------
我尝试使用 <property name="net.sf.jasperreports.export.rtf.exclude.key.NOTRTFFIELD"/>
让另一个打印的是pdf。<property name="net.sf.jasperreports.export.rtf.exclude.key.NOTPDFFIELD"/>
我也将键放在报告元素中。
<code>
<reportElement key="NOTRTFFIELD">
<reportElement key="NOTPDFFIELD">
</code>
但是当 $F{A} 和 $F{B} 的行数不同时,它会为行数较少的字段留下空白空间。
即
$F{A} :
A1线
A2线
A3线
$F{B} :
B1线
假设报表导出为 PDF 时打印 $F{A},报表导出为 RTF 时打印 $F{B}。
如果我们打印为 PDF :
other line...
line A1
line A2
line A3
other line...
如果我们打印为 RTF :
other line...
line B1
---blank line---
---blank line---
other line...
我必须删除那些空行..
【问题讨论】:
-
您可以使用:
<exporter_property_prefix>.exclude.key -
或者只是使用一个参数,你是通过java导出还是使用jasper-server?
-
我通过 java 导出。我希望我可以使用参数,但如果我这样做,我必须更新当前的框架。这是不允许的,如果我必须这样做,这需要时间。
标签: jasper-reports