7

I am busy with a project that needs a lot of pdf files. Because all of them need the design of the company I use a background-image with the logo/watermark.

Everything goes fine if I have only 1 page, but when there are multiple pages, the background is only on the first.

$pdf->Image('bg/background.jpg', 0, 0, 210, 297, '', '', '', false, 0, '', false, false, 0);
        $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setPageMark();
$pdf->SetAutoPageBreak(true);
$pdf->writeHTML($bodyText, true, true, true, true, '');
$pdf->lastPage();
$pdf->Output('doc.pdf', 'I');

So my $bodyText is more then 1 page...

Is there a solution to have every page a background?

Thanks

Wouter

4

2 に答える 2

21

カスタムヘッダー関数を使用してTCPDFクラスを拡張し、ヘッダーに画像を追加することができますTCPDF::Image. これを行う方法の例は、TCPDF の例の中にあります

例から:

// Extend the TCPDF class to create custom Header and Footer
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 bacground image
        $img_file = K_PATH_IMAGES.'image_demo.jpg';
        $this->Image($img_file, 0, 0, 210, 297, '', '', '', 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();
    }
}

を使用するのと同じようMYPDFに代わりに使用します。PDF本文がヘッダーと重なるかどうかはわかりませんが、余白とヘッダーサイズを明示的に指定すればできると思います。TCPDFTCPDF

これがうまくいくかどうか教えてください。

于 2012-07-07T14:45:39.133 に答える