以下代码输出一个表格,其中包含两行高表格标题和每行中的测试图像。当有自动分页符时,图像将正确打印在下一页上,但它会与某些像素的表头重叠(见屏幕截图)。下一行中的图像位置再次正确。第二个表头文本也丢失了!
问题是多行表头。使用一行只能解决问题,但我的情况下需要多个表头行。
您知道解决此问题的解决方法(最新的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');
答案 0 :(得分:0)
删除thead标记,并为每个标记使用一个tr标记,而不是每个标记使用tr
<tr>
<th></th>
<th></th>
</tr>