2013-06-14 6 views
0

Я пытаюсь создать pdf с использованием fpdf библиотека и php.Выравнивание многоячеистых в FPDF

Я хочу вывода PDF, как:

------------    ------------- 
Grad Marks    90% 
Documnets attched   Mark Sheet, I.C. or TC, Caste 
          Certificate, Eligibility Form, Bonafide, 
          Passing Certificate 
Why do you want to  Because I want to build my career 
take admission in  in management field. 
MBA? 

Так что я написал кусок кода

$pdf = new FPDF(); 
$pdf->AddPage(); 
foreach ($userInputs as $key => $value) { 
$pdf->Ln(7); 
      $pdf->SetFont('Helvetica', 'B', 10); 
      $pdf->MultiCell(90.5, 2.7, $key, 0, 'L', false); 
      $pdf->SetFont('Helvetica', '', 10); 
      $pdf->MultiCell(60, 2.7, $value, 0, 'L', false); 
     } 
    } 
$pdf->Output(); 

N: B - Где $ UserInput является массив содержит (Grad Marks, Documnets attched, Why do u ...) как ключ и (90%, лист с метками ..., потому что я хочу ...) как значения.

Но я не получаю желаемый результат. Я получаю из пут, как

------------    
Grad Marks     
90% 
Documnets attched   
Mark Sheet, I.C. or TC, Caste 
Certificate, Eligibility Form, Bonafide, 
Passing Certificate 
Why do you want to 
take admission in   
MBA? 
Because I want to build my career 
in management field. 

Так что, пожалуйста, помогите мне, чтобы получить желаемый результат.

Заранее спасибо.

+0

Это было ранее ответил на StackOverflow. Проверьте [этот вопрос] (http://stackoverflow.com/questions/13559330/fpdf-print-multicell-adjacently) о том, как заставить его работать. –

+0

Он работает, но я обнаружил, что в ячейках находятся разрывы страниц. Поэтому, пожалуйста, предложите мне решить эту проблему. – Sam

+0

Я уже сталкивался с этой проблемой, но предотвратить ее невозможно без изменения источника FPDF. Я не работаю, чтобы получить доступ к изменениям кода, которые я сделал, но я уверен, что просто скопировал функцию «MultiCell» внутри источника, переименовал ее в «GetMultiCellHeight» и удалил все в функции, кроме битов, в которых он вычислял высота ячейки. Затем вам просто нужно вызвать '$ pdf-> GetMultiCellHeight (content)' и проверить, достаточно ли свободного места на странице. Если не добавить разрыв страницы, тогда, наконец, вызовите '$ pdf-> MultiCell (content)'. –

ответ

0

, пожалуйста, посмотрите на пример использования функции writeHTML() на http://www.fpdf.org/en/script/script41.php

затем попробовать что-то вроде этого

$pdf = new PDF_HTML(); 
$pdf->AddPage(); 
$html ='<table>'; 
foreach ($userInputs as $key => $value) { 
    html.='<tr><td>$key</td><td>$value</td></tr>'; 
} 
$html .= '</table>'; 
$pdf->Output(); 
Смежные вопросы