- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于iTextSharpPDF生成技术应用探究
基于iTextSharpPDF生成技术应用探究摘要:随着ASP.NET开发的各种应用系统的广泛应用,生成可个性化定制的、安全可靠的报表成为各系统的重要组成部分。该文提出一种采用iTextSharp类库生成PDF文档的方法实现报表打印,详细介绍了PDF文档生成的主要步骤,并给出相应的程序示例代码。
关键词:PDF;iTextSharp;报表
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)28-6853-03
随着ASP.NET技术的不断发展,在互联网中采用ASP.NET技术的应用系统越来越多。对于采用ASP.NET技术开发的应用系统,报表输出是各种应用系统的重要组成部分。当前,在ASP.NET应用系统中导出报表的方式主要集中在两个方面:1) 使用集成的水晶报表;2) 将数据流直接导出生成Excel等。然而,这两种方式都难以满足用户报表的个性化需求。
通过深入研究iTextSharp,本文介绍一种基于iTextSharp的PDF个性化报表生成方法,并结合笔者开发的项目管理系统中的报表应用需求,实现个性化报表的定制和打印。
1 PDF和iTextSharp
PDF全称Portable Document Format,译为”便携文档格式”,是由是Adobe公司设计的一种电子文件格式。它与操作系统平台无关的性能使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。PDF文件格式可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中,还可以包含超文本链接、声音和动态影像等电子信息,支持特长文件,集成度和安全可靠性都较高。
iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。由此,Gerald Henson,Paulo Soares在基于iText开源项目上开发了基于.NET生成PDF文档的开放式源码类库iTextSharp。通过iTextSharp可以方便地在ASP.NET中生成PDF文档,同时支持将XML、HTML文件转换为PDF文档。
2 基于iTextSharp生成PDF文档的一般步骤
1)引入iTextSharp类库和系统输入输入类库。
2)创建一个iTextSharp.text .Document实例。
Document document=new Document();
Document类中有3种构造函数,其中最常用的是Document(Rectangle PageSize),PageSize定义页面大小,如果需要用横向页面,则可用Rotate()。
例如:Document(PageSize.A4.Rotate());
3) 创建一个Writer实例,它将Document写入一个数据流。
4)打开document,准备写入内容。
document.Open();
在打开之前,可以添加页眉、页脚和水印等。
如添加动态条形码页脚,
5)向Document添加内容,根据客户要求设定生成PDF的样式,每页生成多少行,在什么位置,用什么样的表头。根据PDF格式需求,设计成样式表,并将其打印。
由于iTextSharp并不能直接打印出中文字体,在添加内容前要必须首先定义一个Font类型变量来获得字体格式。
BaseFont bfChinese = BaseFont.createFont(Server.MapPath(”CSS\\simsun.ttc,1”), BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);//其中的路径可以是绝对路径也可以是相对路径,示例中定了系统中引入的宋体字。
如果要生成的PDF文档包含上传附件信息,那么可以通过下面代码实现:
关闭Document非常重要,因为它将关闭正在运行的Writer并将内容写入文件。
至此,一个在制定位置按照用户个性化需求定制的指定名称的PDF文档就生成了,可以直接打开预览和打印。
3 PDF个性化报表示例
在笔者开发的项目管理系统中,打印项目合同书项目经费情况是需要实现跨行跨列,首先定义一个不考虑跨行的5等列表格,然后采用嵌套表格实现跨行,具体方法如下:
结果如图1。
4 结束语
通过使用iTextSharp类库,可以方便地生成PDF文档,并利用PDF文档的特点实现了在不同操作环境下个性化报表的打印。目前,该技术已成功地运用在笔者开发的项目管理系统当中,可通过在线方式自动生成项目申报书、项目合同书、中期检查表、结题验
您可能关注的文档
最近下载
- 人教版数学五年级上册教学计划及进度表.doc VIP
- 昆山通海中学小升初考试试卷.docx VIP
- 交警基本法律知识.pptx VIP
- 2025下半年湖南省国际工程咨询集团有限公司社会招聘34人笔试模拟试题及答案解析.docx VIP
- 2025年海南三亚市天涯区教育系统招聘幼儿园编制教师16人(第1号)笔试历年典型考题(历年真题考点)解题思路附带答案详解(5套).docx
- 旅游美学——第三章-审美心理.pptx VIP
- 《永冻土地区场道工程技术》课程教学大纲模板课程教学大纲.doc VIP
- 考研英语单词表汇总(5500).doc VIP
- 2025下半年湖南省国际工程咨询集团有限公司社会招聘34人笔试备考题库及答案解析.docx VIP
- 人教版(2024)七年级美术上册第二单元第2课《科技之光》精品课件.pptx VIP
文档评论(0)