第四章 页眉页脚、章节、区域和绘图对象使用在第三至第五章中描述的大量简单iText对象可以避免更多的高级话题(第九至十二章),紧记这些简单对象限制的功能,大量复杂的功能在第三部分。 页眉页脚HeaderFooter对象可以于为文档每页添加页眉和页脚。这样一个页眉或页脚包含一个标准的短句(如果需要)和当前页码,如果你需要更多复杂的页眉和页脚(使用表格或者第几页共几页),请阅读第十二章。 在示例代码0401中,你可以看到我们首先添加了一个包含页码没有任何边框的页脚。 HeaderFooter footer = new HeaderFooter(new Phrase("This is page: "), true); footer.Border = Rectangle.NO_BORDER; document.Footer = footer 我们还可以使用下面的构造函数: HeaderFooter footer = new HeaderFooter(new Phrase("This is page "), new Phrase(".")); 构造函数知道你希望添加一个页码和将其放置在两个短句间,如果你只是设置一个HeaderFooter而不改变边框,页眉或页脚的文本上下各有一条直线。 HeaderFooter header = new HeaderFooter(new Phrase("This is a header without a page number"), false); document.Header = header; 章节和区域在第十一章中将描述如何构建一个树的外观,如果你只需要一个简单的章节和(子)区域,你可以用Chapter对象和Section对象自动构建一个树: Paragraph cTitle = new Paragraph("This is chapter 1", chapterFont); Chapter chapter = new Chapter(cTitle, 1); Paragraph sTitle = new Paragraph("This is section 1 in chapter 1", sectionFont); Section section = chapter.addSection(sTitle, 1); 在示例代码0402中,我们添加了一系列的章节和子区域,你可以看到完整的树形,树形结构默认打开,如果你希望部分节点关闭,你必须使用用BookmarkOpen属性其值为false,详见示例代码0403。 图形如果你想添加图形,如直线、圆、几何窗体,你应该阅读读十章,但如果你只需要一些有限的功能,你可以使用Graphic对象 Graphic grx = new Graphic(); //添加一个矩形 grx.rectangle(100, 700, 100, 100); // 添加一条斜线 grx.moveTo(100, 700); grx.lineTo(200, 800); // 将图形显示出来 grx.stroke(); document.Add(grx); 完整的代码请见示例代码0404,如果想看到全部的方法,请参见PdfContentByte对象API。 当你想给页面加一个边框或者在文本当前位置画一条水平线时,图形对象非常有用。下面的方法用指定的宽度、间距(如果需要)和颜色画一个边框。 public void setBorder(float linewidth, float extraSpace); public void setBorder(float linewidth, float extraSpace, Color color); 下面的方法用指定的宽度(如果需要)和颜色画一条水平线,线的长度是指定两边缘间可用面积的的百分比。 public void setHorizontalLine(float linewidth, float percentage) public void setHorizontalLine(float linewidth, float percentage, Color color) 示例代码5中,有一个离边界5磅,线宽3磅的边框,还有两条水平线,一条为黑色,5磅宽,可用空间的100%,另外一条为红色,线宽3磅,可用空间的80%。 |