Forse potrà aiutarti. L'idea è di fare una pagina ogni 16 etichette. Quando faccio l'anteprima della stampa ho 1 pagina vuota in più rispetto al dovuto. E' il pagebreak dopo <table> che bisogna inibire. Mi spiace ma non ho il tempo di analizzare di più che mi devo alzare presto domattina.
Codice PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<style id="myStyle" type="text/css">
@page {size: 210mm 297mm; margin: 30mm;}
table {background: none #FFF;color: #000}
@media print {
table {page-break-after: always;}
}
</style>
</head>
<body>
<div class="page">
<div>
<?php
function etichette($n_etichette) {
echo"<table {page-break-inside: avoid;} width=\"793.7007874016\" height=\"1122.519685039\" class=\"testo\" border=\"1\" cellpadding=\"1\" cellspacing=\"0\">";
for($x=0; $x<$n_etichette; $x++){
//calcolo della cella pari o dispari
if ($x % 2 == 0) $cellaPari = true;
else $cellaPari = false;
//apri riga tabella
if ($cellaPari) echo "<tr>";
echo "<td>";
echo"scrivo nella tabella";
echo "</td>";
//fine contenuto cella
if (!$cellaPari) echo "</tr>";}
//controllo dopo il ciclo se c'e ancora aperta una cella
if ($cellaPari ) echo "</tr>";
echo"</table>";//chiudo la tabella
} // function etichette($n_etichette)
$n_etichette = 37;
$nbpagine = (int) ($n_etichette / 16);
$resto = $n_etichette - 16 * $nbpagine;
if ($resto != 0) {
$nbpagine++;
} // if ($resto != 0)
for ($j=1;$j<=$nbpagine;$j++) {
etichette(16);
} // for ($j=1;$j<=$nbpagine;$j++)
?>
</div>
</div>
</body>
</html>