JasperReport在PDF

时间:2018-01-25 16:41:26

标签: jasper-reports

我正在研究jasper报告,用中文字符动态拉伸文本字段但是多个测试用例失败了。 PDF结果从iReport生成的本地看起来很棒,但在测试JBoss服务器上失败了。我相信这个问题与字体有关,并通过阅读this参考确认。以下是我设置测试环境和测试用例的步骤:

  • 将字体(Arial Unicode MS和Ming(ISO 10646))安装到java;
  • 通过打印出java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment()来确认字体安装正确.getAvailableFontFamilyNames();
  • 使用iReport 3.6.1创建字体扩展并添加到类路径

testing.Jrxml

<detail>
<band height="80" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="false">
    <reportElement key="textField" positionType="Float" stretchType="RelativeToTallestObject" x="246" y="35" width="150" height="20" isPrintWhenDetailOverflows="true"/>
        <textElement textAlignment="Center" verticalAlignment="Middle">
            <font fontName="Arial Unicode MS"/>
        </textElement>
    <textFieldExpression class="java.lang.String"><![CDATA["扭扭車,盒子 ,淨水器,膠水,汽車啟動應急電源,電池,麥克風asdfkljhqwerpouikljhsdfgklhn,mhjzkxlchuioe"]]></textFieldExpression>
</textField>
</band>
</detail>

我尝试了什么

  • 添加pdfFontName = Arial Unicode MS并设置pdfEncoding = Identity-H
  • 使用字体Ming(ISO 10646)
  • 拉伸文字字段填充英语(成功)
  • 添加多个&#34; \ n&#34;在汉字中间(成功伸展但难以控制)

服务器环境

Aix 7.1 with JasperReport 3.6.1

对于进一步测试的任何建议表示赞赏。

提前致谢。

0 个答案:

没有答案