TCPDF-为自定义标头设置左边距

时间:2019-09-10 03:51:10

标签: php tcpdf

我在TCPDF中使用了自定义标头。我想为此页眉设置左边距。

class MYPDF extends TCPDF {

    //Page header
       public function Header() {
            // Logo
            $image_file = K_PATH_IMAGES.'uwa_logo.jpg';
            $this->Image($image_file, 10, 10, 40, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
            // Set font
            $this->SetFont('helvetica', 'B', 14);
            // Title
            $this->SetTextColor(33,64,154);
            $this->Write(0, $this->CustomHeaderText);
        }...

    $pdf->CustomHeaderText =  $presentation_name;

有没有办法做到这一点?

更新

嗯,奇怪的是,它能起作用:

$pdf->CustomHeaderText =  '                               '.$presentation_name;

尽管我不一定会称其为可接受的方法...

1 个答案:

答案 0 :(得分:1)

足够容易:创建一个GetLeftMargin()方法来访问lMargin属性(这不是绝对必要的步骤,但强烈建议这样做),存储原始值,设置标题页边距,执行常规的写操作,最后再恢复边距。

一个例子可能看起来像这样:

class MYPDF extends TCPDF {

    //Page header
    public function Header() {
        // Margin
        $old_margin = $this->GetLeftMargin();
        $this->SetLeftMargin(/* Your new margin here. */);

        // Logo
        $image_file = K_PATH_IMAGES.'uwa_logo.jpg';
        $this->Image($image_file, 10, 10, 40, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
        // Set font
        $this->SetFont('helvetica', 'B', 14);
        // Title
        $this->SetTextColor(33,64,154);
        $this->Write(0, $this->CustomHeaderText);

        // Revert margin
        $this->SetLeftMargin($old_margin);
    }

    public function GetLeftMargin() {
        return $this->lMargin;
    }
}