当前位置: 首页 > 知识库问答 >
问题:

jasper报表多语言-在spring boot中生成pdf时无法显示字体

东云
2023-03-14

我正在使用Java中的JasperReports生成一个多语言报告。

当我生成pdf时,很少有语言不能正确显示。

然而,当我生成Excel时,报告是用正确的语言正确地生成的。

    null
 Style rowStyle = new Style();
 Font font = new Font(FONT_SIZE_SMALL, "Noto Sans", false, false, false);
 font.setPdfFontName("Noto Sans");
 font.setPdfFontEncoding(Font.PDF_ENCODING_Identity_H_Unicode_with_horizontal_writing);
 font.setPdfFontEmbedded(false);
 rowStyle.setFont(font);

共有1个答案

梁建德
2023-03-14

您是否尝试过设置DEBUG jasper reports logging来检查PDF呈现时使用的字体?(下面的log4j设置示例

<category name="net.sf.jasperreports">
    <priority value="DEBUG" />
</category>

例如,您应该看到Jasper正在加载的字体的调试日志:

DEBUG SimpleFontFace:177 - Loading font fonts/ARIALUNI.TTF

并且如果您使用的是jasper字体扩展(如下所述),您应该会看到如下内容:

 DEBUG FontExtensionsRegistry:88 - Loading font extensions from net/sf/jasperreports/fonts/jasperreports-fonts.xml

是否将字体包含在类路径中?我成功地使用了一个自定义构建的jar,类似于本篇文章中描述的文档:https://community.jaspersoft.com/wiki/adding-fonts-embedding-pdf

以上步骤可以帮助调试类似这样的问题。事实证明,“无人”字体不支持印度字符,使用“Arial Unicode MS”是可行的。

在Docs中,可以看到支持多少种语言。

 类似资料:
  • 我的JSF2.0web应用程序旨在生成PDF报告。问题是在资源管理器窗口中没有显示PDF报告。我正在使用eclipse kepler,带有apache-tomcat-7.0.52,并且jasper Ireport的版本是4.8。 我将提供整个java类: 我可以在控制台看到消息,并且页面被刷新,但是没有PDF报告出现在explorer屏幕上 我已经用下面的代码替换了上面的PDF方法,但是徒劳的是,

  • 我已将图像保存在oracle数据库中为BLOB。我的模型类包含Byte[]图像;对应于数据库中的BLOB feild。我必须将数据库中的所有图像导出为PDF格式。在java中,我使用了以下代码: 我需要PDF格式的图像。

  • 我正在尝试从.jasper文件生成pdf报告到使用struts框架的基于web的java应用程序中。但是pdf报表中的字体显示不正确(这里是打印屏幕),而在预览时,它可以正常工作,或者我们可以将相同的报表导出为其他格式,如docx,html格式,它可以正常工作(这里是打印屏幕)

  • 目前我们正在使用Aspose。NET库生成excel并导出为PDF。pdf由多种语言组成,如英语、汉语和泰米尔语。对于英语和汉语来说,这很好,但对于泰米尔语来说,它有拼写问题。 例如, "போல்" 的第一个和第二个字母将翻转。 我们尝试了“Latha”字体和“Arial Unicode MS”字体,文本显示,但字母翻转。我们也尝试过“InaiMathi”字体,但文本没有显示出来。 我也尝试使用不

  • 我从一个离开公司的开发人员那里继承了一个项目。这个项目是java的(对我来说是新的),并且使用jasper报告(对我来说是新的)来生成一个PDF。我需要更新其中一份报告以删除一些文本。如果我把代码从源代码管理中取出,然后运行它,它就能正常工作。但是,如果我打开一个jrxml文件并构建它,不做任何更改,然后尝试再次运行报告,它就会中断。我得到的错误是: 无法将Net.sf.JasperReports

  • 我还访问了http://javaskeleton.blogspot.sg/2010/12/embedding-fonts-into-pdf-generated-by.html,但没有成功。 我错过了什么?如有任何帮助,不胜感激