1

在 TCPDF 中,我如何判断我的表格是否比页面大,因为在这种情况下,我必须为其添加自定义标题。如果我$pdf->getAliasNumPage()在开始表格之前使用比较,并且在每行的开头似乎不起作用。 $pdf->getAliasNumPage()如果第二次使用返回类似{: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, '');

我有一个解决方案:

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

有了这个,我可以计算行数。

4

0 回答 0