Почему TCPDF помещает текст на следующую страницу? - PullRequest
0 голосов
/ 22 января 2020

Когда я задаю

$pdf = new dmdpdf("P", "IN","USLETTER", true, 'UTF-8', true);  // US Letter page size

и говорю

$pdf->text (1.0,10.3,'Test');

, текст печатается вверху следующей страницы.

Однако, если я говорю

 $pdf = new dmdpdf("P", "IN", "USLEGAL", true, 'UTF-8', true); // US Legal page size

Текст печатается именно там, где я хочу, в пределах поля USLetter .

Я могу обойти это, установив страницу как USLEGAL но мне интересно, что я что-то упустил. Ради чистоты я бы хотел сделать это без скрипки.

1 Ответ

1 голос
/ 25 января 2020

Американские буквы имеют высоту 11 дюймов.

Поля разрыва страницы по умолчанию расположены в 20 мм от нижней части страницы, что составляет 0,73 дюйма. 11-0,73 = 10,27. Это ставит ваш тестовый текст на выше этой автоматической c позиции разрыва, поэтому он запускает автоматический c разрыв страницы.

Установите поле разрыва страницы на что-то меньшее (или отключите его) целиком). Если это для нижнего колонтитула, рассмотрите возможность использования собственного нижнего колонтитула.

Я не знаком с dmdpdf, но если это тонкая оболочка для TCPDF, используйте setAutoPageBreak

/**
 * Enables or disables the automatic page breaking mode. When enabling, the second parameter is the distance from the bottom of the page that defines the triggering limit. By default, the mode is on and the margin is 2 cm.
 * @param $auto (boolean) Boolean indicating if mode should be on or off.
 * @param $margin (float) Distance from the bottom of the page.
 * @public
 * @since 1.0
 * @see Cell(), MultiCell(), AcceptPageBreak()
 */
public function SetAutoPageBreak($auto, $margin=0)
...