FPDF:不同的标题徽标

时间:2017-05-31 08:13:10

标签: php header fpdf

我在PHP中使用FPDF类来创建PDF。一切正常,但现在我需要标题中带有不同徽标的PDF。

创建标题效果很好。

class PDF extends FPDF {
  function Footer() {
    // some code
  }

  function Header() {
    $this->Image('PDF/images/pdf_header.png', 0, 0, 215);
  }
}

现在我需要这样的东西。变量“$ is_summer”存在于我的文件中。

class PDF extends FPDF {
  function Footer() {
    // some code
  }

  function Header() {
    if ($is_summer)
      $this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
    } else {
      $this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
    }
  }
}

但是我得到了:注意:未定义的变量:第200行的createPDFpriv.php中的is_summer

好的,未定义的var。所以我试过

function Header($is_summer) {
  if ($is_summer)
    $this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
  } else {
    $this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
  }
}

另一个错误:警告:PDF :: Header($ is_summer)的声明应该与第145行的createPDFpriv.php中的FPDF :: Header()兼容

也尝试过:

 if ($is_summer) {
   function Header() {
     $this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
   }
 } else {
   function Header() {
     $this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
   }
 }

同样是错误:解析错误:语法错误,意外'if'(T_IF),期望在第199行的createPDFpriv.php中的函数(T_FUNCTION)。好的,有预期的功能,这不起作用。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

你可以这样解决:

class PDF extends FPDF {
  public  $is_summer;
  function Footer() {
    // some code
  }

  function Header() {
    if ($this->is_summer)
      $this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
    } else {
      $this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
    }
  }
}

所以你要做的就是当你制作PDF对象时,你将is_summer属性设置为true或false,并且它能够在{{1}中使用该属性功能。

为此,您可以创建一个类似的构造函数:

Header

答案 1 :(得分:1)

也许你已经忘记了" $ this"之前" is_summer"?你可以试试这个:



class PDF extends FPDF{

	private $isSummer = false;
	function __construct($summer) {
		parent::__construct();
		$this->isSummer = $summer;
		print "In BaseClass constructor\n";
	}

	function Header() {
		if ($this->isSummer) {
			$this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
		} else {
			$this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
		}
	}
}




并在使用时:



$mysummer = true; // or false
$mypdf = new PDF($mysummer);