Jasper reports .rtf文件数据未在Jasper报表中呈现
我创建了一个.rtf文件,其中包含以下带有边框的内容Jasper reports .rtf文件数据未在Jasper报表中呈现,jasper-reports,Jasper Reports,我创建了一个.rtf文件,其中包含以下带有边框的内容 cell 1 lots of text in cell two cell 3 当我使用标记作为rtf将rtf文件导出到jasper报告中时,我只得到了文本(数据下方) 我使用的是TIBCO Jaspersoft Studio-6.1.1.final版本jasper 下面我将添加JRXML文件 <?xml version="1.0" encoding="UTF-8"?> <!-- Created with J
cell 1 lots of text in cell two cell 3
当我使用标记作为rtf将rtf文件导出到jasper报告中时,我只得到了文本(数据下方)
我使用的是TIBCO Jaspersoft Studio-6.1.1.final版本jasper
下面我将添加JRXML文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.1.1.final using JasperReports Library version 6.1.1 -->
<!-- 2015-11-16T12:10:05 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Test_RTF" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e4e612e9-7787-4540-a6b9-b2d362a29f32">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="Sample DB"/>
<queryString>
<![CDATA[select '{\rtf1\ansi\deff0
\trowd
\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs
\cellx1000
\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs
\cellx2000
\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs
\cellx3000
cell 1\intbl\cell
lots of text in cell two\intbl\cell
cell 3\intbl\cell
\row
}' rtf_simple from dual]]>
</queryString>
<field name="RTF_SIMPLE" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<detail>
<band height="125" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="110" y="30" width="410" height="30" uuid="43e8a2fb-5db5-4290-8db7-51c93c330f22"/>
<textElement markup="rtf"/>
<textFieldExpression><![CDATA[$F{RTF_SIMPLE}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
在这里,我使用dual将rtf文本代码添加到select语句中。如果我在rtf文件中添加相同的文本
我得到带边框的文本,但当我将其添加到jasper报告中时,我只得到文本
[更新]
这是一个简化的用例。我们的实际需求是,我们将.rtf文档作为blob存储在DB中。我们想在大报告之间插入这些文件的内容。这些rtf文件包含文本、表格和图像。当我试图读取这个rtf文件时,只有文本出现。有人能推荐其他方法来实现这一点吗?我感觉它类似于
markup=“html”
您不应该期望jasper report能够格式化表格、图像和ECC
测试
withmarkup=“html”
将只显示红色文本“Test”,因此无红色边框
文本字段显示文本(格式化文本),因此标记(html和rtf)用于格式化文本(粗体、斜体、字体、大小、颜色)ecc
不幸的是,您需要使用框
命令为字段添加边框
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
这是一个简化的用例。我们的实际需求是,我们将.rtf文档作为blob存储在DB中。我们想在大报告之间插入本文件的内容。这些rtf文件包含文本、表格、图像。当我试图读取这个rtf文件时,只有文本出现。您能否建议其他替代方案来实现这一点。当然,您不能将其按原样传递到jasper report(不支持图像、表格ecc)。我能得到的唯一想法是用rtfparserkit之类的东西来解析rtf,然后处理不同的对象、表、immagies ecc,如果您喜欢用jasper report输出,可能会转向DynamicAspers来解析它,使用DynamicAspers来创建一个表示它的报告,并将此报告包含在您的主。。。。这不容易。。。。抱歉,没有其他想法…另一种方法是在jasper report中开发自己的组件。rtf组件…如何在jasper报告中创建自己的rtf组件?任何想法或点击或链接。所以我会尝试这个选项。。。
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>