tcpdf - 背景图片 - CakePdf

时间:2012-09-18 23:09:36

标签: cakephp tcpdf

我正在尝试使用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英寸。我使用的图像是正确的大小(我仔细检查过它)

这可能是保证金问题还是类似的?

由于

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 -------------------------------->