导入jasperreports出现Cannot resolve com.lowagie:itext:2.1.7.js6异常、生成PDF中文不显示中文解决方法、使用命令安装jar包
JasperReport是一个纯Java写的开源免费报表工具库,用于进行报表的设计
1.导入jasperreports依赖时,打印Cannot resolve com.lowagie:itext:2.1.7.js6异常
今天在使用Maven安装jasperreports依赖时,控制台始终打印Cannot resolve com.lowagie:itext:2.1.7.js6异常。具体依赖版本如下:
<dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>6.8.0</version> </dependency>解决办法
思路:
-
首先确定网络正常,再到 Maven 仓库 查看是否存在对应版本依赖。
-
如果以上都没问题,基本能确定自动下载不行,就手动下载安装吧。
以下通过itext演示手动安装
1、手动下载包到本地
使用JasperReports进行功能开发时会用到itext的jar包,但是这个jar是修改过的,一般为itext-2.1.7.js2.jar,itext-2.1.7.js6.jar等特殊版本,但是这些是maven仓库下载不到的。
本人在http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/ 目录下找到的相应的jar:
2.、安装 jar 包进本地仓库
安装命令: mvn install:install-file -Dfile=G:/itext-2.1.7.js6.jar -DgroupId=com.lowagie -DartifactId=itext -Dversion=2.1.7.js6 -Dpackaging=jar
参数说明:
- mvn install:install-file:安装文件
- -Dfile:待安装包所在位置
- -DgroupId:包的GroupId
- -DartifactId:包的artifactId
- -Dversion:包的version
- -Dpackaging:包的文件类型
运行效果如下:
安装成功后去本地仓库即可查看到刚才安装的 jar,回到项目刷新异常已消失。
注意:
错误想法,直接在本地建文件夹,让目录结构对应下载后的目录结构,再把包拖进去,不就和通过安装的效果一样了,还更加简单。想法很好,但 Maven 存在索引此操作并不行,因为我已经试过了
JasperReports依赖itext-2.1.7.js6.jar等下载
因 Cannot resolve com.lowagie:itext:2.1.7.js6,选择手动安装 Jar 包进 Maven 仓库
2.生成PDF中文不显示解决方法
JasperReport在用TIBCO Jaspersoft Studio进行报表设计的时候默认采用的字体是SansSerif,中文并不在其处理范围之内。
下面的报表jrxml模板文件中可看到已经设置了华文宋体。
报表模板文件中显示设置中文字体,生成PDF文件的时候中文其实还是不会显示,因为JasperRepeat的包中压根就没有华文宋体的字体库STSONG.TTF,需要在工程中放入该字体库,并配置JasperReport的字体模板fonts.xml,添加配置文件jasperreports_extension.properties指明字体处理工厂类和字体模板。
Windows操作系统中的字体文件可以在C:\Windows\Fonts目录下找到,华文宋体的字体文件STSONG.TTF就在该目录下面。
工程结构如下图:
fonts.xml
jasperreports_extension.properties
net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory net.sf.jasperreports.extension.simple.font.families.lobstertwo=fonts/fonts.xml经过上述处理后,再生成PDF文件,中文已经可以正常显示了。
JasperReport生成PDF中文不显示处理
总结
以上是生活随笔为你收集整理的导入jasperreports出现Cannot resolve com.lowagie:itext:2.1.7.js6异常、生成PDF中文不显示中文解决方法、使用命令安装jar包的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: python多线程编程(5): 条件变量
- 下一篇: 消息模式在实际开发应用中的优势