fpdf 在 table 行中使用 table 和 multilcell 显示图像

fpdf display image in table row using table with multilcell

我在使用 fpdf 库显示图像时遇到问题。我将 fpdf Table 与 MultiCells 脚本一起使用 [http://www.fpdf.org/?go=script&id=3 ].

我调用这个函数可以显示数据

$data = [
  ['A','B','C','image_path'],
  ['A','B','C','image_path'],
  ['A','B','C','image_path'],
];
$pdf->Row($header);
foreach($data as $v) $pdf->Row($v);

它将很好地生成数据。我想用 image 替换 image_path 。如何使用此脚本显示图像?

我的 pdf 将如下所示。

使用 Inhertence 修改 PDF_MC_Table class Row() 函数。

Class Pdf extends PDF_MC_Table{
  protected $imageKey = '';

  public function setImageKey($key){
    $this->imageKey = $key;
  }

  public function Row($data){
    $nb=0;
    for($i=0;$i<count($data);$i++)
      $nb=max($nb,$this->NbLines($this->widths[$i],$data[$i]));
      $h=5*$nb;
      $this->CheckPageBreak($h);
      for($i=0;$i<count($data);$i++){
        $w=$this->widths[$i];
        $a=isset($this->aligns[$i]) ? $this->aligns[$i] : 'L';
        $x=$this->GetX();
        $y=$this->GetY();
        $this->Rect($x,$y,$w,$h);

        //modify functions for image 
        if(!empty($this->imageKey) && in_array($i,$this->imageKey)){
          $ih = $h - 0.5;
          $iw = $w - 0.5;
          $ix = $x + 0.25;
          $iy = $y + 0.25;
          $this->MultiCell($w,5,$this->Image ($data[$i],$ix,$iy,$iw,$ih),0,$a);
        }
        else
          $this->MultiCell($w,5,$data[$i],0,$a);
        $this->SetXY($x+$w,$y);
      }
      $this->Ln($h);
    }
  }

}

现在像这样调用这个函数

$data = [
  ['A','B','C','image_path'],
  ['A','B','C','image_path'],
  ['A','B','C','image_path'],
];

$pdf = new Pdf();
$pdf->AddPage();
$pdf->setImageKey = [4];
$pdf->Row($data);