iText学习(五)

一、有序列表与无序列表

         我们会用到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();
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值