我正在使用自定义页脚并使用setY();设置其位置。然而,内容在我的页脚后面继续,这意味着我需要让我的分页更高。当我有多个页面时,这会导致我的页脚大小搞乱。
我的页脚包含内部图像的表格。出现问题的是,通过某种缩放,图像变得奇怪!我制作的setAutoPageBreak()越大,我的页脚就会越搞乱。
我已经待了好几个小时了。我希望有人可以帮助我。
我的页脚:
public function Footer() {
$footer = '<table>
<tr>
<td width="30" height="50"></td>
<td style="width: 570px; height: 55px;">
<img src="some_image" width="30" height="50" />
</td>
</tr>
</table>
';
$this->SetY(-60);
$this->writeHTML($footer, true, true, true, false, '');
}
TCPDF处理:
$pdf = new MyPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
set margins
$PDF_MARGIN_LEFT = 20;
$PDF_MARGIN_TOP = 40;
$PDF_MARGIN_RIGHT = 20;
$pdf->SetMargins($PDF_MARGIN_LEFT, $PDF_MARGIN_TOP, $PDF_MARGIN_RIGHT);
//LTRB
$PDF_MARGIN_HEADER = 5;
$PDF_MARGIN_FOOTER = 60;
$pdf->SetHeaderMargin($PDF_MARGIN_HEADER);
$pdf->SetFooterMargin($PDF_MARGIN_FOOTER);
// set auto page breaks, it also specifies margin-bottom. This scales the footer somehow...
$PDF_MARGIN_BOTTOM = 20;
$pdf->SetAutoPageBreak(true, $PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->AddPage();
// output the HTML content
$pdf->writeHTML($my_printed_html, true, false, true, false, '');
$pdf->Output('Test.pdf', 'I');
Editted:
我注意到只有在我的页脚低于分页符边距时才会出现问题。如果页脚位于其上方,则图像正常但内容从后面传递到页脚。 有没有办法绕过这个?
答案 0 :(得分:1)
问题很容易解决,很遗憾失去了太多宝贵的时间。 在TCPDF中使用图像时,始终将图像的大小与希望它们位于pdf中的所需大小相匹配。如果setImageScale()超出页面范围,则它不会到达每个图像。这包括页脚,如果它的位置在页面margin_bottom之外。 我希望你们不要过多地伤害你的头脑,这样可以拯救你们所有人。