我正在尝试使用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.
我正在尝试生成或导出PDF格式的jasper报告,但我无法显示nihongo或japanese字符.我该如何解决.
在jasper报告中使用不同的字体时,您需要使用字体扩展名.
但是,如果字体没有正确呈现,有一种方法可以测试pdf是否支持该字体,以便我可以理解问题是否与我的字体扩展或我的.ttf字体有关?
从jasper报告导出为pdf时不正确的字体呈现是一个常见的问题示例Jasper Reports PDF不会导出西里尔文值,如清单第1点所示,使用字体扩展并不总是足够,字体需要也得到支持pdf生成库并能够呈现实际角色.这就是为什么我决定通过这个QA风格的问题,以便未来的用户在点击清单1时可以参考如何快速测试字体.
我试图将jasper导出为pdf,但它没有显示西里尔值.当我将其导出为excel时,它确实显示并且输出正常,但是当我尝试导出为PDF时,它不会导出西里尔文值.西里尔字母不是用西里尔字母书写的,它们都是用西里尔字母键盘写成的.
我用来导出的代码是:
JRExporter e = new JRPdfExporter();
e.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint);
e.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, outStream);
e.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, NAME);
Run Code Online (Sandbox Code Playgroud)
我甚至尝试过以下参数:
e.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING, "UTF-8");
Run Code Online (Sandbox Code Playgroud)
但没有成功.有什么建议?
我的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更大,客户不接受.