一、有序列表与无序列表
我们会用到List类和一系列的ListItem类。在UML图中可以得知ListItem是继承与Paragraph类的,
主要的区别在于ListItem类有格外的一个Chunk变量,此变量代表的就是列表符号。
有序列表的列表符号可以是数字或者字母(默认为数字),字母可以为大写和小写(默认为大写)。无序列表的列表符号为连接符"-"。
每个有序列表的列表符号后都有一个period(.)符号,不过iText中也可以通过PreSymbol和PostSymbol来设置。
上面是常用到的列表形似,下面将介绍其他类型的类表
1、RomanList:罗马符号列表;
2、GreekList:希腊符号列表;
3、ZapfDingbatsNumberList:在列表选项超过10的时候就不能正确的显示,不建议使用;
4、往文档中添加内容是有时候需要添加一些比较特殊的东东。
比如你可以希望在页面的当前位置添加一个标记(如一个箭头),
又或者希望从页面的左边距划一条线到页面的右边距。
这些东西可以通过使用IDrawInterface来实现。
public class Five {
public static void main(String[] args)throws Exception {
Document doc = new Document();
PdfWriter.getInstance(doc, new FileOutputStream("d:\\five.pdf"));
doc.open();
//默认有序,缩进20的list(缩进指的是编号或者点与内容之间的距离)排序
List list = new List(true,20);
list.add(new ListItem("first item"));
list.add(new ListItem("second item"));
list.add(new ListItem("three item"));
doc.add(list);
//默认无序
List list2 = new List(false,20);
list2.add(new ListItem("first item"));
list2.add(new ListItem("second item"));
list2.add(new ListItem("three item"));
doc.add(list2);
//罗马符号列表
RomanList list3 = new RomanList(true,20);
list3.add(new ListItem("first item"));
list3.add(new ListItem("second item"));
list3.add(new ListItem("three item"));
doc.add(list3);
//希腊符号列表
GreekList list4 = new GreekList(true,20);
list4.add(new ListItem("first item"));
list4.add(new ListItem("second item"));
list4.add(new ListItem("three item"));
doc.add(list4);
//自定义:水平标记符号 通过继承VerticalPositionMark类来实现此功能。
Paragraph p = new Paragraph("THIS IS A FIRST PARAGRAPH");
p.add(PositionedArrow.LEFT);
Paragraph p2 = new Paragraph("THIS IS A second PARAGRAPH");
p2.add(PositionedArrow.LEFT);
doc.add(p);
doc.add(p2);
//自定义:线分隔符LineSeparator
LineSeparator line = new LineSeparator(1, 100, null, Element.ALIGN_CENTER, -2);
Paragraph stars = new Paragraph(20);
stars.add("fskfjsdklfjsdklfjsdklfjsdl");
stars.add(line);
Paragraph stars2 = new Paragraph(20);
stars2.add("fskfjsdklfjsdklfjsdklfjsdl");
doc.add(stars);
doc.add(stars2);
doc.close();
}
}