问题描述

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_install\Jaspersoft\iReport-5.6.0\ireport\modules\ext\iTextAsian.jar  (此处需要根据自己iReport 5.6.0的安装目录进行选择)

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

操作详细步骤如下:

本地安装的iReport目录 Jaspersoft\iReport-5.6.0\ireport\modules\ext\ 目录下找到 iTextAsian.jar

 方案二:

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

只需要将 Jaspersoft\iReport-5.6.0\ireport\modules\ext\目录下的 iTextAsian.jar这一个jar包,Copy一份到 Jaspersoft\iReport-5.6.0\platform9\lib\目录下。

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

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

效果如下:

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

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

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

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

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

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

谢谢。

iReport 5.6.0 PDF导出中文不显示问题 解决方案的更多相关文章

  1. JSP 中文乱码显示处理解决方案

    来源: <http://blog.csdn.net/joyous/article/details/1504274> JSP 中文乱码显示处理解决方案 分类: 所有 Web前端 J2EE20 ...

  2. ABP进阶教程10 - PDF导出中文乱码

    点这里进入ABP进阶教程目录 问题描述 功能按钮 - 导出PDF,中文信息导出为乱码. 解决方案 导出PDF是通过pdfmake.js实现的. 检查发现是pdfmake引用的vfs_fonts.js字 ...

  3. Jaspersoft Studio 导出PDF格式中文不显示

    1:设置字体 2:应用上面设置的字体

  4. [原创]OpenERP 7.0 打印PDF报表 中文 乱码问题的解决方案。

    网上的解决方案基本上以替换字体和安装上海先锋科技开发的软件包配置两种方案,替换字体的方案尝试了几次都么有成功,安装软件包的方案成功. 软件环境:Ubuntu Server 12.04 第一步:先到ht ...

  5. Tomcat 中 jsp 中文乱码显示处理解决方案

    原地址: http://blog.csdn.net/joyous/article/details/1504274 初学JSP,尤其是Tomcat环境(GlassFish默认UTF-8,则不存在此类问题 ...

  6. Jasperreports以及iReport4.5报表PDF导出字体完美解决方案

    在使用Jasperreports以及iReport设计报表时,导出PDF是一个常见的需求.网上解决PDF导出中文显示问题相关的文章很多,无非就是设置控件的pdf font name和pdf encod ...

  7. 发邮件 和 excel导出中文文件名

    /** * 发邮件 * @param email * @param subject * @param body * @throws UnsupportedEncodingException */ pu ...

  8. ASP.NET MVC 拓展ActionResult实现Html To Pdf 导出

    之前实现了html直接转换为word文档的功能,那么是否也同样可以直接转换为pdf文档呢,网上搜了下html to pdf 的开源插件有很多 如:wkhtmltopdf,pdfsharp,itexts ...

  9. xhtmlrenderer渲染pdf,中文换行

    在实际开发中,发现在table中显示中文,渲染出来的pdf,中文内容不自动换行.经过搜索发现了一种解决方案,如下: 重写Breaker,修改right计算方式 /* * Breaker.java * ...

随机推荐

  1. paxos made more simple

    paxos算法是进入分布式领域的一块基石,有关paxos的讨论有很多精彩的详细论述,很多牛人不惜宝贵时间以大幅详尽段落叙述.感谢他们,paxos more simple 理解paxos前,我建议以面到 ...

  2. 八、pyqt5按钮类控件——QPushButton、QRadioButton、QCheckBox

    pyqt5中常用的按钮类控件有QPushButton.QRadioButton.QCheckBox.QToolButton等.这些按钮类的基类都是QAbstracButton类.所以这些类有部分方法是 ...

  3. Atom使用

    cmd-r 通过方法名查找 ctrl-option-g 跳转至光标所在方法或结构 安装 last-cursor-position 后 alt-- 返回至光标上一次所在位置

  4. css隐藏多余的文字并出现省略号

    <meta charset="utf-8" /> <style> .txt{ width:200px; border:1px solid #ddd; ove ...

  5. php项目中使用element.ui和vue

    1.plugins中添加axios,element-ui 2.全局文件下引入 <script src="/static/plugins/vue@2.5.13/vue.js"& ...

  6. 自定义react-navigation的TabBar

    在某些情况下,默认的react-navigation的tab bar无法满足开发者的要求.这个时候就需要自定义一个tab bar了.本文就基于react-navigtion v2来演示如何实现一个自定 ...

  7. U-Boot Makefile分析(3) rules.mk分析

    浏览各个子Makefile可以发现,他们都会在文件的后面包含rules.mk,这个文件的作用就是更新源文件的依赖,并生成各种.depend文件. _depend: $(obj).depend # Sp ...

  8. (1)selenium-java环境搭建

    已经学过了用python模拟浏览器操作,现在开始尝试使用java搭建环境,开头第一步就遇到了很多的问题 1.准备jdk安装,不再描述,自行百度 2.安装eclipse 3.接下来就是新建项目了,new ...

  9. 11个炫酷的Linux终端命令大全

    我已经用了十年的Linux了,通过今天这篇文章我将向大家展示一系列的命令.工具和技巧,我希望一开始就有人告诉我这些,而不是曾在我成长道路上绊住我. 1.命令行日常系快捷键 如下的快捷方式非常有用,能够 ...

  10. python 变量,if,while,运算符

    变量由变量名 赋值 值 a = 1 ###### 必须是一个等于号 一个等于号是赋值 变量的命名规则: 1.数字,字母,下划线组成 2.数字不能在前面 3.区分大小写 4.禁止使用python关键字 ...