2017-09-30 1 views
0

fpdf 라이브러리를 사용하여 이미지를 표시하는 데 문제가 있습니다. 나는 MultiCells 스크립트 [http://www.fpdf.org/?go=script&id=3]와 fpdf 테이블을 사용합니다.fpdf 멀티 셀이있는 테이블을 사용하여 테이블 행에 이미지 표시

I이 함수를

$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_path을 이미지로 바꾸고 싶습니다. 이 스크립트를 사용하여 이미지를 표시하려면 어떻게해야합니까?

내 pdf는 다음과 같습니다. enter image description here

답변

1

PDF_MC_Table 클래스 행() 함수는 Inhertence를 사용하여 수정하십시오. 이제

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); 
같은이 함수를 호출
관련 문제