TCPDF:将pdf的默认白色背景设置为灰色,并将块背景更改为白色

时间:2020-06-22 13:41:08

标签: php pdf pdf-generation tcpdf

我正在创建PDF文档,默认背景颜色为白色。我想将背景颜色更改为灰色,然后for循环中的所有块都应具有白色背景。有可能吗?

我尝试使用堆栈溢出中的一些答案,如果该块没有中断到下一页,则页面为灰色,但是当我的块偷偷到达下一页时,该页面将为白色。

对于第一页,我有此代码

$pdf->SetFillColor(242,242,242);
$pdf->Rect(0, 0, $pdf->getPageWidth(), $pdf->getPageHeight(), 'DF', "",array(242,242,242));  

然后在条件下旋转我的for循环

if($blockSize > $pagheHeight){
   $pdf->AddPage('P', 'A4');
   $pdf->setPage($page+1,true);
   $pdf->SetFillColor(242,242,242);
   $pdf->Rect(0, 0, $pdf->getPageWidth(), $pdf->getPageHeight(), 'DF', "",array(242,242,242));
}

此外,我在pdf上的内容将是文本,图像,并形成为矩形。我如何给块的背景色?

并且如果背景颜色始终设置为灰色,那么如果我在任何td元素上应用任何边框,它将不会显示。

1 个答案:

答案 0 :(得分:0)

您可以覆盖Header()功能

class MYPDF extends TCPDF {
    public function Header() {
        $this->Rect(0, 0, $this->getPageWidth(), $this->getPageHeight(), 'F', array(), array(120));
        TCPDF::Header();
    }
}

这样,它将应用于所有页面,并且不会覆盖页面标题内容。