将动态数据发送到 TCPDF 中的 Header 函数

Send dynamic data to Header function in TCPDF

因为我需要在我的页眉中添加一些动态内容。所以,让我知道通过参数发送数据的方式。我还没有找到如何调用、向头函数发送参数。请帮我解决这个问题..

  1. 如何调用带有参数的 Header() 函数?
  2. 我需要通过参数将数据发送到 Header() 函数。

这可以通过设置 TCPDF class 的新 属性 来实现。在为下一页调用 AddPage() 方法之前,需要设置 属性。在创建新的 属性 之前,您可能需要检查 TCPDF documentation 以查找可能有用的现有 属性。搜索“获取”可以让您快速找到它们。

注意给新 属性 一个唯一的名称,这样您就不会更改 TCPDF 的现有 属性。您可能希望包含对 属性 的检查,以防将来的版本中添加。

设置Header()方法的参数比较困难,因为它是通过一系列其他方法(AddPage()startPage()setHeader())调用的。

例子

此示例使用新 CustomHeaderText 属性 为每个页眉设置一个新字符串。该示例将 运行 放在 TCPDF 示例目录中。

<?php
require_once('tcpdf_include.php');
class MYPDF extends TCPDF
{
    public function Header()
    {
        $this->Write(0, $this->CustomHeaderText);
    }
}
$pdf = new MYPDF();
$pdf->CustomHeaderText = "Header Page 1";
$pdf->AddPage();
$pdf->writeHTMLCell(0, 0, '', 30, '<p>Page 1 Content</p>', 0, 1, 0, true, '', true);

$pdf->CustomHeaderText = "Header Page 2";
$pdf->AddPage();
$pdf->writeHTMLCell(0, 0, '', 30, '<p>Page 2 Content</p>', 0, 1, 0, true, '', true);

$pdf->Output('example.pdf', 'I');

在本例中,您可以通过在扩展的 class MYPDF 中添加一个新的 属性 来完成此操作

<?php 
require 'tcpdf.php';
class MYPDF extends TCPDF {

    protected $company;

    public function setCompany($var){
        $this->company = $var;
    }

    // Page footer
    public function Footer() {
        // Position at 15 mm from bottom
        $this->SetY(-15);
        // Set font
        $this->SetFont('helvetica', 'I', 8);
        // setCompany Text
        $this->Cell(0, 10, $this->company, 0, false, 'C', 0, '', 0, false, 'T', 'M');
    }
}

访问这个

// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf->setCompany("My Company");