Potenziale soluzione.
Hai la possibilità di prevedere, anche in modo un po' approssimativo, l'altezza di ogni singola riga? Se sì, puoi usare i PDF creati al volo per la stampa.
La classe FPDF (www.fpdf.org) ti permette di conoscere le coordinate esatte del cursore di scrittura, in ogni momento. Se puoi prevedere in modo più o meno preciso l'altezza della singola riga, controlli che [coordinata_Y_cursore + altezza_riga_da_inserire] non sia superiore dell'altezza stampabile della pagina.
Se non è superiore (quindi se la riga che stai ciclando può stare nella pagina attuale), la inserisci. Se è superiore ci schiaffi un'interruzione di pagina.
La posizione corrente del cursore di scrittura la dovresti ricavare così:
Mentre per il cambio di pagina:codice:$pdf->GetY();
Dove $pagenumbers_params è un array con una serie di miei parametri par la numerazione delle pagine. Vedi la documentazione della FPDF per i dettagli.codice:$pdf->AddPage('', true, $pagenumbers_params);
Così ho creato la stampa del catalogo in PDF di un sistema di "Catalogo Prodotti on-line", qua in versione demo:
http://www.bizconsulting.it/demo/cat...atalog.php?l=1
In questo catalogo, il numero di prodotti che è possibile inserire in ogni pagina dipende dalla lunghezza della descrizione (che è un testo lungo di dimensione variabile) e dalla presenza o meno di titoli di categorie (es.: Altra frutta, Formaggi, Funghi e bla bla bla...) in una particolare pagina (i titoli delle categorie di prodotti occupano uno spazio diverso rispetto a quello occupato dai singoli prodotti in catalogo).
Fammi sapere se mi merito della birra come ringraziamento![]()