FPDF:不同的 header 徽标
FPDF: different header logo
我使用 PHP 中的 FPDF Class 创建 PDF。一切正常,但现在我需要 header.
中带有不同徽标的 PDF
创建 header 效果很好。
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);
}
}
}
但我得到:通知:未定义的变量:is_summer in createPDFpriv.php on line 200.
好的,未定义变量。所以我尝试了
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) 的声明应与在线 createPDFpriv.php 中的 FPDF::Header() 兼容145
也尝试过:
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);
}
}
又报错:parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) in createPDFpriv.php on第 199 行。好的,应该有功能,这个不行
有人能帮忙吗?
你可以这样解决:
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,它就可以使用那个 属性 在你的 Header
函数中。
为此,您可以创建一个构造函数,如下所示:
class PDF extends FPDF {
public $is_summer;
function __construct($is_summer){
$this->is_summer = $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);
}
}
}
也许您忘记了“is_summer”之前的“$this”?你可以试试这个:
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);
我使用 PHP 中的 FPDF Class 创建 PDF。一切正常,但现在我需要 header.
中带有不同徽标的 PDF创建 header 效果很好。
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);
}
}
}
但我得到:通知:未定义的变量:is_summer in createPDFpriv.php on line 200.
好的,未定义变量。所以我尝试了
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) 的声明应与在线 createPDFpriv.php 中的 FPDF::Header() 兼容145
也尝试过:
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);
}
}
又报错:parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) in createPDFpriv.php on第 199 行。好的,应该有功能,这个不行
有人能帮忙吗?
你可以这样解决:
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,它就可以使用那个 属性 在你的 Header
函数中。
为此,您可以创建一个构造函数,如下所示:
class PDF extends FPDF {
public $is_summer;
function __construct($is_summer){
$this->is_summer = $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);
}
}
}
也许您忘记了“is_summer”之前的“$this”?你可以试试这个:
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);