如何防止HTML中的额外行空间

时间:2013-09-27 08:42:56

标签: jasper-reports

我将iReport设计的模板导出为HTML,当在电子邮件中呈现为正文时,它会显示其他行间距,如下所示

Option 1: Delivery in Evening (17:00-21:00).



    选项2:周六交付。

如何防止线条空间如下所示

Option 1: Delivery in Evening (17:00-21:00).
Option 2: Delivery on Saturday.

仅当从java导出到HTML时才会发生这种情况。 PDF导出很好。 感谢任何帮助和提前感谢。

这是我的JRXML:

<?xml version="1.0" encoding="UTF-8"?>
<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="PreAlert" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="591" leftMargin="2" rightMargin="2" topMargin="5" bottomMargin="5" isIgnorePagination="true" uuid="59a0a3f5-2869-4b8b-8aae-a29eb50ecc64">
    <queryString>
        <![CDATA[]]>
    </queryString>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="790" splitType="Prevent">
            <staticText>
                <reportElement uuid="7e37eeb2-c2c2-40cb-94f1-585663f21321" x="34" y="73" width="500" height="17" isRemoveLineWhenBlank="true"/>
                <textElement>
                    <font fontName="SansSerif" size="11" isBold="false" pdfEncoding="Identity-H"/>
                </textElement>
                <text><![CDATA[Option 2: Delivery on Saturday]]></text>
            </staticText>
            <staticText>
                <reportElement uuid="0533379c-19e6-47e0-8dcc-14cbb9d1798e" x="34" y="54" width="500" height="17" isRemoveLineWhenBlank="true"/>
                <textElement>
                    <font fontName="SansSerif" size="11" isBold="false" pdfEncoding="Identity-H"/>
                </textElement>
                <text><![CDATA[Option 1: Delivery in Evening (17:00-21:00).]]></text>
            </staticText>
            <line>
                <reportElement uuid="09813fb9-7535-47da-83df-10b5ca5d174b" positionType="Float" x="15" y="26" width="540" height="1"/>
            </line>
        </band>
    </title>
</jasperReport>

2 个答案:

答案 0 :(得分:0)

尝试设置这些复选框:

  • 空格时删除行

  • 空白时空白

在您的iReport中

答案 1 :(得分:0)

经过长时间的斗争和杂耍,最终的罪魁祸首归结为 JRHtmlExporter 出口商

如果我使用以下代码导出到html,还有其他换行符

JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR, Boolean.FALSE);
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporter.setParameter(JRHtmlExporterParameter.FRAMES_AS_NESTED_TABLES, Boolean.FALSE);
exporter.setParameter(JRHtmlExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.TRUE);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE, destFile);

exporter.exportReport();

然而,当我使用直接导出时,它正在工作。不确定为什么行为会有所不同

String htmlFile = JasperExportManager.exportReportToHtmlFile(jrPrintFile);

如果我通过电子邮件正文发送此html文件内容,则没有其他换行符。
很大的问题是为什么我在这方面有很长的家庭工作。