我在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;
尽管我不一定会称其为可接受的方法...
答案 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;
}
}