基于iTextSharpPDF生成技术应用探究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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文档的特点实现了在不同操作环境下个性化报表的打印。目前,该技术已成功地运用在笔者开发的项目管理系统当中,可通过在线方式自动生成项目申报书、项目合同书、中期检查表、结题验

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档