FPDF 如何使用动态附加 png path/name

FPDF How to attach a png with a dynamic path/name

你好,我的目标是使用动态生成的 png 文件(二维码)创建一个 pdf。

我像下面这样使用 FPDF 库:

require('fpdf/fpdf.php');


class PDF extends FPDF

{
    private $pathQR;

    function setPathQR($pathQR){
        $this->pathQR = $pathQR;
    }

// Page header

function Header()

{

    // Logo

    $this->Image('img/logo.png',10,10,-300);

    // Arial bold 15

    $this->SetFont('Helvetica','B',14);

    // Move to the right

    $this->Cell(80);

    // Title

    $this->Cell(100,10,'TITLE',0,0,'C');

    // Line break

    $this->Ln(10);

    $this->SetFont('Helvetica','',12);

    $this->Cell(85);

    $this->Cell(80,10,'Other row..',0,0,'R');

    $this->Ln(10);

    $this->SetFont('Times','B',14);

    $this->Cell(85);

    $this->Cell(80,10,'Blablabla',0,0,'C');

    $this->Ln(15);

    $this->SetFont('Courier','B',24);

    $this->Cell(85);

    $this->Cell(80,10,'V T M',1,0,'C');
    $this->Image('qrcode/'.$pathQR.'.png',10,10,-300);

    $this->Ln(15);

    $this->SetFont('Helvetica','',12);

    $this->Cell(85);

  

}

}


// Instanciation of inherited class

$pdf = new PDF();

$pdf->AliasNbPages();

$pdf->AddPage();

$pdf->SetFont('Times','',16);

$pdf->setPathQR($e_mail);

$filename="pathFix/file-".$e_mail.".pdf";

$pdf->Output($filename,'F');

我在 PDF 中创建了一个函数 class

function setPathQR($pathQR){
        $this->pathQR = $pathQR;
    }

我调用该函数为 pathQR ($e_mail)

设置值
$pdf->setPathQR($e_mail);

但我收到错误 注意:未定义的变量:C 中的 pathQR:\xampp\htdocs...

在这一行

$this->Image('qrcode/'.$pathQR.'.png',10,10,-300);

为什么不识别$pathQR?怎么了? 谢谢

您可以使用 setter 方法将 $e_mail 变量传递给您的 class。在你创建了一个 fPDF 的实例之后,添加一些类似的东西:

class PDF extends FPDF {

    public $email;
    public function setemail($input) {$this->email = $input;}

当你想设置它时使用:

$pdf->setemail($e_mail);

在您的 header 方法中使用以下方式引用电子邮件地址:

$this->Image('qrcode/'. $this->email .'.png',10,10,-300);