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

问题描述 投票:0回答:2

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

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


Option 2: Delivery on Saturday.

如何防止行空格,如下所示

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>
jasper-reports
2个回答
0
投票

尝试选中这些复选框:

  • 删除空白行

  • 为空时为空

在您的 iReport 中


0
投票

经过长期的斗争和杂耍,最终的罪魁祸首归结为JRHtmlExporterexporter

如果我使用以下代码导出到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);

如果我通过电子邮件正文发送此 htmlFile 内容,则不会有额外的换行符。
最大的问题是为什么,我对此有很长时间的家庭作业。

© www.soinside.com 2019 - 2024. All rights reserved.