前言:在springboot2.x项目中,使用jasper进行打印,jasper中已经设置了宋体,但打印出来的中英混排时,英文字母间隙显示有问题。

通过在xx.properties中通过配置可以解决,但奈何本人的Eclipse Neon.3 不支持那些配置,所以只能修改字体jar包,彻底解决在不同ide工具中的通用性。

本篇文章基于jasperreports6.0.0讲解。

<dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports-fonts</artifactId><version>6.0.0</version>
</dependency>

1、进入到本地仓库jasperreports-fonts文件夹,可以复制到其他磁盘中进行处理(不破坏原来的jar包)。然后进行解压:

2、进入到 net\sf\jasperreports\fonts 目录中的 fonts.xml,在最后一个</fontFamily>标签后追加,配置宋体信息:

<!-- 配置宋体信息 -->
<fontFamily name="宋体"><normal>net/sf/jasperreports/fonts/dejavu/simsun.ttf</normal><bold>net/sf/jasperreports/fonts/dejavu/simsun.ttf</bold><italic>net/sf/jasperreports/fonts/dejavu/simsun.ttf</italic><boldItalic>net/sf/jasperreports/fonts/dejavu/simsun.ttf</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded> <!-- 生成的pdf字体与报表字体一致 --><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>

3、将 C:\WINDOWS\Fonts 目录中的 宋体字体文件,拷贝到 net\sf\jasperreports\fonts\dejavu 目录中,并修改文件名称为 simsun.ttf

4、重新打包

直接在上图地址栏中选中后输入cmd 回车进入黑窗口:

输入 

jar cvf jasperreports-fonts-6.0.0-mi.jar *

5、最后一步,修改pom.xml中的配置,将新jar包安装到本地仓库

<dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports-fonts</artifactId><version>6.0.0-mi</version>
</dependency>

#命令要在maven仓库目录下执行(环境变量中指定的maven软件 conf文件夹中setting.xml中指定的目录)
mvn install:install-file -Dfile=H:\jasperreports-fonts\6.0.0\jasperreports-fonts-6.0.0.jar -DgroupId=net.sf.jasperreports -DartifactId=jasperreports-fonts -Dversion=6.0.0-mi -Dpackaging=jar

安装成功后会多出如下2个文件

jasperreports-fonts中宋体缺失解决相关推荐

  1. Input stream not found at: net/sf/jasperreports/fonts/dejavu/msyh.ttf的解决方法

    用Jaspersoft Studio设计后的报表文件,文字设成微软雅黑后导出时后台报错:" Input stream not found at: net/sf/jasperreports/f ...

  2. WPS for Linux(ubuntu)字体缺失解决办法(转)

    https://www.cnblogs.com/ajianbeyourself/p/6035667.html WPS for Linux(ubuntu)字体缺失解决办法(转) 原文:http://ww ...

  3. WPS for Linux【Debian、Ubuntu、Deepin、Linux Mint】字体缺失解决【批量字体安装】

    启动WPS for Linux后,出现提示"系统缺失字体" . 出现提示的原因是大多数 Linux 发行版的字体库都放置的为开源字体,而  WPS for Linux 所必须的一些 ...

  4. WPS for Linux(ubuntu)字体配置(字体缺失解决办法

    WPS for Linux(ubuntu)字体配置(字体缺失解决办法 启动WPS for Linux后,出现提示"系统缺失字体" . 出现提示的原因是因为WPS for Linux ...

  5. 如何在1到100的整数数组中找到缺失的数字

    有关编程面试的最常见问题之一就是:编写一个程序,用Java或任何其他语言查找数组中缺少的数字; 这种不仅在小型初创企业中被问到,而且还在谷歌,亚马逊,脸谱,微软等一些最大的技术公司中提出,主要是当他们 ...

  6. 操作系统中进程并发运行的过程_三种电磁流量计运行过程中常见故障解决详情!...

    原标题:三种电磁流量计运行过程中常见故障解决详情! 昨天给大家介绍了电磁流量计的一些典型故障,今天我们继续来谈电磁流量计的故障问题!电磁流量计在正常的保养与维护之后,在正常使用的过程中依旧是会因为当时 ...

  7. pycharm中run pytest解决

    pycharm中run pytest解决

  8. error LNK2005: “找到一个或多个多重定义的符号” 已经在 xxxx.obj 中定义 的解决方法

    error LNK2005: "找到一个或多个多重定义的符号" 已经在 xxxx.obj 中定义 的解决方法 参考文章: (1)error LNK2005: "找到一个或 ...

  9. oracle sql语句中包含‘’ 的解决方法

    oracle sql语句中包含'&' 的解决方法 参考文章: (1)oracle sql语句中包含'&' 的解决方法 (2)https://www.cnblogs.com/hm1990 ...

最新文章

  1. 2020年球云计算市值或将达4490亿欧元
  2. 在 Windows 内核上运行 Docker 靠谱吗?专家六问六答帮你解惑!
  3. 《噬血代码》:一款轻度的魂Like游戏
  4. mysql多源复制相同数据库名称_mysql数据库多源复制方案
  5. 远程线程需要注意的问题
  6. hive The specified datastore driver (“com.mysql.jdbc.Driver“) was not found
  7. ASP.NET Web程序设计 第一章 ASP.NET Web应用程序基础笔记
  8. cloudflare-5s盾分析
  9. Android万能布局检查器UI Automator Viewer使用教程、环境配置和Mac无法打开问题解决(uiautomatorviewer,android studio,layer,查看,错误)
  10. STM32用热敏电阻测温
  11. Mac 输入法候选词框消失的解决方法
  12. 《商业俏佳人》游戏体验文档
  13. sys fs的原理和使用
  14. 计算机上机模拟试题答案,[计算机类试卷]国家二级VB机试(上机操作)模拟试卷420及答案与解析.doc...
  15. Python渗透测试之Scapy模块情报收集
  16. 倒数闩锁CountDownLatch源码浅析
  17. 为什么说石油币是一场“国家骗局”?
  18. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(6)- 打包发布(PyInstaller3.3.1)
  19. python列表转字典
  20. 星座生辰八字算命系统超强大功能程序源码下载

热门文章

  1. SQL Server 2005的商务智能和数据仓库
  2. 北京中考英​语写作主题22篇,涵盖近年热门话题
  3. MFC入门:职工工作量统计系统(C++课设)
  4. 使用EasyDarwin+FFmpeg实现rtsp推流
  5. ABAP 标准状态栏GUI STATUS的快速创建
  6. matlab函数之length函数
  7. BGP通告原则及黑洞处理方案
  8. Mactype导致卡巴斯基2017 .net Framework client profile 安装失败。
  9. java接口的初始化
  10. C语言中变量未初始化的处理