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

 更新时间:2019年03月12日 08:31:06   投稿:laozhang  
在本篇文章中小编给大家整理了关于Java设置PDF有序和无序列表的知识点,需要的朋友们参考下。

文档中的设置有序或无序列表是一种反应内容上下级关系或者内容相同属性的方式,与单纯的文字叙述相比,它能有效增强文档内容的条理性,突出重点。因此,本文将分享通过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();

 }

}

列表设置效果:

相关文章

  • java生成图片验证码的示例代码

    java生成图片验证码的示例代码

    这篇文章主要介绍了java生成图片验证码的示例代码,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-09-09
  • Spring Boot之内嵌tomcat版本升级操作示例

    Spring Boot之内嵌tomcat版本升级操作示例

    这篇文章主要为大家介绍了Spring Boot之内嵌tomcat版本升级操作示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Spring Cloud Zuul的重试配置详解

    Spring Cloud Zuul的重试配置详解

    这篇文章主要介绍了Spring Cloud Zuul的重试配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 使用 Spring Boot Admin 监控应用状态的详细过程

    使用 Spring Boot Admin 监控应用状态的详细过程

    这篇文章主要介绍了使用 Spring Boot Admin 监控应用状态,该模块采集应用的内部信息,并暴露给外部的模块,支持 HTTP 和 JMX,并可以与一些第三方监控系统(如 Prometheus)整合,需要的朋友可以参考下
    2022-09-09
  • java实现液晶数字字体显示当前时间

    java实现液晶数字字体显示当前时间

    这篇文章主要为大家详细介绍了java实现液晶数字字体显示当前时间,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • Java利用MD5加盐实现对密码进行加密处理

    Java利用MD5加盐实现对密码进行加密处理

    在开发的时候,有一些敏感信息是不能直接通过明白直接保存到数据库的。最经典的就是密码了。如果直接把密码以明文的形式入库,不仅会泄露用户的隐私,对系统也是极其的不厉。本文就来和大家介绍一下如何对密码进行加密处理,感兴趣的可以了解一下
    2023-02-02
  • 解读nacos获取配置文件的大致过程

    解读nacos获取配置文件的大致过程

    这篇文章主要介绍了nacos获取配置文件的大致过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java线程的生命周期和状态控制_动力节点Java学院整理

    Java线程的生命周期和状态控制_动力节点Java学院整理

    这篇文章主要介绍了Java线程的生命周期和状态控制,需要的朋友可以参考下
    2017-05-05
  • SpringMVC xml文件路径在web.xml中的配置方式

    SpringMVC xml文件路径在web.xml中的配置方式

    这篇文章主要介绍了SpringMVC xml文件路径在web.xml中的配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Mybatis使用Collection属性的示例代码

    Mybatis使用Collection属性的示例代码

    本文主要介绍了Mybatis使用Collection属性的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07

最新评论