我正在尝试使用CakePdf和TcPdf引擎设置带有背景图像的pdf生成。我已设法使用以下设置将图像放到背景上:
// set background image
$img_file = APP . 'webroot/img/BC_Letterhead.jpg';
$TCPDF->Image($img_file, 0, 0, 210, 297, '', '', '', false, 300, '', false, false, 0);
问题是图像似乎覆盖了整个背景。它看起来比右边短1英寸,距离页面底部约2英寸。我使用的图像是正确的大小(我仔细检查过它)
这可能是保证金问题还是类似的?
由于
答案 0 :(得分:2)
这适合我。
class MYPDF extends TCPDF {
//Page header
public function Header() {
// get the current page break margin
$bMargin = $this->getBreakMargin();
// get current auto-page-break mode
$auto_page_break = $this->AutoPageBreak;
// disable auto-page-break
$this->SetAutoPageBreak(false, 0);
// set background image
$img_file = K_PATH_IMAGES.'pozadina.jpg';
$this->Image($img_file, 0, 0, 98, 59, '', '', '', false, 300, '', false, false, 0);
// restore auto-page-break status
$this->SetAutoPageBreak($auto_page_break, $bMargin);
// set the starting point for the page content
$this->setPageMark();
}
}
$pdf = new MYPDF('L', 'mm', array(59,98));
$pdf->Output('filename.pdf', 'D'); //To force download
答案 1 :(得分:1)
我最终使用以下代码或多或少地使用它。唯一的问题是我底部仍然有大约1厘米没有覆盖它的背景图像,宽度很好。
// -- SET BACKGROUND IMAGE ------------------------------>
$TCPDF->SetFooterMargin(0);
// get the current page break margin
$bMargin = $TCPDF->getBreakMargin();
// get current auto-page-break mode
$auto_page_break = $TCPDF->getAutoPageBreak();
// disable auto-page-break
$TCPDF->SetAutoPageBreak(true, 0);
// set background image
$img_file = APP . 'webroot/img/BC_Letterhead.jpg';
$TCPDF->Image($img_file, 0, 0, 225, 305, '', '', '', false, 300, '', false, false, 0);
// set the starting point for the page content
$TCPDF->setPageMark();
$TCPDF->setPrintFooter(false);
// END BACKGROUND MODS -------------------------------->