Java设置PDF有序和无序列表的知识点总结

所属分类: 软件编程 / java 阅读数: 25
收藏 0 赞 0 分享

文档中的设置有序或无序列表是一种反应内容上下级关系或者内容相同属性的方式,与单纯的文字叙述相比,它能有效增强文档内容的条理性,突出重点。因此,本文将分享通过Java编程在PDF文档中设置有序或无序列表的方法。

使用工具:Free Spire.PDF for Java V2.2.2(免费版)

Jar文件导入:

Step1:在Java程序中新建一个文件夹可命名为Lib。并将下载包中的jar文件(如下图)复制到新建的文件夹下。

Step2:复制文件后,添加到引用类库:选中这个jar文件,点击鼠标右键,选择“Build Path” – “Add to Build Path”。完成引用。

Java代码示例(供参考)

import com.spire.pdf.*;

import com.spire.pdf.graphics.*;

import com.spire.pdf.lists.*;

import java.awt.*;

import java.awt.geom.*;

 

public class list {

  public static void main(String[] args) {

  //创建PDFDocument对象

  PdfDocument doc = new PdfDocument();

 

  //设置边距

  PdfUnitConvertor unitCvtr = new PdfUnitConvertor();

  PdfMargins margin = new PdfMargins();

  margin.setTop(unitCvtr.convertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point));

  margin.setBottom(margin.getTop());

  margin.setLeft(unitCvtr.convertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point));

  margin.setRight(margin.getLeft());

 

  //添加新的一页

  PdfPageBase page = doc.getPages().add(PdfPageSize.A4, margin);

   //绘制标题

  float y = 10;

  PdfBrush brush1 = PdfBrushes.getBlack();

  PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.BOLD, 16), true);

  PdfStringFormat format1 = new PdfStringFormat(PdfTextAlignment.Center);

  page.getCanvas().drawString("部门活动采购清单", font1, brush1,  page.getCanvas().getClientSize().getWidth() / 2, y, format1);

  y = y + (float) font1.measureString("活动采购清单", format1).getHeight();

  y = y + 5;

  //设置列表格式和列表文字

  Rectangle2D rctg = new Rectangle2D.Float();

  rctg.setFrame(new Point(0, 0), page.getCanvas().getClientSize());

  PdfLinearGradientBrush brush = new PdfLinearGradientBrush(rctg, new PdfRGBColor(new PdfRGBColor(new Color(0,0,128))), new PdfRGBColor(new Color(255,69,0)), PdfLinearGradientMode.Vertical);

  PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.BOLD, 12), true);

  String formatted1 = "行政部\n开发部\n销售部\n后勤处\n保卫处";

  String formatted2 = "饮料\n调味品\n糖果\n奶制品\n肉类\n蔬菜\n海鲜";

  //画无序列表

  PdfListBase list = new PdfUnorderedList(formatted2);

  list.setFont(font);

  list.setIndent(8);

  list.setTextIndent(5);

  list.setBrush(brush);

  PdfLayoutResult result = list.draw(page, 0, y);

  y = (float) (result.getBounds().getHeight()+result.getBounds().getY());

  //画有序列表

  PdfSortedList sortedList = new PdfSortedList(formatted1);

  sortedList.setFont(font);

  sortedList.setIndent(8);

  sortedList.setTextIndent(5);

  sortedList.setBrush(brush);

  sortedList.draw(page, 0, y);

 

  //保存文档 

  doc.saveToFile("list.pdf");

  doc.close();

 }

}

列表设置效果:

更多精彩内容其他人还在看

SpringBoot环境搭建及第一个程序运行(小白教程)

这篇文章主要介绍了SpringBoot环境搭建及第一个程序运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

过滤器 和 拦截器的 6个区别(别再傻傻分不清了)

这篇文章主要介绍了过滤器 和 拦截器的 6个区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

SpringBoot整合SpringTask实现定时任务的流程

这篇文章主要介绍了SpringBoot整合SpringTask实现定时任务的流程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vscode快速引入第三方jar包发QQ邮件

这篇文章主要介绍了vscode快速引入第三方jar包发QQ邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Java Enum和String及int的相互转化示例

这篇文章主要介绍了Java Enum和String及int的相互转化示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring boot如何快速的配置多个Redis数据源

这篇文章主要介绍了Spring boot如何快速的配置多个Redis数据源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

JAVA 对接腾讯云直播的实现

这篇文章主要介绍了JAVA 对接腾讯云直播的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

JavaSE static final及abstract修饰符实例解析

这篇文章主要介绍了JavaSE static final及abstract修饰符实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

SpringBoot定时任务参数运行代码实例解析

这篇文章主要介绍了SpringBoot定时任务运行代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring Boot调用 Shell 脚本实现看门狗功能

这篇文章主要介绍了Spring Boot调用 Shell 脚本实现看门狗功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多