方法一:
1、首先,在用iReport设计报表时将要显示中文数据的地方的属性设置如下:
Font
name: 宋体
(中文字体)
PDF font
name: STSong-Light
PDF Encoding:
UniGB-UCS2-H(Chinese Siplified)
PDF
Embeded: √
2、iTextAsian.jar
这个包导入项目的classpath中,没有这个包的话,导出含有中文数据的PDF会报以下错误:
net.sf.jasperreports.engine.JRRuntimeException:
Could not
load the following font :
pdfFontName :
STSong-Light
pdfEncoding :
UniGB-UCS2-H(Chinese Siplified)
isPdfEmbedded :
true
iTextAsian.jar包的下载地址为:
http://sourceforge.net/projects/itext/files/extrajars/ExtraJars1.0/iTextAsian.jar/download
这种方法虽然能够正常地显示中文信息,但是有一个缺点,就是只有一种字体。因为iText
官
方网站提供的iTextAsian.jar
包中只包
含几种简单的亚洲字体,对于简体中文来说,只有宋体。因此,采用这种方法生成的PDF
中,中文字体
只能为宋体,无法显示其他字体。但这种方法比较简单
方法二:
使用 TTF Files (True Type Fonts)
字体文件
TTF
是系统的标准字体文件,最初由Mac OS
定义,后来Microsoft Windows
普遍采用这种格式来定义字体文件。这也是目前我们最常用的字体格式。可以通
过制定具体的字体文件的方式来指定字体。
如:<font fontName=
”
隶书
”
pdfFontName=
”
STCAIYUN.TTF
”
size=
”
18
″ isBold=
”
true
”
isPdfEmbedded =
”
true
”
pdfEncoding =
”
Identity-H
”
/>
例子中使用的是
“
华文彩云
”
字体,STCAIYUN.TTF
为字体文件。需要注意的一点,这里使用的是相对路径,在生成PDF
的时候,程序会从类路径中查找这个字体文件,你可以选择把字体文件放到类路径中,或者使用绝对路径来引用
这个字体文件(如:c:/windows/fonts /STCAIYUN.TTF
)。不推荐采用
后一种方法,因为开发环境和使用环境中,系统的路径可能不同,就会导致无法找到字体文件。一种更好的解决办法,把windows
系
统中fonts
下的某些常用的字体打成一个jar
包,
然后把这个jar
报放到类路径下即可。
注意,在使用这种方式的时候,pdfEncoding
属性要设为
”
Identity-H
”
或者
”
Identity-V
”
。
关于iReport
针对上述两种解决方案,第一种方案可以直接在iReport界面 中选择pdfFontName
和pdfEncoding
,系统中已经集成了
”
STSong-Light
”
和
“
UniGB-UCS2-H
”
,下拉列
表中可以直接选到。
第二种方式下,iReport
的路径下有一个fonts
目录,其中包
括一些TTF
字体文件。在图形界面中选择pdfFontName
的
时候,只 能选择目录中存在的字体文件。如果想使用其他的TTF
字体,可以实现把相关的字体从windows
系统的fonts
目录下拷贝到iReport
的 fonts
路径中,这些字体就会出
现在pdfFontName
的下拉列表中了。
分享到:
相关推荐
jasperreport6版本以上已经对pdf font name、pdf encoding等配置弃用,而改为使用font配置字体,所以以前使用itext jar包的方式已经不能解决pdf中文不显示问题,那么修改fonts中的字体文件,可以一劳永逸解决该问题...
jasperreport 3.75版 jar包 ,修复PDF中中文不能加粗,倾斜等问题。
一个使用SSH集成JasperReport的例子,支持预览、导出Excel、导出Pdf。 部署到Tomcat服务器可运行,该例子中采用了一个报表框架,框架的类图结构可参考压缩包中的“报表设计.jpg”。 希望对您有帮助。
通过ireport生成模版,使用jasperreport调用模版,通过servlet生成pdf格式的文件,显示于页面以实现本地打印功能
NULL 博文链接:https://donald-draper.iteye.com/blog/2301345
该例子使用Intellij IDEA2017编写,集成maven开发环境,里面包含了一些基本的Jasperreport导入导出PDF的用法
JasperReport 打印 导出PDF XLS 这是我们公司架构师搭的一套架构,封装好了打印 导出功能,其他的报表只要实现这个机制就能完成功能了,该抽象的都抽象出来了,只有一个view.jsp页面。
iExport.java DocExport.java XlsExport.java HtmlExport.java PdfExport.java
Jasperreport中文使用手册
NULL 博文链接:https://qdjinxin.iteye.com/blog/350194
JasperReport中文用户手册.pdf
JasperReport中pdf显示中文包 iTextAdian.jar iText-5.0.6.jar
使用JasperReport制作PDF所需要的包(2)
使用JasperReport制作PDF所需要的包(1)
asperReport的应用,发现大部分都是讲如何将jasper导入一个html或pdf进行打印的例子,并没有直接将jasperReport打印生成一个图像的示例。包括jaspe自带的demo里面,所以有高手就写了如何生成图片的方法
用jasperreport5.6.0生成pdf代码
JasperReport中文手册.pdf
jasperreport从数据库中取数据
该工程下有ssh所需jar包,hicharts报表导出功能所需jar包,以及Jasperreport报表导出所需的jar包,主要是利用Jasperreport实现报表导出功能,可以完整跑通