- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在企业的信息系统中,报表处理一直占比较重要的作用,本章将介绍一种生成PDF报表的Java组件——iText。通过在服务器端使用JSP或JavaBean生成PDF报表,客户端采用超级链接显示或下载得到生成的报表,这样就很好地解决了B/S系统的报表处理问题。本章的主要内容为iText组件的简介、开发以及典型应用。
15.1? iText组件简介
iText是著名的开放源码站点sourceforge的一个项目,是用于生成PDF文档的一个Java类库。通过iText不仅可以生成PDF或RTF的文档,而且可以将XML、HTML文件转化为PDF文件。iText组件的下载方式如下:
在IE地址栏中输入“/iText/download.html”,进入如图15.1所示的页面。
图15.1? iText类库的下载链接
当前最新的iText类库版本为2.0.2,单击如图15.1所示的“itext-2.0.2.jar”超级链接即可下载iText类库文件(itext-2.0.2.jar)。下载itext-2.0.2.jar文件后,只需要在系统环境变量中的CLASSPATH中加入itext-2.0.2.jar路径,在程序中就可以使用iText类库了。
15.2? iText组件开发
iText作为一个文本输出的Java开源代码,提供了PDF、HTML、RTF等多种文件格式的输出功能。为输出各种文本提供了一个比较好的封装。对于PDF报表的输出,仅用到了整个开源代码很小的一个部分。
15.2.1? PDF文档输出的基本组成部分
作为最基本的程序设计实践,最经典的范例仍然是“Hello World”,请看下面的示例。
? 示例15-01? 在JSP页面生成PDF
本示例将实现在JSP页面中编写代码,输出“Hello World”,并且输出的格式为PDF。程序运行结果如图15.2所示。
图15.2? 输出“Hello World”
程序代码如下:
代码15-01? 光盘位置:光盘\mingrisoft\15\sl\01
%@ page language=java? pageEncoding=gb2312%
%@ page import=java.io.*,com.lowagie.text.*,com.lowagie.text.pdf.*%
%
??? response.reset();
??? response.setContentType(application/pdf);
//步骤1
??? Document document = new Document();
??? ByteArrayOutputStream buffer = new ByteArrayOutputStream();
//步骤2
??? PdfWriter.getInstance(document, buffer);
//步骤3
??? document.open();
//步骤4
??? document.add(new Paragraph(Hello World));
//步骤5
??? document.close();
??? out.clear();
??? out = pageContext.pushBody();
??? DataOutput output = new DataOutputStream(response.getOutputStream());
??? byte[] bytes = buffer.toByteArray();
??? response.setContentLength(bytes.length);
??? for (int i = 0; i bytes.length; i++) {
??? output.writeByte(bytes[i]);
??? }
%
在上述代码中,说明了以下两个问题。
(1)一个PDF文件的输出,总共只需要以下5个步骤。
步骤1:创建一个Document实例。
Document document = new Document();
在上述代码中,建立com.lowagie.text.Document对象的实例。该对象的构造方法有3个:
public Document();
public Document(Rectangle pageSize);? //定义页面的大小
public Document(Rectangle pageSize,int marginLeft,int marginRight,int marginTop,int marginBottom);??? /*定义页面的大小,参数marginLeft、marginRight、marginTop、marginBottom分别为左、右、上、下的页边距*/
您可能关注的文档
最近下载
- 我国散光矫正型人工晶状体临床应用专家共识.docx
- 科研伦理与学术规范.docx VIP
- 【教学评一体化】第三单元 赏山川日月,悟忧乐情怀 整体公开课一等奖创新教学设计-【大单元教学】统编版语文九年级上册名师备课系列.docx VIP
- 缅怀先烈精神-传承红色基因课件.pptx VIP
- 1.1 同底数幂的乘法 双减分层作业设计样例 2021—2022学年北师大版数学七年级下册 .docx VIP
- 朱良春杂病廉验特色发挥.docx
- 绘本《我妈妈》教学设计.docx
- 人教版(2024)英语七年级上册全册教案.DOCX VIP
- 在线网课知慧《音乐艺术概论》课后章节测试答案.docx
- 2024年中煤集团西南分公司招聘笔试参考题库附带答案详解.pdf
文档评论(0)