Forçar quebra de página no iReport

Boa tarde a todos, estou querendo forçar uma quebra de página no meu relatório. Se uma condição da minha classe Java for true realiza a quebra, caso contrário não realiza e continua a imprimir o relatório.
Estou usando IReport + Jasper.

Alguém tem alguma dica?
Já procurei aqui no guj mas não achei resposta pra isso.

Abraços.

no agrupamento ( grupos ) tem a opção de a cada grupo ser inserido em uma nova página, acredito que isso ajude você!

Hmm, ok Sudeval. Mto obrigado pela dica. :slight_smile:

Olá, no meu caso preciso quebrar a página após tantas linhas (ex.: 20) serem impressas. Como posso fazer para forçar esta quebra

eu estou usando ITextRenderer.
para a quebra de página fiz o seguinte. Todas as tags dentro de BODY precisam ter uma class de estilos. Na folha de estilo deve ter height, margin-top, margin-bottom border-width-top e todas as outras de dimensão.
dai, quando vem o resultado de XSLT+XML, eu abro este arquivo via org.w3c.Document. e para cada Node vou somando o custo das tags. quando o custo é maior que 297 (a4) eu adiciono uma tag indicada com style de quebra de pagina.

    for(i=0;i<len;i++){
      if((node=nodes.item(i)).getNodeType()!=1)continue;
      if((element=(Element)node)==footer)continue;
      /*-------------------------------------------------
      QUEBRA FORCADA  class=quebra  
      --------------------------------------------------*/  
      if(element.getAttribute("class").equalsIgnoreCase("quebra")){
        rodapes.add(quebra=(Element)body.insertBefore(footer.cloneNode(true),element));
        t=(int)((sizeHeight-(custoRodape+marginBottom+marginTop+total))/0.264583333f);
        if(t><0)t=0;
        quebra.setAttribute("style","display:;margin-top:"+(t)+"px;");
        total=0;
        body.removeChild(element);
        continue;
      }
      /*-------------------------------------------------
      VERIFICA CUSTO TOTAL
      --------------------------------------------------*/  
      custo=tagCoust.getCoust(element);
      if(custo+total>=(sizeHeight-(custoRodape+marginBottom+marginTop))){
        rodapes.add(element=(Element)body.insertBefore(footer.cloneNode(true),element));
        t=(int)((sizeHeight-(custoRodape+marginBottom+marginTop+total))/0.264583333f);
        if(t<0)t=0;
        element.setAttribute("style","display:;margin-top:"+(t)+"px;");
        i++;
        total=0;
      }
      total+=custo;
    }
    /*-------------------------------------------------
    ADICIONA ULTIMO RODAPE
    --------------------------------------------------*/  
    rodapes.add(element=(Element)body.appendChild(footer.cloneNode(true)));
    t=(int)((sizeHeight-(custoRodape+marginBottom+marginTop+total))/0.264583333f);
    if(t<0)t=0;
    element.setAttribute("style","page-break-after:;display:;margin-top:"+(t)+"px;");

Para casa elemento que quebra, adiciono numa lista. depois para cada um, coloco a pagina

    i=0;
    for(Element rodape:rodapes){
      getElementById(rodape,"rodapePagina").setTextContent("Pagina "+(++i)+" de "+rodapes.size());
    }

no final disso, passo o document (nao pode salvar como arquivo) para o itext.