Полное обоснование в php Класс Cezpdf - PullRequest
0 голосов
/ 03 марта 2020

Я использую класс Cezpdf для создания некоторых PDF-файлов. Пункты кажутся выровненными, но последняя строка пунктов должна быть выровнена по левому краю. С моим текущим кодом

while ($ix < count($string_array)){
    $pdf->ezText("$string_array[$ix]", 13, array('justification'=>'full'));
    $ix++;
} 

все абзацы, кроме последнего, также имеют выравнивание последней строки, что выглядит странно, поскольку последний абзац имеет последнюю строчку выравнивания по левому краю, как я и ожидал от всех абзацев. Есть ли специальный символ для этого вида перевода строки?

Мой текущий pdf-текст из трех одинаковых абзацев выглядит следующим образом:

enter image description here

1 Ответ

0 голосов
/ 04 марта 2020

При внимательном рассмотрении функции ezText обнаруживается изменение выравнивания только для последнего абзаца, как видно из моего примера. В качестве обходного пути я сохраняю ввод оправдания перед значением l oop для каждого абзаца / строки и удаляю отдельную обработку последнего абзаца:

public function ezText($text, $size = 0, $options = array(), $test = 0)
    {
       ...

        $justification_Input = $just;
        for ($i = 0; $i < $c; $i++) {
            $just = $justification_Input;
            $line = $lines[$i];
            $start = 1;
            while (strlen($line) || $start) {

            ...

                if ($just == 'full'){ // && $c == $i + 1) {
                    $tmp = $this->addText($left, $this->y, $size, $line, $right - $left, $just, 0, 0, 1);
                    if (!strlen($tmp)) {
                        $just = "left";
                    }
                }

             ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...