JasperReport报表导出PDF中文不显示的问题
首先在JasperReport Studio中加载下载好的中文字体:打开设置页面: Window >> Preferences >> Jaspersoft Studio >> Fonts,点击 Add 添加字体,FamilyName中命名新添加字体名称,TrueType中选择下载的字体文件(.ttf文件),PDF Encoding中选择PDF中中文字体编码格式。
这时Studio的字体下拉框中就有了我们添加的字体。将我们报表中的中文字体设置为“华文宋体”或“微软雅黑”。
我们的web工程中引入了JasperReport相关jar包:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.9.0</version>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>6.9.0</version>
</dependency>
这时我们要对jasperreports-fonts依赖的jar包进行更改,加入我们下载的字体文件。
使用解压软件打开jasperreports-fonts.far,逐层找到dejavu文件夹和fonts.xml文件。打开dejavu文件夹,将我们下载的ttf文件拖入其中。将fonts.xml文件复制出来进行更改。
在fonts.xml中<fontFamilies>标签内加入如下代码,保存后复制到jar包中替换原来的fonts.xml文件。
<fontFamily name="华文宋体">
<normal>net/sf/jasperreports/fonts/dejavu/HuaWenSongTi.ttf</normal>
<bold>net/sf/jasperreports/fonts/dejavu/HuaWenSongTi.ttf</bold>
<italic>net/sf/jasperreports/fonts/dejavu/HuaWenSongTi.ttf</italic>
<boldItalic>net/sf/jasperreports/fonts/dejavu/HuaWenSongTi.ttf</boldItalic>
<pdfEncoding>Identity-H</pdfEncoding>
<pdfEmbedded>true</pdfEmbedded>
<exportFonts>
<export key="net.sf.jasperreports.html">'华文宋体', Arial, Helvetica, sans-serif</export>
<export key="net.sf.jasperreports.xhtml">'华文宋体', Arial, Helvetica, sans-serif</export>
</exportFonts>
</fontFamily>
<fontFamily name="微软雅黑">
<normal>net/sf/jasperreports/fonts/dejavu/WeiRuanYaHei.ttf</normal>
<bold>net/sf/jasperreports/fonts/dejavu/WeiRuanYaHei.ttf</bold>
<italic>net/sf/jasperreports/fonts/dejavu/WeiRuanYaHei.ttf</italic>
<boldItalic>net/sf/jasperreports/fonts/dejavu/WeiRuanYaHei.ttf</boldItalic>
<pdfEncoding>Identity-H</pdfEncoding>
<pdfEmbedded>true</pdfEmbedded>
<exportFonts>
<export key="net.sf.jasperreports.html">'微软雅黑', Arial, Helvetica, sans-serif</export>
<export key="net.sf.jasperreports.xhtml">'微软雅黑', Arial, Helvetica, sans-serif</export>
</exportFonts>
</fontFamily>
此时将JasperReport Studio中设计好的jasper文件导入我们的项目中然后启动,JasperReport报表导出的PDF中已经可以正常显示中文了。
JasperReport报表导出PDF中文不显示的问题相关推荐
- Jasperreport 导出pdf 中文不显示问题
报错信息: net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : pdfFontNam ...
- JasperReport生成PDF中文不显示处理
JasperReport是一个纯Java写的开源免费报表工具库,很久没有玩JasperReport了,最近有点时间重新找来学习一下.现在报表的设计都换成TIBCO Jaspersoft Studio了 ...
- 解决bootstrap table的export扩展模块利用tableExport导出pdf中文乱码问题
缘由:没有积分了,怎么破?自己研究. 参考文章: https://blog.csdn.net/qq_34117170/article/details/72765646 https://www.cnbl ...
- 解决pads logic导出pdf中文乱码问题
最近在做<晶体管电路设计-上>配套PCB实验板(用于调试实验,更深入学习模电知识)想导出PDF,选择File->Create Pdf,导出的pdf中文是乱码,即使我把字符设置成宋体等 ...
- 怎样将英文html文件转换成中文乱码,解决html导出pdf中文乱码问题的正确姿势
简介 jspdf是歪果仁开发的,因此在一开始就没想过支持非英文以外的文字,这就导致了非英文的文本都是乱码. 因此就有其他大佬给增加了其他解决方案,到了1.5版本也正式加入了非英文支持的解决方案. 解决 ...
- vscode MPE puppeteer导出pdf的数学公式显示问题
Vs Code MPE Puppeteer 导出pdf问题 这几天在用vs code写markdown的时候,写完后按照习惯,使用Markdown Preview Enhanced预览,随后在预览界面 ...
- 解决ubuntu下pdf中文不显示或乱码问题
Ubuntu10.04终于来了,鄙人认为10.04是一个堪称完美的linux.赞一个--!使用的过程中,在阅读pdf时发现中文不显示或有乱码出现的现象.特将方解决方法记下,以备忘.方法如下. ...
- 带滚动条html转pdf只有一页,关于html页面导出pdf滚动条以下显示不全的问题
生成的pdf只有页面窗口可见的区域,有滚动条的下面没有生成出来.如果截取是body的这个层级,而刚好body设置了overflow: hidden;那超出的部分是永远截取不到的,因为这个节点的dom高 ...
- html转换pdf中文失败,解决html导出pdf中文乱码问题的正确姿势
简介 jspd页求是解这如前总回随4泉标使幻近面的是,f是歪果仁开发的,因此在一开始就没想过支持非英文以外的文字,这就导致了非英文的文本朋不功事做时次功好来多这开制的请一例农在个屏器随的会满和满时波实 ...
最新文章
- 使用 Github Pages 发布你的项目文档
- java微信oppo,OPPO实现全球首次5G微信视频通话,国产手机满分操作
- 印度颁布法令:禁止Facebook免费网络服务
- 【随笔】深度学习之美——杨家有女初长成,养在深闺人未识
- 【机器学习基础】非常详细!机器学习模型评估指标总结!
- Java多线程-线程中止
- reverseajax(comet) socket 杂记
- 网页服务器和mysql服务器_实现Web服务器之间使用同一个MYSQL和相同的网页配置文件的方法...
- 8 个 jQuery 的 PDF 浏览插件
- 《假设的世界-一切不能想当然》笔记
- 斐波那契数列连续十项的和
- npm和yarn科学设置淘宝镜像
- 上面两点下面一个三角形_【人人都能欣赏的数学证明】为什么三角形的三个内角相加是180度?...
- java 判断正态分布_如何检验数据是否服从正态分布
- mysql远程操作权限(navicat for mysql)
- C语言---移盘子----Hanoi(汉诺)塔问题,显示移动盘子的步骤
- 【TUN模式】对QQ或者微信域名、QQ邮箱、微信公众号文章、微信开发者社区相关的网站访问非常慢、图片加载不出来、网页空白的解决方案
- ERP : 出版行业解决方案
- Python 、Sqlite3数据库、单片机 、RC522 -公交卡管理系统(含部分源码)#可刷卡登陆
- Greenplum upgrade from 4.3.4.1 to 4.3.30.0 准备工作