Jasper报告格式和字体问题

问题描述 投票:0回答:1

我有以下Jasper Report子报表.jrxml文件,它产生非常奇怪的结果。

返回的每一行数据都神秘地分成了两行。具体来说,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字体,而是用字体扩展名代替”。所以我尝试删除fontNamepdfFontName,而将textElement保留为:

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

这有助于每行数据现在显示在一行上,但是isBold无效。

除非有解决方案,没有人有一个如何在Jasper报告中加粗文本的示例吗?

jasper-reports export-to-pdf
1个回答
0
投票

我通过从jasperreports-4.0.2。jar升级到jasperreports-5.1.0。jar来解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.