iReport 5.6.0 PDF导出中文不显示问题 解决方案

Posted miracle-luna

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iReport 5.6.0 PDF导出中文不显示问题 解决方案相关的知识,希望对你有一定的参考价值。

问题描述

iReport 5.6.0 PDF格式导出,中文不显示。

报错信息如下: 

Error exporting print... Could not load the following font : 
pdfFontName   : STSong-Light
pdfEncoding   : UniGB-UCS2-H
isPdfEmbedded : true
net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : 
pdfFontName   : STSong-Light
pdfEncoding   : UniGB-UCS2-H
isPdfEmbedded : true 
    at net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:2117) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:1906) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:1875) 
    at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.getPhrase(SimplePdfTextRenderer.java:89) 
    at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.render(SimplePdfTextRenderer.java:100) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:2238) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:950) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:909) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:786) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:513) 
    at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:1174) 
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) 
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

 

 

前提

已经对自己设计的报表统一设置了pdf的字体格式。配置如下:

Font name: 宋体 

Pdf Font name: STSong-Light 

Pdf Embeded: true (打钩) 

Pdf Encoding: UniGB-UCS2-H(Chinese Siplified) 

 

截图如下:

技术图片

 

技术图片

 

现象

iReport 5.6.0 Preview中文展示是OK的,但是导出的PDF中文异常。效果如下:

1)iReport Preview 结果如下:

技术图片

 

2)PDF导出结果:

技术图片

 

 

问题分析

PDF的中文没有得到正确转换。

 

解决方案

有两种非常简单解决方案,采取其中一种,即可完美解决PDF中文不显示问题。具体如下:

方案1:

工具--> 选项--> iReport--> Classpath--> Add JAR--> H:SW_installJaspersoftiReport-5.6.0ireportmodulesextiTextAsian.jar  (此处需要根据自己iReport 5.6.0的安装目录进行选择)

添加完 iTextAsian.jar 后,在 Reloadable列 将其勾选,重启iReport 5.6.0,PDF中文即可正常显示。

 

操作详细步骤如下:

本地安装的iReport目录 JaspersoftiReport-5.6.0ireportmodulesext 目录下找到 iTextAsian.jar

技术图片

技术图片

技术图片

技术图片

 

 方案二:

比方案一更简单,不需要执行方案一的那些操作!!

只需要将 JaspersoftiReport-5.6.0ireportmodulesext目录下的 iTextAsian.jar这一个jar包,Copy一份到 JaspersoftiReport-5.6.0platform9lib目录下。

重启iReport,即可解决PDF预览中文乱码的问题。

是不是超级简单?!^_^

技术图片

 

效果如下:

技术图片

 

 

至此,PDF预览中文不显示的问题,已处理完毕!

 

PS:希望本文能帮到需要帮助的同行。

另外如果需要iReport 5.6.0安装文件,在我的博客里有百度网盘,可以免费下载,推崇资源信息共享。

请参考:https://www.cnblogs.com/miracle-luna/p/10560294.html

 

由于技术有限,如有纰漏,还望指正。

如有疑问,可以提出来,互相探讨,共同进步。

谢谢。

 

以上是关于iReport 5.6.0 PDF导出中文不显示问题 解决方案的主要内容,如果未能解决你的问题,请参考以下文章

ireport导出pdf

ireport导出pdf

ireport导出pdf

Ireport 导出pdf

Ireport 导出pdf

iReport 5.6.0 安装包下载&安装