TCPDF:图像在自动分页后重叠html表头

时间:2015-08-06 16:45:31

标签: php tcpdf

以下代码输出一个表格,其中包含两行高表格标题和每行中的测试图像。当有自动分页符时,图像将正确打印在下一页上,但它会与某些像素的表头重叠(见屏幕截图)。下一行中的图像位置再次正确。第二个表头文本也丢失了!

问题是多行表头。使用一行只能解决问题,但我的情况下需要多个表头行。

enter image description here

您知道解决此问题的解决方法(最新的TCPDF 6.2.11)吗?

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

$pdf->AddPage();

$pdf->SetFont('helvetica', '', 8);

$tbl = '
        <style>
            th {
                background-color: #cccccc;
                font-weight: bold;
            }
        </style>

        <table width="100%" cellpadding="2" cellspacing="0" border="1">
        <thead>
            <tr>
                <th>TH1</th>
            </tr>
            <tr>
                <th>TH2</th>
            </tr>
        </thead>';
for($i = 0; $i < 10; $i++)
$tbl .= '   
        <tr>
            <td><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/A_butterfly_feeding_on_the_tears_of_a_turtle_in_Ecuador.jpg/320px-A_butterfly_feeding_on_the_tears_of_a_turtle_in_Ecuador.jpg" width="100" height="100"></td>
        </tr>';
$tbl .='</table>';

$pdf->writeHTML($tbl, true, false, false, false, '');

$pdf->Output('example.pdf', 'I');

1 个答案:

答案 0 :(得分:0)

删除thead标记,并为每个标记使用一个tr标记,而不是每个标记使用tr

<tr>
 <th></th>
 <th></th>
</tr>