2016-11-05 4 views
1

FPDF의 셀 테이블 안에 문자열을 쉽게 래핑하는 방법이 있습니까? 몇 가지 답변을 찾았지만 조금 딱딱 해 보였습니다. 내 데이터베이스에서 데이터를 검색하고 있으므로 동적으로 필요합니다.셀 테이블 내부에 FPDF 둘러싸 기 텍스트

여기 내 진행 상황을 보여주는 이미지가 있습니다. 텍스트가 겹쳐서 필요에 따라 셀의 높이가 높아야합니다.

enter image description here

샘플 코드

$row_height = 6; 
$header = 35; 
$y_axis = $header + $row_height; 

while($row = mysqli_fetch_assoc($result)) { 
    $col1= $row['col1']; 
    $col2= $row['col2']; 
    $col3= $row['col3']; 

    if ($y_axis >= 275) { // new page 
     $pdf->AddPage(); 
     tableHeader($pdf); 
     $y_axis = $header + $row_height; 
    } 

    //List of items 
    $pdf->SetFont('Arial','',8); 
    $pdf->SetY($y_axis); 
    $pdf->SetX(10); 

    $pdf->MultiCell(40,$row_height,$col1,1); 
    $pdf->SetY($y_axis); 
    $pdf->SetX(50); 
    $pdf->MultiCell(60,$row_height,$col2,1); 
    $pdf->SetY($y_axis); 
    $pdf->SetX(110); 
    $pdf->MultiCell(90,$row_height,$col3,1); 

    $y_axis = $y_axis + $row_height; 
} 
+0

진행 상황 스크린 샷을 설명하고 이러한 경우 하드 코딩 된 솔루션이 유용하지 않은 이유를 설명하십시오. – iblamefish

+0

포스트 코드뿐만 아니라 첫 번째 셀 다음에 새 라인을 만들어야합니다. $ pdf-> Ln (30); –

+0

@iblamefish 데이터베이스에서 데이터를 검색 중이므로 자동으로 셀의 행 높이를 조정해야하기 때문에 –

답변

1

아마 FPDF의 MultiCell 방법은 사용자의 요구에 맞는.

이 방법을 사용하면 텍스트를 줄 바꿈으로 인쇄 할 수 있습니다. 텍스트는 자동으로 (텍스트가 셀의 오른쪽 경계에 도달하자마자) 또는 명시 적으로 (\n 문자를 통해) 전달 될 수 있습니다. 필요에 따라 많은 셀이 출력되고 다른 하나는 출력됩니다. 텍스트를 정렬, 가운데 맞춤 또는 맞출 수 있습니다. 셀 블록을 액자화할 수 있고 배경을 그릴 수 있습니다.