2012-01-11 28 views
6

JavaのJasperReportsを使用してPDFを生成しています。私は最終的にジャスパーに報告書を正確に改ページさせることに成功した。問題は、レポートの最後に空白のページが表示されていることです(ヘッダーは印刷されますが、詳細のバンドは空白です)。詳細バンドに渡された情報はすべて表示されるため、そのページは必要ありません(さらに、最後のページの最後に空白があります)。私は質問の最後にJXMLを添付します。JasperReports PDFの末尾に空白のページが含まれています

ありがとうございます!

これはJXMLファイルの内容です:

<?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="tintoreria" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isFloatColumnFooter="true"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="288"/> 
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> 
     <defaultValueExpression><![CDATA["C:\\work\\REPO-CTK\\lasastra-world\\core\\src\\main\\resources\\jasper\\tintoreria\\"]]></defaultValueExpression> 
    </parameter> 
    <parameter name="totalItems" class="java.lang.String"/> 
    <parameter name="nroPag" class="java.lang.String"/> 
    <parameter name="totalPag" class="java.lang.String"/> 
    <parameter name="supplier" class="java.lang.String"/> 
    <parameter name="creationDate" class="java.lang.String"/> 
    <parameter name="orderNumber" class="java.lang.String"/> 
    <parameter name="fechaPedido" class="java.lang.String"/> 
    <parameter name="datasourceParam" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/> 
    <queryString> 
     <![CDATA[]]> 
    </queryString> 
    <pageHeader> 
     <band height="119" splitType="Stretch"> 
      <rectangle radius="10"> 
       <reportElement x="0" y="0" width="555" height="119" backcolor="#CCCCFF"/> 
       <graphicElement> 
        <pen lineWidth="1.75"/> 
       </graphicElement> 
      </rectangle> 
      <staticText> 
       <reportElement x="112" y="7" width="241" height="32"/> 
       <textElement> 
        <font size="24" isBold="true" isUnderline="true"/> 
       </textElement> 
       <text><![CDATA[Orden de compra]]></text> 
      </staticText> 
      <staticText> 
       <reportElement x="286" y="62" width="63" height="20"/> 
       <textElement> 
        <font size="12"/> 
       </textElement> 
       <text><![CDATA[Proveedor:]]></text> 
      </staticText> 
      <textField> 
       <reportElement x="355" y="62" width="189" height="20"/> 
       <textElement> 
        <font size="12"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$P{supplier}]]></textFieldExpression> 
      </textField> 
      <staticText> 
       <reportElement x="281" y="42" width="72" height="20"/> 
       <textElement> 
        <font size="12"/> 
       </textElement> 
       <text><![CDATA[Orden Nro:]]></text> 
      </staticText> 
      <textField> 
       <reportElement x="355" y="42" width="189" height="20"/> 
       <textElement> 
        <font size="12"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$P{orderNumber}]]></textFieldExpression> 
      </textField> 
      <staticText> 
       <reportElement x="268" y="83" width="85" height="20"/> 
       <textElement> 
        <font size="12"/> 
       </textElement> 
       <text><![CDATA[Fecha Pedido:]]></text> 
      </staticText> 
      <textField> 
       <reportElement x="355" y="83" width="189" height="20"/> 
       <textElement> 
        <font size="12"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$P{creationDate}]]></textFieldExpression> 
      </textField> 
     </band> 
    </pageHeader> 
    <detail> 
     <band height="633" splitType="Stretch"> 
      <subreport runToBottom="false"> 
       <reportElement positionType="Float" stretchType="RelativeToBandHeight" mode="Transparent" x="0" y="0" width="555" height="633" isRemoveLineWhenBlank="true" isPrintInFirstWholeBand="true"/> 
       <dataSourceExpression><![CDATA[$P{datasourceParam}]]></dataSourceExpression> 
       <subreportExpression><![CDATA["purchaseorder_subreport1.jasper"]]></subreportExpression> 
      </subreport> 
     </band> 
    </detail> 
    <pageFooter> 
     <band height="50" splitType="Stretch"> 
      <rectangle radius="10"> 
       <reportElement positionType="Float" x="0" y="0" width="555" height="50" backcolor="#CCCCFF"/> 
       <graphicElement> 
        <pen lineWidth="1.75"/> 
       </graphicElement> 
      </rectangle> 
      <textField> 
       <reportElement positionType="Float" x="22" y="15" width="239" height="20"/> 
       <textElement> 
        <font size="13"/> 
       </textElement> 
       <textFieldExpression><![CDATA["Cantidad de items: " + $P{totalItems}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="331" y="25" width="159" height="20"/> 
       <textElement textAlignment="Right"/> 
       <textFieldExpression><![CDATA["Pagina "+$V{PAGE_NUMBER}+" de "]]></textFieldExpression> 
      </textField> 
      <textField evaluationTime="Report"> 
       <reportElement x="490" y="25" width="40" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression> 
      </textField> 
     </band> 
    </pageFooter> 
</jasperReport> 

そして、これはサブレポートです:

<?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="tintoreria_subreport1" pageWidth="540" pageHeight="600" whenNoDataType="NoDataSection" columnWidth="540" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" isFloatColumnFooter="true" whenResourceMissingType="Empty"> 
    <property name="ireport.zoom" value="1.5394743546921208"/> 
    <property name="ireport.x" value="131"/> 
    <property name="ireport.y" value="0"/> 
    <queryString> 
     <![CDATA[]]> 
    </queryString> 
    <field name="itemNumber" class="java.lang.String"/> 
    <field name="description" class="java.lang.String"/> 
    <field name="amount" class="java.lang.String"/> 
    <columnHeader> 
     <band height="22" splitType="Stretch"> 
      <staticText> 
       <reportElement x="1" y="1" width="68" height="20"/> 
       <textElement> 
        <font size="12" isBold="true"/> 
       </textElement> 
       <text><![CDATA[Item]]></text> 
      </staticText> 
      <staticText> 
       <reportElement x="76" y="1" width="373" height="20"/> 
       <textElement> 
        <font size="12" isBold="true"/> 
       </textElement> 
       <text><![CDATA[ Descripción]]></text> 
      </staticText> 
      <line> 
       <reportElement x="69" y="1" width="1" height="21"/> 
      </line> 
      <line> 
       <reportElement x="0" y="21" width="540" height="1"/> 
      </line> 
      <line> 
       <reportElement x="448" y="0" width="1" height="21"/> 
      </line> 
      <staticText> 
       <reportElement x="453" y="1" width="68" height="20"/> 
       <textElement> 
        <font size="12" isBold="true"/> 
       </textElement> 
       <text><![CDATA[Cantidad]]></text> 
      </staticText> 
     </band> 
    </columnHeader> 
    <detail> 
     <band height="13" splitType="Stretch"> 
      <textField> 
       <reportElement x="1" y="0" width="68" height="12"/> 
       <textElement> 
        <font size="9"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$F{itemNumber}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="77" y="0" width="371" height="12"/> 
       <textElement> 
        <font size="9"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$F{description}]]></textFieldExpression> 
      </textField> 
      <line> 
       <reportElement x="69" y="0" width="1" height="13"/> 
      </line> 
      <line> 
       <reportElement x="448" y="0" width="1" height="13"/> 
      </line> 
      <textField> 
       <reportElement x="453" y="1" width="75" height="12"/> 
       <textElement> 
        <font size="9"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$F{amount}]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
