Ваши собственные предложенные решения вашей проблемы хороши. Наверное, самый важный вопрос, на который нужно ответить, - как должен выглядеть ваш PDF, если данные, отображаемые в поле, не помещаются? Вам когда-нибудь нужен «полный ответ» для чего-то еще? Когда вы знаете ответ на этот вопрос, у вас будут сокращены варианты.
Например, если поле должно быть ограничено 1/2 страницы, а пользователи иногда вводят более 1/2 страницы текста, вы можете либо
1) ограничьте ввод данных пользователем - при отправке рассчитайте размер (используя метрики шрифта, как вы сказали) и отклоните отправку до исправления. Это предполагает, что вы можете законно заставить пользователя сократить ввод данных.
2) принять пользовательский ввод и усечь в отображении этого отчета. Некоторые системы используют «...» для обозначения усеченных данных и могут предоставить гиперссылку (даже в формате PDF) для получения дополнительной информации.
Обеспечение предварительного просмотра работало бы очень хорошо, но только если пользователи хорошо проверяют и корректируют и ваша система может справиться с дополнительной нагрузкой, которую это создаст.