我正在将 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>
尝试选中这些复选框:
删除空白行
为空时为空
在您的 iReport 中
经过长期的斗争和杂耍,最终的罪魁祸首归结为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 内容,则不会有额外的换行符。
最大的问题是为什么,我对此有很长时间的家庭作业。