나는 다음과 같은 보고서가 :재스퍼의 변수 높이 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 픽셀이 충분하지 않으면 밴드가 늘어나지 만 페이지의 끝을지나 위쪽으로 지나치게 아래쪽으로 늘어납니다. 이로 인해 바닥 글의 일부 내용이 렌더링되지 않습니다. 실제로 보고서는 위의 같은 렌더링 : 당신이 볼 수 있듯이 텍스트 필드에서 두 번째 라인이없는
. 나는 물론 ...의 말을하자 100 픽셀 밴드의 높이를 증가시킬 수있다 : 텍스트 필드의 두 번째 줄이 렌더링이 경우
,하지만 100 픽셀 명확하게 너무 많이했다 및 바닥 글은 아니다 더 이상 페이지의 끝에.
이 경우 텍스트 필드에는 정적 텍스트가 포함되어 있으므로 높이 값을 시도해 볼 수 있으므로 실제 상황에서는 텍스트 필드의 내용이 변수에서 나옵니다. 동적 높이가있는 페이지 하단에 꼬리말을 표시하려면 어떻게해야합니까?