2014-11-07 5 views
1

Я боролся с проблемой в DOMPDF в течение недели ...DOMPDF, что не так с ростом текста?

У меня есть файл HTML-шаблона, который необходимо преобразовать в PDF. Я загружаю и измеряю высоту файла шаблона с помощью jQuery, а затем вызываю DOMPDF для преобразования файла шаблона, а также передаю высоту DOMPDF, чтобы весь контент поместился на первую страницу PDF. (Мне не нужны страницы с страницами формата А4, я хочу иметь только одну страницу с переменной высотой).

Он отлично работает.

Но одна вещь завинчивает все. Даже жестко устанавливаю размер шрифта и высоту строки в CSS, текст отображается в DOMPDF выше, чем в HTML. И из-за этой высоты все сдвигается вниз и выталкивает последний элемент страницы на новую страницу.

Что не так с высотой текста и DOMPDF? Как иметь постоянную высоту текста?

Единственное, что работало до сих пор, это установить фиксированную высоту для DIV и установить высоту линии на 1px меньше, чем высота DIV (вероятно, потому, что она оставляет небольшое пространство для заполнения).

+0

DOMPDF в моем опыте всегда склонен к этому. Я делаю довольно много, что вы делаете: кропотливо исправляйте ошибки с помощью CSS. Надеюсь, вы найдете лучший ответ, но я не смог. –

+1

Вы пытались изменить значение 'DOMPDF_FONT_HEIGHT_RATIO'? – BrianS

+1

Да, спасибо. Установка DOMPDF_FONT_HEIGHT_RATIO на 0.82 устраняет мою проблему почти в пиксельной точности. Я предполагаю, что одна нота для добавления - это не использование высоты строки в css, и пусть она будет автоматической. Я получил лучший результат, не используя его. – Boriss

ответ

1

Я не хочу украсть ответ, который был указан в комментариях, но он фактически работает так, как описано: Fiddle with DOMPDF_FONT_HEIGHT_RATIO. Мое магическое число было 0.75 (при 300 dpi, если это имеет значение).

define("DOMPDF_FONT_HEIGHT_RATIO", 0.75); 

Спасибо и кредиты Брайану и Борису!

Смежные вопросы