《Spring编程技术与应用》课件17.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Spring编程技术与应用》课件17.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Spring编程技术与应用 Spring 编程 技术 应用 课件 17
- 资源描述:
-
1、17.1 完全用iText编程生成含报表的PDF文档17.1.1 用用iText通过直接编程生成通过直接编程生成PDF文档步骤文档步骤(1)建立)建立com.lowagie.text.Document对象。例如:对象。例如:Document document=new Document();(2)建立一个与)建立一个与document对象关联的书写器对象关联的书写器(Writer)。例如:。例如:PDFWriter.getInstance(document,new FileOutputStream(Helloworld.PDF);(3)打开文档。)打开文档。document.open();(4)
2、向文档中添加内容。)向文档中添加内容。document.add(new Paragraph(Hello World);/添加一个段落添加一个段落(5)关闭文档。)关闭文档。document.close();17.1.2 Document对象简介Document有三种构造函数:有三种构造函数:Document():生成的文档将自动采用:生成的文档将自动采用A4大小的纸张。大小的纸张。Document(Rectangle pageSize):可以定义纸张的大小。:可以定义纸张的大小。Document(Rectangle pageSize,float marginLeft,float marginR
3、ight,float marginTop,float marginBottom):该构:该构造方法不仅可以定义纸张大小,而且还能定义页面的左右上下边距。造方法不仅可以定义纸张大小,而且还能定义页面的左右上下边距。以下定义一个以下定义一个Document对象,页面大小为对象,页面大小为A4,四周边距均为,四周边距均为50。Document document=new Document(PageSize.A4,50,50,50,50);如果页面需要采用横排模式,只要修改第一个参数就行:如果页面需要采用横排模式,只要修改第一个参数就行:Document doc=new Document(PageSiz
4、e.A4.rotate(),50,50,50,50);document对象的方法newPage():换页换页boolean addTitle(String title)/标题标题boolean addSubject(String subject)/主题主题boolean addKeywords(String keywords)/关键字关键字boolean addAuthor(String author)/作作者者boolean addCreationDate()/创建日期创建日期boolean setPageSize(Rectangle pageSize)/页面大小页面大小boolean ad
5、d(Watermark watermark)/增加水印增加水印void removeWatermark()/删除水印删除水印void setHeader(HeaderFooter header)/页面头部标注页面头部标注void setFooter(HeaderFooter footer)/脚注脚注void setPageCount(int pageN)/页数页数17.1.3 书写器(Writer)对象通过书写器通过书写器(Writer)对象可以将具体文档对象可以将具体文档存盘成需要的格式,存盘成需要的格式,PDFWriter可以将文档存可以将文档存成成PDF文件,文件,HtmlWriter可
6、以将文档存成可以将文档存成html文件。例如:文件。例如:PdfWriter writer=PdfWriter.getInstance(document,new FileOutputStream(d:/user/记录表记录表1.pdf);17.1.4 文本处理 所有向文档添加的内容都是以对象为单位的,所有向文档添加的内容都是以对象为单位的,iText中用文本块中用文本块(Chunk)、短语、短语(Phrase)和段落和段落(paragraph)处理文本。处理文本。值得注意的是文本中汉字的显示,默认的值得注意的是文本中汉字的显示,默认的iText字字体设置不支持中文字体,需要下载远东字体包体设置
7、不支持中文字体,需要下载远东字体包iTextAsian.jar,否则不能往,否则不能往PDF文档中输出中文字文档中输出中文字体。体。有的网站提供的有的网站提供的iTextAsian.jar包中使用的是以前包中使用的是以前iText-2.1.3.jar一样的包名,与现在一样的包名,与现在iText5.0包名不包名不符,要解开进行处理,将其中包路径符,要解开进行处理,将其中包路径com.lowagie.text.Font改为改为com.itextpdf.text.Font,然后,重新打包即可。,然后,重新打包即可。1.文本块(Chunk)文本块文本块(Chunk)是处理文本的最小单位,是处理文本的
8、最小单位,可以为可以为Chunk对象指定颜色,字体。例如,以对象指定颜色,字体。例如,以下产生一个字体为下产生一个字体为HELVETICA、大小为、大小为10、带下划线的字符串:带下划线的字符串:Chunk chunk1=new Chunk(ZipCode,FontFactory.getFont(FontFactory.HELVETICA,12,Font.UNDERLINE);2.短语(Phrase)短语短语(Phrase)由一个或多个文本块由一个或多个文本块(Chunk)组成,短语组成,短语(Phrase)也可以设定字体,但对于其中已经设定过字也可以设定字体,但对于其中已经设定过字体的文本块
9、体的文本块(Chunk)无效。以下为无效。以下为Phrase的构造方法:的构造方法:Phrase(String string)Phrase(String string,Font font)Phrase(float leading,String string)其中,参数其中,参数leading设置的是设置的是Phrase对象的行间距。对象的行间距。通过短语通过短语(Phrase)的的add方法可以将一个文本块方法可以将一个文本块(Chunk)加到短语加到短语(Phrase)中。中。3.段落(paragraph)段落段落(paragraph)由一个或多个文本块由一个或多个文本块(Chunk)或短语
10、或短语(Phrase)组成,相当于组成,相当于WORD文档中的段落概念,同样可以设定段落的字体大小、颜色等属性。文档中的段落概念,同样可以设定段落的字体大小、颜色等属性。定义好一个定义好一个Paragraph对象之后,将其加入文档中。例如:对象之后,将其加入文档中。例如:Paragraph p=new Paragraph();Chunk chunk=new Chunk(Title);p.add(chunk);document.add(p);另外也可以设定段落的首行缩进、对齐方式(左对齐、右对齐、居中对齐)。另外也可以设定段落的首行缩进、对齐方式(左对齐、右对齐、居中对齐)。通过方法通过方法se
11、tAlignment可以设定段落的对齐方式,例如:可以设定段落的对齐方式,例如:p.setAlignment(Element.ALIGN_JUSTIFIED);/对齐方式对齐方式 p.setIndentationLeft(15f);/左侧缩进距离左侧缩进距离p.setSpacingBefore(15f);/段前间距段前间距 p.setSpacingAfter(5f);/段后间距段后间距4.List类文档中可加入文档中可加入List对象,对象,List类实现的效果类似于类实现的效果类似于Word中的中的“项目符号和编号项目符号和编号”。以下通过。以下通过List的构造方法创建一个的构造方法创建一
12、个List对对象。象。List my=new List(true,false,10);【说明说明】构造方法的第构造方法的第1个参数指明是否为有编号的列表,个参数指明是否为有编号的列表,true表示创建的是有编号的列表;第表示创建的是有编号的列表;第2个参数表示是否采用字母进行个参数表示是否采用字母进行编号,编号,true为字母,为字母,false为数字;第为数字;第3个参数是列表的缩进量。个参数是列表的缩进量。列表由列表项(列表由列表项(ListItem)组成,通过)组成,通过List的的add()方法可将方法可将列表项加入列表中。列表项加入列表中。my.add(new ListItem(Fi
13、rst item of list);my.add(new ListItem(Second item of list);也可以直接将一个字符串加入也可以直接将一个字符串加入List列表,或者在列表中加入另列表,或者在列表中加入另一个列表对象。一个列表对象。17.1.5 表格处理类类com.lowagie.text.Table的构造方法有的构造方法有3个:个:Table(int columns)Table(int columns,int rows)Table(Properties attributes)其中,参数其中,参数columns、rows、attributes分别为表格的列数、行数、表分别
14、为表格的列数、行数、表格属性。创建表格时必须指定表格的列数,而对于行数可以不用指定。格属性。创建表格时必须指定表格的列数,而对于行数可以不用指定。建立表格后,可以设定表格的属性,例如:建立表格后,可以设定表格的属性,例如:Table t=new Table(3,2);/创建创建3列列2行的表格行的表格 t.setBorderColor(Color.white);/设置边框颜色设置边框颜色 t.setPadding(5);/设置填充间隙设置填充间隙 t.setBorderWidth(1);/设置边框宽度设置边框宽度表格是有一个个单元格组成的。以下为单元格的创建以及将其加入表格是有一个个单元格组成
15、的。以下为单元格的创建以及将其加入表格的方法。表格的方法。Cell c1=new Cell(Header1);t.addCell(c1);它将在表格的第它将在表格的第1行第行第1列中写入了内容列中写入了内容“Header1”。默认加入顺序是。默认加入顺序是按从左到右、从上到下的顺序。用以下方法可指定单元格的加入位置。按从左到右、从上到下的顺序。用以下方法可指定单元格的加入位置。addCell(Cell aCell,int row,int column)addCell(Cell aCell,Point aLocation)用用insertTable(Table table)方法可以将一个表格加入
16、另一个表格中,方法可以将一个表格加入另一个表格中,实现表格嵌套。实现表格嵌套。2.使用PdfPTable类生成表格创建创建PdfPTable对象只需要指定列数,不对象只需要指定列数,不用指定行数。例如:用指定行数。例如:PdfPTable table=new PdfPTable(3);/创建一个创建一个3列的表格。列的表格。(1)设定表格宽度 通常生成的表格默认以通常生成的表格默认以80%的比例显示在页面上,用的比例显示在页面上,用setWidthPercentage(float widthPercentage)方法可设置表格的按方法可设置表格的按百分比的宽度。百分比的宽度。而用而用setTo
展开阅读全文