Jasper reports .rtf文件数据未在Jasper报表中呈现

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

我创建了一个.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 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

测试

with
markup=“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>