Если я вас правильно понимаю, вы жалуетесь на начальный (по умолчанию интервал между строками), который iText использует для вашего html.
По сравнению с браузерами по умолчанию iText считает, что по возрастанию и спуску хранятся в файле шрифта, чтобы вычислить начальную строку между строками. Кажется, что они довольно большие для шрифта, который iText использует для обработки вашего html, и это вызывает проблему.
Чтобы преодолеть это, можно играть со свойством line-height . Я считаю, что установка его значения в 1em поможет вам.
Я добавил следующее правило стиля CSS в ваш HTML-файл:
div {
line-height: 1em;
}
Затем я использовал последнюю версию iText7 (7.1.5-SNAPSHOT как для itextcore, так и html2pdf) и обработал ваш html как до, так и после моих изменений. Теперь, пожалуйста, посмотрите на результаты
Новый HTML: https://pastebin.com/tFzdViyx
До:
После:
Сравнение: