Текстовое поле детали, похоже, имеет ограничение на количество символов и перестает растягиваться

У меня есть четыре отчета, которые в основном представляют собой разные форматы одного и того же отчета, и с тремя из них возникает следующая проблема. У меня есть текстовое поле в полосе сведений, помеченное как Растянуть с переполнением. Проблема в том, что кажется, что у него есть какое-то ограничение символов, потому что со следующим текстом (110 символов):

MAD.ESP.TAUARI(COURATARI GUIANENSIS AUBL.)SERRADA EM RIPA.KD.FAS.FSC 100% MED.19,1MMX38,1MMX2438,4MM DE COMP.

Это только печать:

MAD.ESP.TAUARI(COURATARI GUIANENSIS AUBL.)SERRADA EM RIPA.KD.FAS.FSC 100% MED.19,1MMX38,1MMX2438,4MM DE

Как показано на снимках экрана:

Первый отчет Второй отчет Третий отчет (правильно печатается только один) Четвертый отчет

Стоит отметить, что при использовании «предварительного просмотра» JasperStudio весь текст отображается нормально для всех из них.

Вот код текстового поля одного из них. Они в основном одинаковы, меняя ширину, высоту и положение.

<textField isStretchWithOverflow="true">
    <reportElement x="26" y="0" width="76" height="10">
    </reportElement>
    <textElement textAlignment="Center" verticalAlignment="Top">
        <font fontName="Arial" size="8"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{descricaoProduto}]]></textFieldExpression>
</textField>

Я использую версию JasperReports 6.2.2.

РЕДАКТИРОВАТЬ:

Я создал суть с минимальной версией отчета о том, что проблема возникает:

Пример

Я экспортирую его в PDF и использую Arial в качестве шрифта (я добавил JAR со шрифтом Arial).


person Fernando Camargo    schedule 24.11.2016    source источник
comment
Вы должны опубликовать небольшой образец (jrxml), чтобы воспроизвести проблему. Что такое выходной формат? Вы пробовали использовать разные шрифты?   -  person Alex K    schedule 24.11.2016
comment
@AlexK, я только что добавил минимальный образец. Я еще не пробовал другие шрифты.   -  person Fernando Camargo    schedule 24.11.2016
comment
Может помочь установка для net.sf.jasperreports.export.pdf.force.linebreak.policy значения true. См. jasperreports.sourceforge.net /   -  person dada67    schedule 24.11.2016
comment
Решение @FernandoCamargo от data67 работает как шарм :)   -  person Alex K    schedule 25.11.2016
comment
@ dada67, твое решение сработало для меня! Вы можете создать ответ с ним, чтобы я принял его и проголосовал за него.   -  person Fernando Camargo    schedule 28.11.2016
comment
@FernandoCamargo Лучше пометить свой вопрос как дубликат - вы можете принять его со своей стороны   -  person Alex K    schedule 28.11.2016


Ответы (1)


Установите для свойства net.sf.jasperreports.export.pdf.force.linebreak.policy значение true (в jasperreports.properties или программно). См. http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.pdf.force.linebreak.policy

Свойство указывает экспортеру PDF использовать java.text.BreakIterator для определения того, где в тексте могут возникать разрывы строк, что гарантирует, что разрывы строк во время экспорта PDF совпадают с разрывами, используемыми при измерении текста во время заполнения отчета. Обратите внимание, что это может оказать некоторое влияние на производительность экспорта PDF, но не должно быть драматичным.

person dada67    schedule 28.11.2016