2017-11-26 7 views
0

코드 아래에 글을 썼습니다. 제대로 작동하지만 멀티 셀 높이가 제대로 작동하지 않습니다. 코드 아래에 글을 적었습니다. 제대로 작동하지만 멀티 셀 높이가 제대로 작동하지 않습니다. 코드 아래에 썼습니다. 잘 작동하지만 다중 셀 행 높이가 제대로 작동하지 않습니다.fpdf multicell이 동일한 높이를 생성하지 않습니다

$x=$pdf->GetY(); 
$pdf->SetY($x+1); 

include_once("config.php"); 
$result = mysqli_query($mysqli, "SELECT * FROM prd"); // using mysqli_query instead 
$i = 1; 
while($res = mysqli_fetch_array($result)) 
{ 

$current_y = $pdf->GetY(); 
    $current_x = $pdf->GetX(); 

    $pdf->MultiCell(30, 5, $i, 1, 'L'); 
    $end_y = $pdf->GetY(); 
$prdid = $res[0]; 
     $empid = $res[1]; 
     $specification = $res[2]; 
$prn = $res[3]; 



$current_x = $current_x + 30; 
    $pdf->SetXY($current_x, $current_y); 
    $pdf->MultiCell(30, 5, $empid, 1, 'L'); 
    $end_y = ($pdf->GetY() > $end_y)?$pdf->GetY() : $end_y; 

$current_x = $current_x + 30; 
    $pdf->SetXY($current_x, $current_y); 
    $pdf->MultiCell(30, 5, $specification, 1, 'L'); 
    $end_y = ($pdf->GetY() > $end_y)?$pdf->GetY() : $end_y; 

$current_x = $current_x + 30; 
    $pdf->SetXY($current_x, $current_y); 
    $pdf->MultiCell(30, 5, $prn, 1, 'L'); 
    $end_y = ($pdf->GetY() > $end_y)?$pdf->GetY() : $end_y; 


$i++; 
    $pdf->SetY($end_y); 

     } 
$pdf->Output(); 
?> 

내 결과 :

To see my result click here

가 어떻게 자동으로 행 높이를 조정?

답변

0

그래서 멀티 셀은 본질적으로 동적 인 높이입니다. 함수에 넣은 높이는 "행"높이입니다. fpdf가 다중 셀을 작성하고 높이를 5로 정의했다고 가정 해 봅시다. 높이 5의 "셀"을 작성하고 작성을 시작합니다. 그런 다음 너비에서 하드 스톱을 치고 "새 행을 만들어야합니다."라는 메시지가 나오면 상위 "셀"바로 아래에 높이 5의 새로운 "셀"이 추가됩니다. 이것은 모든 텍스트가 기록 될 때까지 반복됩니다. 분명히 이것은 역동적 인 콘텐츠에는 좋지만 독자가 겪은 어려움이 있습니다.

내가 일반적으로 취하는 경로는 시작점을 기록하고, 먼저 멀티 셀을 기록한 다음 정지 지점을 기록하는 것입니다. 그런 다음 다른 셀로 되돌아 가서 더 잘 정렬 할 수 있습니다. GetX, GetY, SetX, SetY는 친구가 될 것입니다. 간단한 수학으로 동적으로 높이를 설정할 수 있습니다.

"게으른"옵션은 문서를 크기 조정할 수 있도록 레이아웃을 다시 작성하는 것입니다. 너무 길면 멀티 셀을 사용하여 행 아래에 놓습니다.
| 1 | 46 | PR2 ..... |
| 실제 길이가 긴 텍스트 아래로 조정하십시오.
| 2 | ........

앞으로 나아갈 수있는 희망!

관련 문제