2016-04-22 217 views
1

我有一个报告,我在我的网络服务器上生成。报告包含和我通过的图像作为一个参数,它在报告生成中都可以正常工作。如何使用参数显示默认图像?

但我希望能够在Jaspersoft Studio的报告设计中使用此图像,并想知道如何才能做到这一点。它可以加载为defaultValueExpression例如下面的东西?

<parameter name="MyLogo" class="java.lang.Object"> 
    <parameterDescription><![CDATA[]]></parameterDescription> 
    <defaultValueExpression>path/to/file here?</defaultValueExpression> 
</parameter> 

回答

1

要显示位置的图像则需要指示绝对路径imageExpression

为此,我经常使用2参数,1为基本路径(图像的位置)和图1对要显示的图像(图像名称)都可以用defaultValueExpression表示,如果您需要更改它们,请将参数图传递给您的值。当然,您只能使用一个包含完整图像绝对路径的参数。

<?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="image" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="61ee899d-277b-4efa-9306-c325b54ac022"> 
    <parameter name="IMAGE_PATH" class="java.lang.String" isForPrompting="false"> 
     <defaultValueExpression><![CDATA["C:\\Users\\pette\\Desktop\\tmp\\"]]></defaultValueExpression> 
    </parameter> 
    <parameter name="THE_IMAGE" class="java.lang.String"> 
     <defaultValueExpression><![CDATA["theboss.jpeg"]]></defaultValueExpression> 
    </parameter> 
    <title> 
     <band height="118" splitType="Stretch"> 
      <image scaleImage="RealSize"> 
       <reportElement x="0" y="0" width="139" height="95" uuid="f5f1c323-b120-48ed-98a5-478a5b907429"/> 
       <imageExpression><![CDATA[$P{IMAGE_PATH} + $P{THE_IMAGE}]]></imageExpression> 
      </image> 
     </band> 
    </title> 
</jasperReport> 

输出

Result