2017-03-27 8 views
-1

Ich habe eine Bildhöhe von 360px und Breite von 900px. Gemäß meiner Bedingung wird das Bild manchmal leer sein, so dass es nicht in der PDF oder EXCEL angezeigt wird.Cover Leerzeichen des Bildes von anderen Elementen von Jasper Report

An diesem Punkt, wenn Bild nicht als ihr anderes Element entsprechend ihrer eingestellten "y" Achse positioniert ist. Dadurch entsteht eine Lücke.

So, wie Sie alle anderen Elemente Position nach oben setzen, wenn Bild nicht ihre ist.

<image isUsingCache="true" onErrorType="Icon"> 
       <reportElement x="448" y="0" width="402" height="300" uuid="d8d19734-1711-461d-bdb8-c8c7130a6eb2"> 
        <printWhenExpression><![CDATA[($P{chartImg2}!=null ? true : false)]]></printWhenExpression> 
       </reportElement> 
       <imageExpression><![CDATA[$P{chartImg2}]]></imageExpression> 
      </image> 
      <textField> 
       <reportElement style="REPORT_TITLE" mode="Opaque" x="0" y="320" width="850" height="30" uuid="aabbe2ed-96eb-4246-8bda-16187228c116"> 
        <property name="com.jaspersoft.studio.unit.height" value="pixel"/> 
        <property name="com.jaspersoft.studio.unit.y" value="pixel"/> 
        <property name="com.jaspersoft.studio.unit.width" value="pixel"/> 
       </reportElement> 
       <textElement textAlignment="Center"> 
        <font isBold="true"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$P{campaign_name}+"- Links Report"]]></textFieldExpression> 
      </textField> 

So, jetzt können Sie das Bild ist von 300 Höhe sehen als Textfeld bei 320px positioniert ist, um ihr Image ist nicht als noch wird nach dem Textfeld 320px angezeigt. Es sieht schlecht in PDF aus. Ich möchte also, wenn das Bild nicht ihr Element ist, sondern alle Elemente, die sich darüber bewegen.

+0

Mögliche Duplikate von [Wie Frame mit leeren TextFields zu entfernen?] (Http://StackOverflow.com/Questions/41178070/How-To-Remove-Frame-with-empty-textfields) –

+0

Nein, das ist etwas anderes –

+0

Sie brauchen positionType = "float" auf textElements, die benötigt werden, um zu schweben, überprüfen Sie die Antwort auf AlexK dupe. –

Antwort

0

Ich habe die Lösung meines Problems. Sie müssen dem Rahmen Elemente hinzufügen, die von der Bedingung abhängen. Hier in obiger Frage mag Bild wie oder vielleicht nicht dort sein.

Also In diesem Fall fügen Sie dieses Bild in den Rahmen und änderte andere Elemente sind positioniert, um zu schwimmen. (Es gibt eine Eigenschaft in allen Elementen positionedType = "float")

Bingo !!! Das Problem ist gelöst.

Verwandte Themen