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

在上一篇文章使用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 levelPdfContentByte cb = writer.getDirectContent();cb.fill();cb.sanityCheck();// 关闭文档document.close();}

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

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 levelPdfContentByte cb = writer.getDirectContent();cb.fill();cb.sanityCheck();// 关闭文档document.close();}

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 levelPdfContentByte cb = writer.getDirectContent();cb.fill();cb.sanityCheck();// 关闭文档document.close();}

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 listGreekList 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 levelPdfContentByte cb = writer.getDirectContent();cb.fill();cb.sanityCheck();// 关闭文档document.close();}

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 ExampleZapfDingbatsList 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 levelPdfContentByte cb = writer.getDirectContent();cb.fill();cb.sanityCheck();// 关闭文档document.close();}

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 ExamplesList 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 levelPdfContentByte cb = writer.getDirectContent();cb.fill();cb.sanityCheck();// 关闭文档document.close();}

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

itextpdf生成列表基本用法相关推荐

  1. python列表的用法

    1.什么是列表 1.列表是一种容器(用来存储数据对象) 2.列表能够存储多个数据对象 - 序列 3.列表是一个可变序列 4.列表中的数据元素们会有先后顺序 2.创建列表的方式 1.使用字面值的方式创建 ...

  2. python生成迭代的用法

    说明 python的进阶用法之一就是生成器.迭代器的用法,使用生成迭代可以极大地减少代码的行数,使得代码简明易读. 列表生成式 range(1,100,5) #第一个参数表示开始位,第二个参数表示结束 ...

  3. itextpdf 生成表格pdf+背景图片(可转图片)

    itextpdf生成表格pdf+背景图片(可转图片) 导入jar,manven引用 <dependency><groupId>com.itextpdf</groupId& ...

  4. python如何建立列表_python列表的用法

    1.什么是列表 1.列表是一种容器(用来存储数据对象) 2.列表能够存储多个数据对象 - 序列 3.列表是一个可变序列 4.列表中的数据元素们会有先后顺序 2.创建列表的方式 1.使用字面值的方式创建 ...

  5. python 只取数值_Python:你会生成列表吗?-- 列表生成式

    当有人问你:"你会用 Python 生成列表吗?" 我想你一定会说:"当然会啊,这有什么难的." 那人再问:"那你会列表生成式吗?" 你:& ...

  6. java list加入listview_Android ListView自动生成列表条目的实例

    activity_list.xml文件代码如下: xmlns:android="http://schemas.android.com/apk/res/android" androi ...

  7. linux生成文件清单,Linux 获取文件名称生成列表 txt - create_filelist

    Linux 获取文件名称生成列表 txt - create_filelist 1. find /home/strong/MOTChallenge/MOT16/MOT16/train/MOT16-04/ ...

  8. 【Java中级篇】使用itextpdf生成PDF

    我们可以发现很多求职网站都会将我们录入的信息来生成一个PDF简历文件.所以我这里提供了用itextpdf生成的PDF的代码. 一.步骤 1.1.使用Adobe Acrobat Pro工具编辑PDF模板 ...

  9. python for循环例子_Python for循环生成列表的实例

    Python for循环生成列表的实例 一般Python for语句前不加语句,但我在机器学习实战中看到了这两条语句: featList = [example[i] for example in da ...

  10. linux生成一个list文件,Linux 获取文件名称生成列表 txt - create_filelist

    Linux 获取文件名称生成列表 txt - create_filelist 1. find /home/strong/MOTChallenge/MOT16/MOT16/train/MOT16-04/ ...

最新文章

  1. Android -- Fragment注意事项
  2. 常用的深度学习的linux代码(1.实时监测GPU情况2.当前正常使用的GPU情况3.杀掉特定某个进程4.杀掉特定某个进程)
  3. altium designer布线调整时不自动删除旧线
  4. 易经读书笔记11地天泰
  5. 谷歌最新双塔DNN召回模型——应用于YouTube大规模视频推荐场景
  6. 怎样用c语言定义高幂整数,位操作运算的奇技淫巧!(附源码)
  7. [react-router] React-Router怎么获取URL的参数?
  8. utf-8、unicode区别与联系
  9. 【转】通过IRQL看NT内核
  10. CentOS操作系统版本信息查看和隐藏
  11. telnet和ping区别
  12. Dev Grid 添加行号
  13. 21_多易教育之《yiee数据运营系统》用户画像-模型标签流失预测篇兼退拒风险概率预测篇
  14. 计算机考研复试之软件工程
  15. 后台仿京东商城接口设计缺陷吐槽篇
  16. 我进滑雪场前做的功课
  17. 在VMware中安装ArchLinux
  18. 2021年茶艺师(中级)考试内容及茶艺师(中级)找解析
  19. 【C/C++】黑盒测试
  20. 正则表达式校验正数/负数

热门文章

  1. 通达信 移动平均算法_通达信擒龙攻防战法主图指标公式
  2. 华为android贡献度,从EMUI的6次里程碑事件,看华为对安卓生态的贡献
  3. SCI收录中国期刊国家一级期刊名录一览表
  4. 图像各向异性扩散(一)
  5. COMSOL有限元仿真深度指南:如何分析更为复杂的材料各向异性结构?
  6. sort(function(a,b){return a -b})函数排序问题
  7. 系统之家装机大师如何制作U盘启动盘?
  8. 卖计算机英语对话,买电脑英语情景对话
  9. ContentRoot 和 WebRoot 的区别
  10. 微信内部H5页面:处理用户修改微信字体大小造成的页面溢出问题