2017-03-27 3 views
-1

이미지 높이가 360px이고 너비가 900px입니다. 내 조건에 따라 이미지가 비어있어 PDF 또는 엑셀에 표시되지 않는 경우가 있습니다.Jasper 보고서의 다른 요소로 이미지의 빈 공간을 다룹니다.

이 시점에서, 이미지가 다른 요소보다 "y"축에 따라 위치하지 않을 때. 이 때문에 틈이 형성됩니다.

이미지가 이미지가 아닌 경우 다른 모든 요소의 위치를 ​​위로 설정하는 방법. 텍스트 필드가 320 픽셀에 위치보다

<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> 

그래서, 지금 당신은 너무 이미지가 여전히 텍스트 필드가 320 ~ 뒤에 표시 할 수있는 것보다없는 그 이미지는 300 높이입니다 볼 수 있습니다. PDF로보기에는 좋지 않습니다. 그래서 이미지가 위의 모든 엘리먼트 전환보다 그다지 원하지 않습니다.

+0

[빈 textFields가있는 프레임을 제거하는 방법] 가능한 복제본 (http://stackoverflow.com/questions/41178070/how-to-remove-frame-with-empty-textfields) –

+0

아니요, 뭔가 다른 점이 있습니다. –

+0

주위에 떠 있어야하는 textElements에 positionType = "float"이 필요합니다. AlexK dupe에서 답을 확인하십시오. –

답변

0

내 문제의 해결책이 있습니다. 조건에 따라 프레임에 요소를 추가해야합니다. 위의 질문에 이미지가 있거나 그렇지 않을 수도 있습니다.

그래서이 이미지를 프레임에 추가하고 변경된 다른 요소는 부동으로 배치됩니다. (모든 요소에서 availableType = "float"속성을 사용할 수 있습니다)

빙고 !!! 문제가 해결되었습니다.

관련 문제