Проблемы с форматированием отчетов Jasper и проблемами со шрифтами - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть следующий файл отчета Jasper .jr xml, и он дает очень странные результаты.

Каждая строка возвращаемых данных загадочным образом разбивается на 2 отдельные строки в отчете. В частности, самый последний символ в location_name появляется в новой строке (если в данных нет запятой, в этом случае новая строка начинается там). Почему это происходит?

<?xml version="1.0" encoding="UTF-8"?>    
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports 
    http://jasperreports.sourceforge.net/xsd/jasperreport.xsd">

    <queryString>
        <![CDATA[SELECT substr(location_name, 1, 5) as location_name from location]]>
    </queryString>

    <field name="location_name" class="java.lang.String"/>

    <detail>        
        <band height="25">
            <textField>
                <reportElement x="0" y="0" width="100" height="25"/>

                <box topPadding="1"><topPen lineWidth="0.5"/></box>

                <textElement>    
                    <font fontName="Times New Roman" size="8" 
                     isBold="true" pdfFontName="Helvetica-Bold"/>
                </textElement>

                <textFieldExpression class="java.lang.String">
                    <![CDATA[$F{location_name}]]>
                </textFieldExpression>
            </textField>
        </band>
    </detail>    
</jasperReport>

Одна из возможных подсказок состоит в том, что когда я открывал это в Jaspersoft Studio, я получал предупреждение: " Использование шрифта pdf не рекомендуется и заменяется шрифтом расширение ». Поэтому я попытался удалить fontName и pdfFontName , оставив textElement просто:

                ...
                <textElement>
                    <font size="8" isBold="true" />
                </textElement>
                ...

Это помогает в том, что каждая строка данных теперь отображается в одной строке, но isBold не имеет никакого эффекта.

Если нет решения, есть ли у кого-нибудь пример того, как выделять текст жирным шрифтом в отчете Jasper?

1 Ответ

0 голосов
/ 03 апреля 2020

Я решил эту проблему путем обновления с jasperreports- 4.0.2 .jar до jasperreports- 5.1.0 .jar .

...