如何运行带有图像路径的Jasper Server运行的ireport报告?

时间:2015-06-25 12:16:06

标签: jasper-reports ireport jasperserver

我正在使用Jasper Server版本6.0.1和iReport版本5.6.0。我根据服务器在报告上有一个图像它有路径(图像表达)。当我在iReport上运行报告时,我找不到路径,因为它是根据服务器的路径。一种选择是我必须根据本地机器改变每个图像的路径。如果我使用此选项,我必须在上传到服务器之前再次更改路径。还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以在参数

中传递图像路径
<parameter name="LOGO" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA["/somePath/virgin.png"]]></defaultValueExpression>
    </parameter>
...
<image>
  <reportElement uuid="8a12495e-e2a9-4d0c-9e78-650a5c084fcd" x="0" y="1" width="100" height="66"/>
  <imageExpression><![CDATA[$P{LOGO}]]></imageExpression>
</image>

从java文件传递图像路径时,该路径将用于加载图像。如果未传递任何值,则将使用默认路径。希望这会有所帮助。

<强>更新

Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("LOGO", imageDirectory + "/myLogo.jpg");
JasperReport jasperReport = CompileManager.compileReport(jrxmlFilePath, mainReportName);
JasperPrint jasperPrint =
                    JasperFillManager.fillReport(jasperReport, parameters, null);

查看here