</jasperReport> 
+1

これまでにこの問題を解決できましたか? – gordonk

答えて

3

手動Detail後にバンドを非表示にします。私は通常、iReportはでそれを行うことから、正確なXMLコンテキストわからない:
は、例えば、それはPrint When Expression

<summary> 
    <band height="1" splitType="Stretch"> 
      <printWhenExpression><![CDATA[Boolean.FALSE]]></printWhenExpression> 
    </band> 
</summary> 

Boolean.FALSEにノートの設定により、Summaryバンドを非表示にしてみてください。

+1

お返事ありがとうございます。 iReportの文書からすべてのバンドを削除し、ページヘッダー、詳細、ページフッターだけを残しました。列ヘッダーとディテールのサブレポートでは、問題を解決するはずがないと思うが、試してみる。 – LeanDe

+0

これは、自分のレポート(とサブレポート)のいくつかで余分な余分なページを取得していた私の問題を解決しました。 – Doug

+0

これは問題を解決しますが、データが存在する場合はページを表示しません。データが存在するかどうかをチェックする方法は? – zygimantus

0

私は、私の場合はによって解決され、この問題に直面していました:プロパティを報告して

  1. 移動します。
  2. 次に、[無視]プロパティをチェックします。

これだけです。私はそれが助けて欲しい

関連する問題