如果单词的一部分使用 HTML 标记突出显示,Birt 会插入一个额外的空格





我在 Birt 中报告时遇到了以下问题。我希望能够使用 HTML 标记突出显示报表中的文本<b><i><u>等。 如果我突出显示整个单词,那么一切正常。但是如果我只突出显示单词的一部分,那么 Birt 会用一个额外的空格拆分这样一个单词:

数据来源:

<data>
<text>&lt;b&gt;This&lt;/b&gt; is a text. T&lt;b&gt;his&lt;/b&gt; is another text.</text>
</data>

.rptdesign:

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.23" id="1">
<property name="createdBy">Eclipse BIRT Designer Version 4.6.0.v201606072122</property>
<property name="units">in</property>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<property name="imageDPI">96</property>
<data-sources>
<oda-data-source extensionID="org.eclipse.datatools.enablement.oda.xml" name="Data Source" id="4">
<property name="FILELIST">data_sources/test_data_source.xml</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set extensionID="org.eclipse.datatools.enablement.oda.xml.dataSet" name="testDataSet" id="5">
<list-property name="columnHints">
<structure>
<property name="columnName">text</property>
<text-property name="heading">text</text-property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">text</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">text</property>
<property name="nativeName">text</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[table0#-TNAME-#table0#:#[/data/text]#:#{text;STRING;}]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>2.0</Version>
<design:ResultSets derivedMetaData="true">
<design:resultSetDefinitions>
<design:resultSetColumns>
<design:resultColumnDefinitions>
<design:attributes>
<design:identifier>
<design:name>text</design:name>
<design:position>1</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
<design:nullability>Unknown</design:nullability>
</design:attributes>
<design:usageHints>
<design:label>text</design:label>
<design:formattingHints/>
</design:usageHints>
</design:resultColumnDefinitions>
</design:resultSetColumns>
<design:criteria/>
</design:resultSetDefinitions>
</design:ResultSets>
</model:DesignValues>]]></xml-property>
<list-property name="privateDriverProperties">
<ex-property>
<name>MAX_ROW</name>
<value>-1</value>
</ex-property>
<ex-property>
<name>XML_FILE</name>
</ex-property>
</list-property>
</oda-data-set>
</data-sets>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2"/>
</page-setup>
<body>
<text-data id="6">
<property name="fontFamily">"Times New Roman"</property>
<property name="fontSize">14pt</property>
<property name="textAlign">justify</property>
<property name="dataSet">testDataSet</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">text</property>
<text-property name="displayName">text</text-property>
<expression name="expression" type="javascript">dataSetRow["text"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<expression name="valueExpr">row['text']</expression>
<property name="contentType">html</property>
</text-data>
</body>
</report>

单词结果:

这是一篇课文。T 他的是另一个文本。

如何使多余的空间不会出现?

我的测试项目可以在这里下载。

我用eclipse-reporting-neon-R-win32-x86_64.zip尝试了你的文件,它工作正常。尝试升级编辑器或查看器。

这是一篇课文。这是另一个文本。<<- 删除了格式,但在使用最新查看器运行时没有空格。

如果您只是在Word中需要它,请尝试导出为DOC而不是DOCX。

有点晚了,但我在我的 BIRT 分支中修复了这个错误, 见 https://github.com/hvbtup/birt/commit/fee8b76a1c2b3f2df097d9f23214d0ebc1770f61 您可以分叉官方 BIRT 存储库 (https://github.com/eclipse/birt) 并将此修复程序应用于代码。

最新更新