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

时间:2018-04-02 11:12:03

标签: php tcpdf

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

  1. 如何使用参数调用Header()函数?
  2. 我需要通过参数将数据发送到Header()函数。 enter image description here

2 个答案:

答案 0 :(得分:1)

这可以通过设置TCPDF类的新属性来完成。在为下一页调用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');

答案 1 :(得分:1)

在此示例中,您可以通过在扩展类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");