Используя iReport 4.5.0, я устанавливаю эти два свойства и значения:
net.sf.jasperreports.text.truncate.at.char=true
net.sf.jasperreports.text.truncate.suffix=...
Намерение состоит в добавлении «...» в конец текстовых полей всякий раз, когда они должны быть усечены, и что определение усечения происходит на уровне символов, а не на уровне слов.Это работает, как и ожидалось при экспорте в PDF.Однако при экспорте в HTML последний усеченный токен (с добавленным суффиксом) часто, хотя и не всегда, переносится некорректно.(Он делает это, даже если для параметра StretchType установлено значение «Без растяжения».) Пример:
Если я изменю net.sf.jasperreports.text.truncate.at.char=false
(чтобы разбить слова вместо символов), кажется,работать чаще, но только потому, что разрывы слов обычно оставляют больше места для суффикса.Неожиданная перенос строки по-прежнему происходит с разрывом слов, особенно если я увеличиваю длину данного суффикса.
Мое лучшее предположение состоит в том, что измерение экспортера HTML не точно рассчитывает ширину, требуемую данным суффиксом (еслион вообще его вычисляет).
- Кто-нибудь может подтвердить?
- Есть какие-нибудь предложения относительно обходного пути?
Похоже, с параметром StretchType, установленным на No Stretch, экспортер HTML должен также установить пробел: nowrap.Однако, хотя это предотвратит перенос строки, конец суффикса будет частично скрыт (из-за переполнения: скрытый стиль).