Изображение не загружается в шаблон JasperReport для электронной почты - PullRequest
0 голосов
/ 18 октября 2019

У меня проблема с использованием шаблона JasperReport для генерации контента для электронной почты. Мне нужно, чтобы содержимое находилось внутри ограниченного содержимого и имело изображение like this Но после того, как я сгенерировал шаблон, загруженный содержимым, он не выглядит в gmail или zimbra mail: This is the result Как вы можете видеть, результат не похож на предварительный просмотр в JasperSoft Studio.

Я хочу знать, есть ли способ убедиться, что изображение загружается правильно и что граница содержит остальныешаблона

кусок яшмы для изображения:

<image scaleImage="RealSize" hAlign="Center" vAlign="Middle" isLazy="true">
    <reportElement x="160" y="50" width="240" height="130" isRemoveLineWhenBlank="true" uuid="e72e685c-99f5-4dff-9174-2e25cab4a899"/>
    <graphicElement fill="Solid"/>
    <imageExpression><![CDATA["(https://domain/fe-standalone/files/resource/image.png)"]]></imageExpression>
</image>

код Java для генерации шаблона:

    protected void exportToHTML(String jasperPath, ExportParams params, Connection connection, ByteArrayOutputStream baos) throws SQLException, JRException {
        try {
            Map<String, Object> parameters = new HashMap<>();
            parameters.putAll(params.getParameters());
            JasperPrint jasperPrint = fillReport(getClass().getResourceAsStream(jasperPath), parameters, connection);

            SimpleHtmlExporterOutput oseo = new SimpleHtmlExporterOutput(baos);

            HtmlExporter exporter = new HtmlExporter();
            exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
            exporter.setExporterOutput(oseo);
            exporter.setConfiguration(new SimpleHtmlExporterConfiguration());
            exporter.exportReport();
            connection.close();
        } catch (JRException e) {
            connection.close();
            throw new JRException(e);
        }
    }

1 Ответ

0 голосов
/ 22 октября 2019

Одна вещь, которую вы можете сделать, это установить флаг экспорта isUseBackgroundImageToAlign в false. Как и в

SimpleHtmlReportConfiguration configuration = new SimpleHtmlReportConfiguration();
configuration.setUseBackgroundImageToAlign(false);
exporter.setConfiguration(configuration);

Вы также можете установить флаг с помощью свойства конфигурации net.sf.jasperreports.export.html.use.background.image.to.align .

Обратите внимание, однако, что это, вероятно, приведет к тому, что изображение больше не будет выравниваться в соответствии с атрибутами scaleImage, hAlign и vAlign, поэтому вам необходимо установить размер элемента изображения JRXML равным размеру, который должен иметь изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...