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模板文件中可看到已经设置了华文宋体。

<staticText><reportElement x="20" y="7" width="68" height="32" uuid="c0240cf1-84c7-4197-b32e-dc59cbb77c66"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="华文宋体" size="19"/></textElement><text><![CDATA[姓名]]></text>
</staticText>

报表模板文件中显示设置中文字体,生成PDF文件的时候中文其实还是不会显示,因为JasperRepeat的包中压根就没有华文宋体的字体库STSONG.TTF,需要在工程中放入该字体库,并配置JasperReport的字体模板fonts.xml,添加配置文件jasperreports_extension.properties指明字体处理工厂类和字体模板。
Windows操作系统中的字体文件可以在C:\Windows\Fonts目录下找到,华文宋体的字体文件STSONG.TTF就在该目录下面。
工程结构如下图:

fonts.xml

<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies><fontFamily name="华文宋体"><normal>fonts/STSONG.TTF</normal><bold>fonts/STSONG.TTF</bold><italic>fonts/STSONG.TTF</italic><boldItalic>fonts/STSONG.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>
</fontFamilies>

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包相关推荐

  1. 因 Cannot resolve com.lowagie:itext:2.1.7.js6,选择手动安装 Jar 包进 Maven 仓库

    前言 今天在使用Maven安装jasperreports依赖时,控制台始终打印Cannot resolve com.lowagie:itext:2.1.7.js6异常.具体依赖版本如下: <de ...

  2. mysqlcsv导入中文乱码_Mysql 导入导出csv 中文乱码问题的解决方法

    导入csv: 复制代码 代码如下: load data infile '/test.csv' into table table_name fields terminated by ','  optio ...

  3. .sql导入中文显示乱码解决方法

    .sql导入中文显示乱码解决方法 参考文章: (1).sql导入中文显示乱码解决方法 (2)https://www.cnblogs.com/fnote/p/8051682.html 备忘一下.

  4. Mysql 导入导出csv 中文乱码问题的解决方法

    导出csv: select t1.stid,t1.cateNodeId,t2.name,t1.name from (select p.stid,p.cateNodeId,r.name from Res ...

  5. csv导入mysql乱码问题,Mysql导入导出csv中文乱码问题的解决方法_MySQL

    bitsCN.com 导入csv: load data infile '/test.csv' into table table_name fields terminated by ',' option ...

  6. 载入的html代码中文乱码了怎么解决方法,Chrome导入html书签乱码的解决方法

    Chrome导入自己导出的html书签一般是没有问题的,如果书签或收藏夹是IE或360浏览器导出的html格式,可能在导入Chrome后会出现乱码.对于这种情况,可按以下方法处理. 用记事本打开导出的 ...

  7. 语雀md文档导入到csdn时图片无法显示的解决方法

    只需要在导入文档后按住crtl+g 将[object Object]全部替换为%5Bobject%20Object%5D即可解决

  8. itext文本域自动换行_iText+Flying Saucer生成pdf文档,中文不显示和不自动换行问题...

    一.重写Breaker,添加中文识别 // Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov. // Jad home page: ...

  9. blender导入mmd的pmx模型进行额外建模后,导出pmx模型,出现材质缺失问题的解决方法

    pmx的材质导出不能以一般fbx模型的形式设置,在材质属性里,有个mmd纹理设置. 在纹理路径这,选择你的贴图/纹理的路径地址. 其他设置,可以参考原mmd模型的设置(这个球体纹理我不知道有什么用,因 ...

  10. VERICUT9.0版本以上导入毛坯和机床模型不显示的解决方法

    在VERICUT新建项目后,定义的机床和毛坯无法显示,其解决办法如下: 1.单击"项目树"中的项目 2.在"配置项目"中勾选"调用机床仿真口令&quo ...

最新文章

  1. 《21天学通C++(第7版)》——12.8 作业
  2. lpi linux认证权威指南 pdf,LPI Linux认证指南读书笔记
  3. MVC中执行成功弹出对话框
  4. Android测试环境配置
  5. 【转】 linux iio子系统
  6. linux语言windows 语言,作业系统一般用什么编码语言程式设计?如:Windows,Linux,是组合语言吗?还是自己开发的程式码?...
  7. QT的QJSValue类的使用
  8. Linux Tomcat8 启动堆内存溢出
  9. mysql建表测试_总结MySQL建表、查询优化实用小技巧
  10. webui-popover 一个轻量级的jquery弹出层插件
  11. Redis分布式架构以及实战
  12. 个人通过ipv6地址提供公网访问服务
  13. 维护最短路径条数和途径点的权值累加
  14. unite 2019 上海,东京,首尔,哥本哈根,悉尼 的视频/资料
  15. 什么是系统时钟?什么是时钟系统?时钟系统有什么作用?
  16. 服务器win10系统开机慢,三种方法教你解决Win10系统开机慢,爱纯净官网
  17. PDPS软件:机器人外部柔性管线包模型导入与虚拟仿真操作方法
  18. mapper parameterType
  19. 极光推送SDK引起的内存泄露排查
  20. 【IIS】如何安装Web平台安装程序

热门文章

  1. 西门子主程序调用子程序_西门子S7-200系列PLC子程序的调用方法
  2. 菜鸟上网必备知识大全
  3. C#固高运动控制卡PT模式使用
  4. 珍藏多年的技术资源搜索网站——程序员必备
  5. 如何突破网盘限速?获取下载链接的三种方法
  6. Newtonsoft 六个超简单又实用的特性,值得一试 !
  7. plc输入/输出模块的选择
  8. 《算法设计与分析基础》第2版
  9. 无需代码,图文并茂详解EEGLAB中的ERPs数据分析方法
  10. 转载的 matlab破解版下载与安装教程