温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中如何设置PDF有序和无序列表

发布时间:2021-06-28 15:08:24 来源:亿速云 阅读:165 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关Java中如何设置PDF有序和无序列表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

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

Jar文件导入:

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

Java中如何设置PDF有序和无序列表

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

Java中如何设置PDF有序和无序列表

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 brush2 = 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, brush2,  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中如何设置PDF有序和无序列表

关于“Java中如何设置PDF有序和无序列表”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI