2017-01-25 1 views
1

나는 다음과 같은 보고서가 :재스퍼의 변수 높이 lastPageFooter를 jrxml을 페이지 맨 아래에 정렬하는 방법은 무엇입니까?

<?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="demo" pageWidth="595" pageHeight="842" columnWidth="515" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
    <style name="highlight box" mode="Opaque" backcolor="#D9D9D9"> 
     <box padding="2" /> 
    </style> 


    <lastPageFooter> 
     <band height="30"> 
      <textField isStretchWithOverflow="true"> 
       <reportElement style="highlight box" x="0" y="0" width="320" height="1" /> 
       <textFieldExpression><![CDATA["This is a short footer content\nIt contains multiple lines"]]></textFieldExpression> 
      </textField> 
     </band> 
    </lastPageFooter> 
</jasperReport> 

보고서가 텍스트 필드 폭 동적 (isStretchWithOverflow="true") 높이를 포함 lastPageFooter 아무것도 포함하지 않는 볼 수 있듯이.

그러나 Jasper는 항상 lastPageFooter을 페이지의 끝 전에 30 픽셀 (<band height="30">에서 정의 됨)을 시작하도록 배치합니다. textField의 높이로 인해 30 픽셀이 충분하지 않으면 밴드가 늘어나지 만 페이지의 끝을지나 위쪽으로 지나치게 아래쪽으로 늘어납니다. 이로 인해 바닥 글의 일부 내용이 렌더링되지 않습니다. 실제로 보고서는 위의 같은 렌더링 : 당신이 볼 수 있듯이 텍스트 필드에서 두 번째 라인이없는

screenshot of incomplete footer

. 나는 물론 ...의 말을하자 100 픽셀 밴드의 높이를 증가시킬 수있다 : 텍스트 필드의 두 번째 줄이 렌더링이 경우

footer with height 100px: Not at the bottom of the page

,하지만 100 픽셀 명확하게 너무 많이했다 및 바닥 글은 아니다 더 이상 페이지의 끝에.

이 경우 텍스트 필드에는 정적 텍스트가 포함되어 있으므로 높이 값을 시도해 볼 수 있으므로 실제 상황에서는 텍스트 필드의 내용이 변수에서 나옵니다. 동적 높이가있는 페이지 하단에 꼬리말을 표시하려면 어떻게해야합니까?

답변

0

페이지 바닥 글에서 분할 유형을 변경해보십시오. "Stretch"또는 "Prevent"를 시도 할 수 있습니다.

관련 문제