itextpdf生成列表基本用法

itextpdf生成列表基本用法随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)、博主微信(guyun297890152)、QQ技术交流群(183198395)。在上一篇文章使用itextpdf生成表格基本用法中,介绍了生成表格的基本步骤和一些常用设置,同样的,在某些需求下,我们需要在pdf中展示列表,体现条理性,itextpdf同样支持,这个开源库支持很多种列表风格来满足…

大家好,又见面了,我是你们的朋友全栈君。

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

itextpdf生成列表基本用法

在上一篇文章使用itextpdf生成表格基本用法中,介绍了生成表格的基本步骤和一些常用设置,同样的,在某些需求下,我们需要在pdf中展示列表,体现条理性,itextpdf同样支持,这个开源库支持很多种列表风格来满足大家需求,由于列表的每项风格基本一致,所以使用起来也非常简单,这里介绍几个常用的

1、有序列表

	/**
	 * 添加有序列表
	 * 
	 * @throws IOException
	 * @throws DocumentException
	 */
	public static void createOrderedListPdf() throws IOException, DocumentException {
		Document document = new Document();
		// 创建PdfWriter对象
		PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(DEST));
		// 打开文档
		document.open();
		// 添加有序列表
		List orderedList = new List(List.ORDERED);
		orderedList.add(new ListItem("Item 1"));
		orderedList.add(new ListItem("Item 2"));
		orderedList.add(new ListItem("Item 3"));
		document.add(orderedList);
		// low level
		PdfContentByte cb = writer.getDirectContent();
		cb.fill();
		cb.sanityCheck();
		// 关闭文档
		document.close();
	}

这个List是itext包下面的,表示一个列表,不是java常用的那个List,代码非常简单,就不作多的解释了,附上效果图:

itextpdf生成列表基本用法

2、无序列表

	/**
	 * 添加无序列表
	 * 
	 * @throws IOException
	 * @throws DocumentException
	 */
	public static void createUnorderedListPdf() throws IOException, DocumentException {
		Document document = new Document();
		// 创建PdfWriter对象
		PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(DEST));
		// 打开文档
		document.open();
		// 添加无序列表
		List unorderedList = new List(List.UNORDERED);
		unorderedList.add(new ListItem("Item 1"));
		unorderedList.add(new ListItem("Item 2"));
		unorderedList.add(new ListItem("Item 3"));
		document.add(unorderedList);
		// low level
		PdfContentByte cb = writer.getDirectContent();
		cb.fill();
		cb.sanityCheck();
		// 关闭文档
		document.close();
	}

 itextpdf生成列表基本用法

3、罗马数字列表(RomanList)

	/**
	 * 添加罗马数字列表
	 * 
	 * @throws IOException
	 * @throws DocumentException
	 */
	public static void createRomanListPdf() throws IOException, DocumentException {
		Document document = new Document();
		// 创建PdfWriter对象
		PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(DEST));
		// 打开文档
		document.open();
		// 添加roman列表
		RomanList romanList = new RomanList();
		romanList.add(new ListItem("Item 1"));
		romanList.add(new ListItem("Item 2"));
		romanList.add(new ListItem("Item 3"));
		document.add(romanList);
		// low level
		PdfContentByte cb = writer.getDirectContent();
		cb.fill();
		cb.sanityCheck();
		// 关闭文档
		document.close();
	}

itextpdf生成列表基本用法

4、希腊字母列表(GreekList) 

	/**
	 * 添加希腊字母列表
	 * 
	 * @throws IOException
	 * @throws DocumentException
	 */
	public static void createGreekListPdf() throws IOException, DocumentException {
		Document document = new Document();
		// 创建PdfWriter对象
		PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(DEST));
		// 打开文档
		document.open();
		// Add Greek list
		GreekList greekList = new GreekList();
		greekList.add(new ListItem("Item 1"));
		greekList.add(new ListItem("Item 2"));
		greekList.add(new ListItem("Item 3"));
		document.add(greekList);
		// low level
		PdfContentByte cb = writer.getDirectContent();
		cb.fill();
		cb.sanityCheck();
		// 关闭文档
		document.close();
	}

itextpdf生成列表基本用法

5、ZapfDingbats列表

	/**
	 * 创建ZapfDingbats列表
	 * 
	 * @throws IOException
	 * @throws DocumentException
	 */
	public static void createZapfDingbatsListPdf() throws IOException, DocumentException {
		Document document = new Document();
		// 创建PdfWriter对象
		PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(DEST));
		// 打开文档
		document.open();
		// ZapfDingbatsList List Example
		ZapfDingbatsList zapfDingbatsList = new ZapfDingbatsList(43, 30);
		zapfDingbatsList.add(new ListItem("Item 1"));
		zapfDingbatsList.add(new ListItem("Item 2"));
		zapfDingbatsList.add(new ListItem("Item 3"));
		document.add(zapfDingbatsList);
		// low level
		PdfContentByte cb = writer.getDirectContent();
		cb.fill();
		cb.sanityCheck();
		// 关闭文档
		document.close();
	}

 itextpdf生成列表基本用法

6、列表嵌套

	/**
	 * 创建嵌套列表
	 * 
	 * @throws IOException
	 * @throws DocumentException
	 */
	public static void createNestedListPdf() throws IOException, DocumentException {
		Document document = new Document();
		// 创建PdfWriter对象
		PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(DEST));
		// 打开文档
		document.open();
		// List and Sublist Examples
		List nestedList = new List(List.UNORDERED);
		nestedList.add(new ListItem("Item 1"));
		// 子列表
		List sublist = new List(true, false, 30);
		sublist.setListSymbol(new Chunk("", FontFactory.getFont(FontFactory.HELVETICA, 6)));
		sublist.add("A");
		sublist.add("B");
		nestedList.add(sublist);
		nestedList.add(new ListItem("Item 2"));
		// 子列表
		sublist = new List(true, false, 30);
		sublist.setListSymbol(new Chunk("", FontFactory.getFont(FontFactory.HELVETICA, 6)));
		sublist.add("C");
		sublist.add("D");
		nestedList.add(sublist);
		document.add(nestedList);
		// low level
		PdfContentByte cb = writer.getDirectContent();
		cb.fill();
		cb.sanityCheck();
		// 关闭文档
		document.close();
	}

 itextpdf生成列表基本用法

上面列举的都是比较常用的列表,在一般项目已经够使用了 ,更多扩展功能请参考itextpdf官网API。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151181.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号