POI PPT XSLFTextParagraph знать точку переполнения текста - PullRequest
0 голосов
/ 22 апреля 2019

Я работаю над требованиями к отчетности, слайды генерируются динамически на основе простого шаблона размером 16: 9, шаблон имеет два места для хранения, таблицу с несколькими строками и текстовое поле фиксированного размера (6,2 "x 9,75"), размер текстового поля не должен превышать предопределенный размер в шаблоне, его размер должен идеально выровняться по слайду.

Текст, который вводится в текстовое поле на PPT, вводится пользователем в приложение через текстовый редактор Reach - поле RTE, поддерживает стандартные стили RTE, такие как BOLD, Курсив, Подчеркнутый, Зачеркнутый, упорядоченный и неупорядоченный список и H1. для заголовков H3 с нормальным форматом, нет ограничений на длину текста.

Пользователь имеет возможность загружать содержимое в виде отчета PPT, отчет должен сохранять формат / стиль, который использовал пользователь. Теперь возникает проблема, когда текст, введенный пользователем, работает дольше, чем текст, который может поместиться в текстовое поле при переполнении текста слайда, при переполнении текста необходимо создать новый слайд с текстовым полем для текста переполнения. Нет сжатия текста при переполнении.

Я посмотрел в XSLFTextShape.getTextHeight (), чтобы получить высоту текста, метод возвращает высоту текста в зависимости от стиля шрифта и т. Д. Поскольку ввод текста происходит через RTE, стили могут меняться, выясняя, какой текст может поместиться в текстовое поле, учитывая изменяющийся текстовый шрифт, например: длинный текст с обычным стилем может помещаться в текстовое поле, но когда пользователь применяет стиль H1 или добавляет упорядоченный список к тому же тексту, это приведет к переполнению. Пользователь может свободно применять все поддерживаемые стили в RTE. Проблема в том, что я не могу понять, что текст переполнен.

Есть ли возможность программно через poi узнать точку переполнения ..?

POI Версия 4.0.1

...