Просто установите в вашем поле размер шрифта, равный нулю. Это автоматически изменит размер шрифта так, чтобы данный текст поместился в вашем поле ... в определенных пределах. Я не думаю, что он будет ниже 6 баллов.
Другой альтернативой будет использование ColumnText
и вызов myColText.go(true)
. Это будет «имитировать» макет, давая вам знать, что и где происходит, не рисуя ничего в PDF. Просто подберите столбецТекст с теми же размерами, шрифтом и размером шрифта, что и у вашего поля, и ваши результаты должны быть такими же.
На самом деле, я считаю, что код рендеринга текстового поля iText использует ColumnText
для внутреннего использования. Да, посмотрите на источник для TextField.getAppearance()
.
Обратите внимание, что ограничивающая рамка вашего поля не будет соответствовать рамке, в которую выложен текст ... Вы должны учитывать стиль и толщину отверстия. Вот почему я предлагаю вам взглянуть на источник.