方法一:
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
的下拉列表中了。
分享到:
相关推荐
如果XML语法有误,或者数据绑定不正确,可能导致生成的`test.jasper`预编译报告文件无效,从而在导出PDF时显示为空白。 2. **数据源问题**:报表需要数据来填充,如果数据源未正确设置或数据提供者(例如JavaBean、...
标题中的“jasperreport生成pdf实现下载与打印”是指使用JasperReports库来创建PDF报告,并提供下载和打印功能。JasperReports是一个开源的Java报表工具,它允许开发者设计、生成和导出各种类型的报表,包括PDF、...
本文将深入探讨如何使用JasperReport导出不同格式的文档,包括Html、Xls、PDF和DOC。 首先,让我们了解一下JasperReport的核心概念。JasperReport是一个基于Java的报告库,它允许开发人员设计和生成复杂的报表。...
**JasperReport PDF导出详解** JasperReport是一款强大的开源报表工具,主要用于生成各种格式的报表,包括PDF、HTML、Excel、CSV等。在Java应用中,它与iReport(设计工具)配合使用,可以方便地创建复杂的报表布局...
**使用JasperReports制作报表(导出PDF, Excel, HTML)** JasperReports是一款开源的Java报表库,它允许开发者创建、设计和显示复杂的报告。这个教程将介绍如何使用JasperReports来制作报表,并将其导出为PDF、...
在IT行业中,报表生成是数据分析和业务展示的关键环节,而JasperReport则是一个强大的开源报表工具,能够帮助开发者创建复杂的报告并输出为多种格式,包括PDF。本篇将详细讲解如何利用JasperReport来制作PDF,并介绍...
2. **jasperreports-fonts-4.1.1.jar**:此库提供了JasperReport支持的各种字体和符号集,确保在生成PDF时能够正确显示特殊字符和非ASCII字体。这对于创建包含多语言或者需要特殊图形符号的报告至关重要。 3. **jdt...
在寻找解决方案的过程中,开发者发现大部分JasperReport的示例都是关于将报表导出为HTML或PDF,而缺乏直接生成图像的指导。 JasperReport是一个强大的报表生成库,通常用于创建复杂的报告布局,如表格、图表和文本...
在Java应用中,jasperreport通常用于生成数据可视化的静态或交互式报表。这个源码项目是基于**MyEclipse**开发的,MyEclipse是一款集成开发环境(IDE),它是Eclipse的扩展,专门针对Java、Web和企业级应用程序的...
JasperReport是一款功能强大的报表工具,它能够制作复杂的报表并具有多种数据源支持、格式化选项以及导出功能。JasperReport提供iReport Designer作为报表设计工具,它允许用户以可视化的方式设计报表布局和内容,...
通过以上步骤,大多数情况下可以解决iReport导出PDF文件时的中文显示问题。当然,每个项目都有其特殊性,可能需要根据实际情况进行调整。对于那些喜欢深入研究源码的开发者,还可以查看iReport和iText的源代码,了解...
在IT行业中,报告生成是常见的需求,...尽管过程中可能遇到一些挑战,但只要掌握了基本操作和解决方法,就能够高效地完成任务。在实际工作中,不断实践和学习新的工具和技术,可以提升开发效率,为项目带来更大的价值。
PDF格式保持了报表的原貌,无论在哪台设备上打开,都能看到一致的显示效果。在iReport中,你可以调整页边距、纸张大小和方向,确保PDF导出后的视觉效果满足需求。 "iReportTest"这个压缩包文件很可能包含了实现这一...
在这个主题中,我们将深入探讨如何在Struts2中集成JasperReport来导出Excel。 首先,我们需要理解Struts2的工作原理。Struts2框架基于拦截器模型,通过Action类处理用户请求,并返回结果到视图层。为了实现导出...
通过这个中文翻译用户手册,新手可以系统地学习JasperReport的基本概念、设计原理和使用方法,逐步掌握如何创建模板、设置数据源、定义参数、样式控制、图表制作以及报表的导出和交互操作。手册中会详细解释每个步骤...
在“Struts2 + JasperReport应用一:导PDF,Excel,HTML显示”这篇博文中,作者将介绍如何结合这两个工具来实现动态报表的生成和导出。 首先,我们需要了解Struts2的基础知识。Struts2框架是Apache软件基金会的一个...
总的来说,JasperReport和iReport的组合提供了一套强大而灵活的报表解决方案,能够满足各种业务场景下的报表需求,无论是在Web应用还是桌面应用中,都能轻松实现数据的可视化呈现。通过学习和掌握这两者,你将能够...
在这个项目中,这些技术结合在一起,提供了一种强大的报表导出解决方案。以下是对这些关键技术及其在项目中的应用的详细解释。 **Struts2**: Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web...
将JavaBean用作数据源时,jasperreport会遍历JavaBean的属性并将其显示在报表上。这使得开发者能够灵活地利用业务对象的数据生成报表。 **多数据源支持** jasperreport允许使用多个数据源,这对于处理复杂报表场景...
**正文** ...总之,JasperReport和iReport是Java报表开发的重要工具,它们提供了一套完整的报表设计、生成和导出解决方案。通过熟练掌握这两者,开发者可以轻松处理各种数据展示需求,提升项目的用户体验。