Ola pessoal,
Tenho a seguinte situação: No relatório que estou desenvolvendo, estou trabalhando com a montagem dinâmica das marcações.
Porém, me deparei com uma situação e não estou conseguindo sair dela.
Preciso imprimir o conteúdo de um campo dinâmico, que no caso é um texto Html em uma pagina, o tamanho deste texto pode variar
muito. Quanto mais textos eu conseguir colocar em uma pagina melhor, porém caso não couber o texto por completo, preciso que o
mesmo seja impresso em outra pagina, e assim consecutivamente. Sei que terei um caso em que o texto poderá não caber por
completo em uma página dedicada somente a ele, neste caso dai sei que terei de esticar .
Alguma dica?
Grato
Somente complementando, o funcionamento já esta quase 100%
Estou adicionando um link para um relatório gerado com informações fictícias, para o caso de alguém desejar dar uma olhada
na apresentação.
https://docs.google.com/open?id=0B5IUExS3QCR9TFZOczNwRV9rS0U
Utilizando uma quebra consegui simular o desejado, porém como pode ser visto na página 5 são impressos três textos, porém
o terceiro não cabe por completo, que no caso é o ultimo, o restante dele é apresentado na página 6.
Eu precisava que este fosse impresso por completo na pagina 6.
Obs: Os traços servem para demarcar o final do campo.
Dei uma pesquisada no google e encontrei: isStretchWithOverflow e isPrintWhenDetailOverflows, assim como
colocar splitType da banda como Prevent.
Alguma outra dica fora estas?
.
.
.
//Método responsável pela criação da banda.
public Element getQuebraPaginaExame(Document doc) {
Element band = doc.createElement("band");
band.setAttribute("height", "1");
Element quebraPagina = doc.createElement("break");
Element reportElement = doc.createElement("reportElement");
reportElement.setAttribute("isPrintInFirstWholeBand", "false");
reportElement.setAttribute("isPrintWhenDetailOverflows", "true");
reportElement.setAttribute("x", "1");
reportElement.setAttribute("y", "0");
reportElement.setAttribute("width", "0");
reportElement.setAttribute("height", "1");
quebraPagina.appendChild(reportElement);
band.appendChild(quebraPagina);
return band;
}
.
.
.
No iReport, selecione o campo que conterá os textos e marque a opção “Print In First Whole Band”, deve solucionar o seu problema quando existir mais de um texto.
Beleza, mas já estou passando a propriedade(isPrintInFirstWholeBand) como true no reportElement porém mesmo assim não surte efeito.
Lembrando que eu não utilizo o ireport mas sim gero as marcações do relatório dinamicamente via source java.
O problema é que na pagina 5 esta acontecendo de o conteúdo aparecer pela metade, e o restante em outra, e eu não queria isso
.
.
.
//Método responsável pela criação da banda.
public Element getQuebraPaginaExame(Document doc) {
Element band = doc.createElement("band");
band.setAttribute("height", "1");
Element quebraPagina = doc.createElement("break");
Element reportElement = doc.createElement("reportElement");
reportElement.setAttribute("isPrintInFirstWholeBand", "true");
reportElement.setAttribute("x", "1");
reportElement.setAttribute("y", "0");
reportElement.setAttribute("width", "0");
reportElement.setAttribute("height", "1");
quebraPagina.appendChild(reportElement);
band.appendChild(quebraPagina);
return band;
}
.
.
.
Algum Jasper Expert na escuta?
Conseguiiiiiiiiii ieieeeeeeeeeeeeeeee! huhuuuuuuuuuuul!
Acho que eu estava fazendo algo de errado :roll: .
Pessoal: Setar splitType como Prevent já resolve
https://docs.google.com/open?id=0B5IUExS3QCR9WG51dVNXdDBRZ0U