1

この場合、カスタムヘッダーを追加する必要があるため、TCPDF では、テーブルがページよりも大きくなるかどうかをどのように判断できますか。テーブルを$pdf->getAliasNumPage()開始する前と各行の先頭で比較していると、うまくいかないようです。 $pdf->getAliasNumPage()2回目に使用すると、次のようなものが返されます{:pnp:}

私のコードは次のようになります。

$table="";
$islasttable = 0;
for ($i = 0; $i<sizeof($ar); $i++) {
    for ($j = 0; $j<3; $j++) {
        if (isset ($ar[$i][$j])) {
            if ($j == 0) {
                if ($islasttable == 1) {
                    $table .= '</table><table border="1" style="text-align:center; vertical-align:middle; padding:5;border-bottopm:1px solid black;">'; 
                    $islasttable = 0;
                } else {
                    $table .= '<table border="1" style="text-align:center; vertical-align:middle; padding:5;">';
                }
                $table .= '<tr>
                    <td colspan="3">Gefehrdungsfaktor</td>
                    <td colspan="8">'.$ar[$i][$j].'</td>
                </tr>';
            }
            if ($j == 1) {
                $table .= ' <tr >
                    <td colspan="3">gefahrebquelle</td>
                    <td colspan="8">'.$ar[$i][$j].'</td>                                
                </tr>';
                $flag = 1;
            }
            if ($j == 2) {
                if ($flag == 1) {
                    $level = " top level2 with: ".$ArrayToGenerateTable[$i].' childs';
                    $table.='<tr>
                        <td colspan="11">Risiko</td>
                    </tr>';
                    $table.='<tr >
                        <td colspan="1" style="font-size: xx-small; background-color:#F3A505">GK  </td>
                        <td colspan="5" style="background-color:#F3A505">(n)</td>
                        <td colspan="2" style="background-color:#F3A505"> ?</td>
                        <td colspan="2" style="background-color:#F3A505"></td>
                        <td colspan="1" style="font-size: xx-small; background-color:#F3A505">GK  </td>
                    </tr>';

                    $table.='<tr >
                        <td colspan="1" rowspan="'.(($ArrayToGenerateTable[$i])*2).'" style="background-color:grey">0</td>
                        <td colspan="5" rowspan="2">'.$ar[$i][$j].'</td>
                        <td colspan="1" rowspan="1">ja</td>
                        <td colspan="1" rowspan="1">X</td>
                        <td colspan="2" rowspan="2">&nbsp;</td>
                        <td colspan="1" rowspan="'.(($ArrayToGenerateTable[$i])*2).'" style="background-color:grey;">0</td>
                    </tr>
                    <tr >
                        <td colspan="1">nein'.'</td>
                        <td colspan="1">X</td>
                    </tr>';
                } else {
                    $table.='<tr >
                        <td colspan="5" rowspan="2">'.$ar[$i][$j].'</td>
                        <td colspan="1">ja</td>
                        <td colspan="1">X</td>
                        <td colspan="2" rowspan="2">&nbsp;</td>
                    </tr>
                    <tr >
                        <td>nein</td>
                        <td>X</td>
                    </tr>';
                }
                $level = '';
                $flag=0;
                $islasttable = 1;
            }   
        }
    }
}
$table.='</table>';
$pdf->AddPage();
$pdf->writeHTML($table, true, false, true, false, '');

私が持っている1つの解決策:

    <style>
table{
 table-layout: fixed;
}
td{
  max-height:20px;
}
</style>

これで行数を計算できます。

4

0 に答える 0