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。

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

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

(0)
上一篇 2022年6月22日 下午1:16
下一篇 2022年6月22日 下午1:16


相关推荐

  • 【机器学习详解】SMO算法剖析「建议收藏」

    【机器学习详解】SMO算法剖析「建议收藏」本文力求简化SMO的算法思想,毕竟自己理解有限,无奈还是要拿一堆公式推来推去,但是静下心看完本篇并随手推导,你会迎刃而解的。推荐参看SMO原文中的伪代码。**1.SMO概念**===========上一篇博客已经详细介绍了[SVM原理](http://blog.csdn.net/luoshixian099/article/details/51073885),为了方便求解,把原始最优化问题转化成了其对偶问题,因

    2022年6月16日
    35
  • 中台之上(一):重视业务架构,不要让“业务的归业务、技术的归技术”

    中台之上(一):重视业务架构,不要让“业务的归业务、技术的归技术”

    2021年6月30日
    98
  • 服务器维护中 verycd,强大的VeryCD服务器终于挂了…

    服务器维护中 verycd,强大的VeryCD服务器终于挂了…VeryCD.com是我喜欢的少数几个资源站点之一,也是一个浏览量非常大的网站。无法想象每个网友在上面Download自己喜爱的资源的时候VeryCD的那一排排主机承受着多大的压力与负载。VeryCD.com的首页设置的很有个性。每次你访问的时候都会在标题栏跟上一句富有哲理与人生韵味的格言或警句。所以有时候闷了,就闲来无事去刷它的主页。但是,今天下午一点钟左右试图登录VeryCD的时候发现开网页的…

    2022年8月10日
    6
  • 在Ubuntu下编译Assimp库

    在Ubuntu下编译Assimp库

    2022年1月25日
    41
  • MODBUS协议详解

    MODBUS协议详解MODBUS 协议详解一 了解 MODBUSMODBUS 是 OSI 模型第 7 层上的应用层报文传输协议 它在连接至不同类型总线或网络的设备之间提供客户机 服务器通信 它主要用于工业自动化设备通信 MODBUS 可以在基于串行链路和以太 TCP IP 网络的 MODBUS 上可以进行通信 也就是说 可以使用串口线或者网线链接两端设备 双方约定使用 modbus 协议去通信 二 了解 MODBUS 协议前面我们说了 MODBUS 有两种实现方式 一个是串口 一个是网口 后面称呼为 TCP 那么 MODBUS 协议对应

    2025年12月10日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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