(RESOLVIDO) Quebra de folha

Bom dia!
Preciso de orientações sobre como realizar a quebra da folha e as informações não ficarem metade em cada folha.
Estou gerando crachás e com o botão run posso imprimir um ou mais de um na mesma folha, o problema eyque quando seleciono 4 o crachá de número 4 sai a metade na primeira folha e o restante na segunda.
Pergunto como posso controlar o momento que deve ser quebrado a folha, e como enviar o 4° crachá para próxima folha.
Sei que existe a função AcceptPageBreak porém não consegui colocar em prática, vi tbm em alguns tópicos que poderia controlar pela quantidade de linhas porém tbm não consegui colocar em prática, se alguém puder me orientar serei muito grato.

Tem que ser mais técnico e específico para que possamos entender melhor seu problema.

Fala em botão Run. Este chama outra aplicação? Qual é o tipo dessa outra Aplicação.

Obrigado pela atenção.
O ambiente é o seguinte:

  • numa blank criei o modelo do crachá com tcpdf, aquele mesmo modelo usado no vídeo da avante.
  • tenha uma grid que me traz todos os registros que quero imprimir.
  • na grid, utilizei o botão run para chamar esse meu blank que tem o crachá.
    Está tudo funcionando, porém se eu seleciono mais de 3 crachás, eles não cabem mais só em 1 folha, nesse caso é feito um salto para próxima folha do PDF, porém nesse salto tem crachá que metade da informação saem em uma folha e outra metade na outra, gostaria de orientações de como fazer para na hora do salto de folhas as informações não ficassem quebradas em 2 folhas, nesse caso ele faria o salto para folha seguinte e imprimiria o crachá inteiro e assim seguiria.

alguém poderia me ajudar a resolver essa situação pois ainda não entendi como fazer a quebra de pagina e o crachá não ficar quebrado entre as 2 paginas

$Pdf->AddPage() + Um pouco de lógica vc resolve isso.

eu recebo do botão run uma seguência de ids "ex: 1, 2, 3, 7, 10, 20, 31, 55 " através de uma global [glo_teste] que envio para o dataset que é obtido através do macro sc_select(ds,“SELECT meus_dados FROM minha_tabela WHERE id in ([glo_teste])”);
dai em diante com um laço trago todos o dataset e posiciono, while ( !{ds}->EOF ) {
$dado1 = $ds->fields[0];
$dado2 = $ds->fields[1];
$pdf->ln(10);
$pdf->SetX(10);
$pdf->Cell(85, 5, $dado1, 1, 0, ‘L’);
$pdf->ln(10);
$pdf->SetX(10);
$pdf->Cell(30, 5, $dado2, 1, 0, ‘L’);
$pdf->ln(20);
//chama o proximo registro
{ds}->MoveNext();
}
{ds}->Close();

como poderia adicionar uma nova pagina quando a quantidade de ids que vem da global ultrapassar por exemplo 4?

Lógica.

Coloca um contador (+1) dentro do loop quando ele chegar a 4 salta de página e zera o contador.

2 Curtidas

Resolvido.
Conforme sugerido foi só colocar um contador nos registros, em seguida limitar a quantidade que caberia na página, quando ele ultrapassar essa quantidade eu adiciono uma nova página e reinicio o contador e 1.
Obrigado pela atenção.

1 Curtida