我正在尝试使用DynamicJasper生成报告,但是我收到以下错误:
net.sf.jasperreports.engine.util.JRFontNotFoundException:
Font 'Arial' is not available to the JVM.
Run Code Online (Sandbox Code Playgroud)
安装了msttcorefonts,但我猜JVM没有使用它的任何字体.
我正在使用Ubuntu 10.04.
我怎样才能解决这个问题?
我试图在jasper报告中显示ukranian字符作为pdf文件.但它不是以pdf格式显示的.
当我将报告导出到所有其他格式(如html)时,显示csv..ukranian char.
我用文本字段硬编码了一个值
":$£?€???:"
Run Code Online (Sandbox Code Playgroud)
测试这些字符是否以PDF格式显示
但它只打印为
:$£€:
Run Code Online (Sandbox Code Playgroud)
我已经尝试将字体更改为"符号",但这并不能解决问题.
注意:我正在使用iReport 5.5
在jasper报告中使用不同的字体时,您需要使用字体扩展名.
但是,如果字体没有正确呈现,有一种方法可以测试pdf是否支持该字体,以便我可以理解问题是否与我的字体扩展或我的.ttf字体有关?
从jasper报告导出为pdf时不正确的字体呈现是一个常见的问题示例Jasper Reports PDF不会导出西里尔文值,如清单第1点所示,使用字体扩展并不总是足够,字体需要也得到支持pdf生成库并能够呈现实际角色.这就是为什么我决定通过这个QA风格的问题,以便未来的用户在点击清单1时可以参考如何快速测试字体.
我的PDF报告存在问题,在填写文本字段之前,文本字段中的字符串被截断.丢失的字符数量(5-6)不足以超过结尾textField.
我将该text.truncate.at.char属性添加到report元素,但仍然截断了String(在显示比以前更多的字符之后).
我还检查了是否有其他报告元素阻止了文本字段的结尾,但没有.
最后,我尝试了一个我发现的潜在修复,并在行尾添加了"\n",但这也无济于事.
在iReport Designer中,将显示整个String.
PDF报告
iReport Designer预览版

有谁知道如何让Jasper Reports使用文本字段中的整个空间?
PS:由于客户的意愿,不允许文本溢出到下一行.
我正在使用Jasper Reports 5.5.2.
编辑:
它textField是子报表中详细信息区域的一部分.我不允许共享整个.jrxml,但这是textField的代码:
<textField>
<reportElement style="Unicode" mode="Opaque" x="0" y="2" width="467" height="17" forecolor="#FFFFFF" backcolor="#00007F" uuid="e810d7a4-6802-4620-af2f-4c385a9e80a6">
<property name="net.sf.jasperreports.text.truncate.at.char" value="true"/>
</reportElement>
<textElement verticalAlignment="Middle" markup="none">
<font size="10" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[" More Details - "+$F{Description} + " ("+$F{Id}+")"]]></textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)
描述是可变长度,Id是GUID.在这种情况下,仍然应该有足够的空间textField来显示整个GUID.
这是另一个屏幕截图isStretchWithOverflow="true":
现在,文本完全显示在第一行,但是textField更大,客户不接受.