2014-12-19 8 views
0

현재 Jaspersoft Studio (버전 5.6.2.final)를 사용하여 PDF 문서를 작성하고 있습니다. 나는 현재 어떤 도움을 사용할 수있는 문제에 직면하고있다.yasp가 음수 인 하위 보고서가 jaspersoft의 두 번째 페이지에 잘못 인쇄됩니다.

3 개의 하위 보고서가 포함 된 하나의 마스터 보고서가 있습니다. 각 하위 보고서는 자체 머리글, 세부 정보 및 (마지막) pageFooter 밴드가있는 본격적인 문서입니다. 포함 된 각 보고서는 자체 세부 밴드에서 pagebreak로 만들어 지므로 각 하위 보고서는 새 페이지에서 시작됩니다. 지금까지 문제가 없습니다.

이제 고객은 문서의 특정 위치에있는 모든 페이지에 페이지 번호를 원합니다.이 번호는 각 하위 보고서 머리글의 특정 부분에 해당합니다. 나는이 가능하도록 무슨 짓을

Location of the pagenumber http://puu.sh/dAZzg/edaa1285c4.png

가 PAGENUMBER을 포함하는 마스터 보고서에서 pageHeader을 만드는 것입니다 : 아래 그림을 참조하십시오. 그런 다음 각 하위 보고서에 음의 Y 좌표를 부여하여 pageHeader 위로 슬라이드하여 pageNumber를 정확한 위치에 정확하게 인쇄합니다. 이것은 부분적으로 작동합니다.

<pageHeader> 
    <band height="159"> 
     <property name="local_mesure_unitheight" value="cm"/> 
     <textField> 
      <reportElement x="483" y="145" width="31" height="14" uuid="f512ea15-2e4b-4c63-bf92-61b990d9c461"> 
       <property name="local_mesure_unitheight" value="cm"/> 
       <property name="com.jaspersoft.studio.unit.height" value="cm"/> 
       <property name="local_mesure_unity" value="cm"/> 
       <property name="com.jaspersoft.studio.unit.y" value="cm"/> 
      </reportElement> 
      <textElement textAlignment="Left"> 
       <font fontName="Amerigo BT"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> 
     </textField> 
    </band> 
</pageHeader> 
<detail> 
    <band height="83" splitType="Stretch"> 
     <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/> 
     <subreport> 
      <reportElement positionType="Float" stretchType="RelativeToTallestObject" x="-56" y="-175" width="573" height="83" uuid="5e4141a0-ac50-485a-8269-40b607c67466"> 
       <property name="local_mesure_unity" value="cm"/> 
       <property name="com.jaspersoft.studio.unit.y" value="cm"/> 
       <property name="local_mesure_unitx" value="cm"/> 
       <property name="com.jaspersoft.studio.unit.x" value="cm"/> 
      </reportElement> 
      <dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("//idbfyl:fiscalYearReportLetter")]]></dataSourceExpression> 
      <subreportExpression><![CDATA["FiscalYearReportLetter.jasper"]]></subreportExpression> 
     </subreport> 
    </band> 
    <band height="83" splitType="Stretch"> 
     <break> 
      <reportElement x="0" y="0" width="513" height="1" uuid="43e0cd6d-cc0b-4ce9-ae2f-0d8d2b498896"/> 
     </break> 
     <subreport> 
      <reportElement positionType="Float" stretchType="RelativeToTallestObject" x="-56" y="-175" width="573" height="70" uuid="df524b80-9db1-43b7-9c45-3b8ea21c8081"> 
       <property name="local_mesure_unity" value="cm"/> 
       <property name="com.jaspersoft.studio.unit.y" value="cm"/> 
      </reportElement> 
      <dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("//idbfyvr:fiscalYearValueReport")]]></dataSourceExpression> 
      <subreportExpression><![CDATA["FiscalYearValueReport.jasper"]]></subreportExpression> 
     </subreport> 
    </band> 
    <band height="83" splitType="Stretch"> 
     <break> 
      <reportElement x="0" y="0" width="513" height="1" uuid="bcddb440-2fdd-49c2-98cc-7978260c8d34"/> 
     </break> 
     <subreport> 
      <reportElement positionType="Float" stretchType="RelativeToTallestObject" x="-56" y="-175" width="573" height="70" isRemoveLineWhenBlank="true" isPrintInFirstWholeBand="true" uuid="df524b80-9db1-43b7-9c45-3b8ea21c8081"> 
       <property name="local_mesure_unity" value="cm"/> 
       <property name="com.jaspersoft.studio.unit.y" value="cm"/> 
      </reportElement> 
      <dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("//ibdfyir:fiscalYearIncomeReport")]]></dataSourceExpression> 
      <subreportExpression><![CDATA["FiscalYearIncomeReport.jasper"]]></subreportExpression> 
     </subreport> 
    </band> 
</detail> 

올바른 위치에 포함 된 보고서의 인쇄마다 첫 페이지 있지만 하위가 pageHeader 아래에 인쇄 된 제 한 후 각 페이지에, 그 Y 좌표 네거티브 보인다는 리셋된다 0

Subreport start below the pageheader

하위 보고서의 모든 페이지를 동일한 음수 Y 좌표에서 시작하도록 할 수있는 방법이 있습니까? 아니면 내가 필요한 것을 얻을 수있는 또 다른 방법이 있습니까?

건배, 릭

PS. 첫 번째 하위 보고서는 1 페이지로만 구성되기 때문에 예제 그림은 2 페이지에서 시작됩니다. 또한 스크린 샷에서 중요한 데이터를 삭제 했으므로 보이는 공백에 대해 걱정하지 마십시오.

답변

0

비슷한 문제가있었습니다. 마스터 보고서의 세부 밴드에 pageNumber를 놓고 하위 보고서 오버플로가 발생할 때 모든 페이지에 인쇄 할 pageNumber를 얻으려면 isPrintWhenDetailOverFlows를 표시하십시오.