Выравнивание мультисоты в FPDF

Я пытаюсь сгенерировать pdf, используя библиотеку fpdf и php.

Я хочу вывести 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 представляет собой массив, содержащий (оценки выпускников, прикрепленные документы, почему вы...) в качестве ключа и (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.

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

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


person Sam    schedule 14.06.2013    source источник
comment
На это ранее был дан ответ на StackOverflow. Ознакомьтесь с этим вопросом, чтобы узнать, как заставить его работать.   -  person Ken Herbert    schedule 14.06.2013
comment
Это работает, но я нашел разрывы страниц в ячейках. Поэтому, пожалуйста, предложите мне, как решить проблему.   -  person Sam    schedule 14.06.2013
comment
Я сталкивался с этой проблемой раньше, но нет способа предотвратить ее, не меняя источник FPDF. Я не работаю, чтобы получить доступ к изменениям кода, которые я сделал, но я почти уверен, что просто скопировал функцию MultiCell в источнике, переименовал ее в GetMultiCellHeight и удалил все в функции, кроме битов, где она вычисляла высоту ячейки. Тогда вам просто нужно позвонить $pdf->GetMultiCellHeight(content) и проверить, достаточно ли места на странице. Если не добавить разрыв страницы, то, наконец, вызовите $pdf->MultiCell(content).   -  person Ken Herbert    schedule 14.06.2013


Ответы (1)


пожалуйста, взгляните на пример использования функции 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();
person Hilarius L. Doren    schedule 09.06.2016