第三章 锚点、列表和注释锚点我们都知道HTML中的超文本链接,当我们点击某些语句,你能够跳转到网上的其他页。在PDF中也可以实现这种功能。事实上,在第十一章整个章节中有关于PDF链接的介绍,但这是iText的更高级的应用,本章中我们处理简单的iText。 如果你想在文档中添加一个外部链接(例如使用URL链接到WEB上的其他文档),你可以简单地使用Anchor对象,它派生于Phrase对象,使用方法相同。只有两种额外方法定义两种额外变量:setName和 setReference。 外部链接示例: Anchor anchor = new Anchor("website", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.UNDERLINE, new Color(0, 0, 255))); anchor.Reference = "http://itextsharp.sourceforge.net"; anchor.Name = "website"; 如果你想添加内部链接,你需要选择该链接不同的名称,就象你相位在HTML中利用名称作为锚点一样。为达到该目的,你需要添加一个“#”。 内部链接示例: Anchor anchor1 = new Anchor("This is an internal link"); anchor1.Name = "link1"; Anchor anchor2 = new Anchor("Click here to jump to the internal link"); anchor.Reference = "#link1"; 这两个链接的例子请见示例代码0301。 列表通过类List 和ListItem,你可以添加列表到PDF文件中,对于列表你还可以选择是否排序。 排序列表示例: List list = new List(true, 20); list.Add(new ListItem("First line")); list.Add(new ListItem("The second line is longer to see what happens once the end of the line is reached. Will it start on a new line?")); list.Add(new ListItem("Third line")); 结果如下:
不排序示例如下: List overview = new List(false, 10); overview.Add(new ListItem("This is an item")); overview.Add("This is another item"); 结果如下:
你可以通过setListSymbol方法更改列表符号: // 用字符串作为列表符号 list1.ListSymbol = "*"; // 用Chunk 作为列表符号(包含“•”字符) list2.ListSymbol = new Chunk("\u2022", FontFactory.getFont(FontFactory.HELVETICA, 20)); //用图片作为列表符号 list3.ListSymbol = new Chunk(Image.getInstance("myBullet.gif"), 0, 0); 还可以使用setIndentationLeft和setIndentationRight方法设置缩排,列表符号的缩排在构造函数中设置。更多的例子请参见示例代码0302。 |