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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 批处理命令篇--配置免安装mysql 5.6.22, 以及1067错误的一个解决方法

    批处理命令篇--配置免安装mysql 5.6.22, 以及1067错误的一个解决方法

    2021年9月2日
    56
  • PHP中include()与require()的区别说明

    PHP中include()与require()的区别说明

    2021年10月14日
    50
  • SchedulerFactoryBean初始化监听

    SchedulerFactoryBean初始化监听SchedulerFactoryBean初始化监听今天碰到一个问题,使用的是Quartz动态控制定时器的运行,功能已经完善,但是每次上线定时项目的时候,总要重启,一重启,所有定时任务自动就停止了,就会跟数据库对应的定时器状态不一致,在网上找了半天,找到了关于SchedulerFactoryBean初始化监听的东西,网上的文章大部分是SchedulerFactoryBean初始化解析,全部去研究…

    2022年5月24日
    55
  • git配置用户名和邮箱密钥_git配置全局用户名和密码

    git配置用户名和邮箱密钥_git配置全局用户名和密码一般刚安装Git都要配置用户名和密码,因为你提交代码到本地仓库(上传代码到远程仓库)时会用到,如果没有没有配置,在你提交时它会提醒你的。那么接下来我们讲一下怎么配置。

    2025年10月3日
    3
  • Loadrunner11激活成功教程详解[通俗易懂]

    Loadrunner11激活成功教程详解[通俗易懂]使用说明:要以管理员的身份运行1、正常安装完LR11后。然后双击deletelicense.exe2、然后解压替换其中的2个DLL文件拷贝到”C:\ProgramFiles\HP\LoadRunner\bin\”下替换原有文件3、进入LR,输入以上的序列号即可global-100:AEACFSJI-YASEKJJKEAHJD-BCLBRweb-10000

    2022年7月22日
    52
  • phpMyAdmin安装教程

    phpMyAdmin安装教程phpmyadmin是一款mysql数据库管理工具,是由php编写的,可以通过互联网控制和操作mysql,通过phpmyadmin可以完全对数据库进行操作,例如建立、复制/删除数据等等。可以管理整个MySQL服务器(需要超级用户),也可以管理单个数据库,为了实现后一种,你将需要合理设置MySQL用户,他只能对允许的数据库进行读/写,那要等到你看过MySQL手册中相关的部分。

    2022年6月1日
    30

发表回复

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

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