Jasper报告PDF编码

时间:2009-12-11 06:26:50

标签: encoding jasper-reports

我正在尝试生成或导出PDF格式的jasper报告,但我无法显示nihongojapanese个字符。我该如何解决这个问题。

5 个答案:

答案 0 :(得分:10)

你也可以在这样的代码中设置“net.sf.jasperreports.default.pdf.encoding”:

JRProperties.setProperty("net.sf.jasperreports.default.pdf.encoding", "Cp1250");

答案 1 :(得分:7)

更新

从评论:6年后,在Jasper Reports中显示字符的正确方法是使用字体扩展名,例如见https://stackoverflow.com/a/33941102/254109

原始答案

创建一个文件“jasperreports.properties”,将其放在类路径中并设置PDF编码。

net.sf.jasperreports.default.pdf.encoding=Cp1250

或者在报表中设置基本样式,设置所需的内容,以及从此样式派生的所有其他样式,即它们具有属性style =“base”。

答案 2 :(得分:5)

您必须在PDF中嵌入UTF-8字体。

  1. 获取utf-8字体并将它们放在类路径上
  2. 旧版jasper-reports版本使用自定义style并将其应用于所有文本
  3. 打印前,请致电style.setPdfFontName("/com/package/fonts/times.ttf");
  4. 对于较新版本,PdfFontName已弃用,而不是其他方式,但我现在无法找到它 - 请自行查找。

    可能会找到另一种解决方法here

答案 3 :(得分:3)

我遇到了同样的问题,但有东欧角色。当我将pdfEncoding属性设置为Cp1250然后它开始工作但不幸的是它并没有为法语字符工作。然后我发现这篇文章提供了一个非常简单的解决方案:http://jasperstarter.sourceforge.net/unicode-pdf-export.html

设置fontName="DejaVu Sans"

就足够了

答案 4 :(得分:1)