zoukankan      html  css  js  c++  java
  • 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 = "行政部
    开发部
    销售部
    后勤处
    保卫处";
            String formatted2 = "饮料
    调味品
    糖果
    奶制品
    肉类
    蔬菜
    海鲜";
            //画无序列表
            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();
        }
    }

    列表设置效果:

     

    (本文完)

  • 相关阅读:
    flask和tornado的区别
    tornado1
    人脸识别
    ocr:img转成pdf,pdf转成pdf
    flask2
    《个人-GIT使用方法》
    课后作业-阅读任务-阅读笔记
    课后作业-阅读任务-阅读提问
    结对-四则运算生成器-设计文档
    团队-手机备忘录-开发环境搭建过程
  • 原文地址:https://www.cnblogs.com/Yesi/p/10509033.html
Copyright © 2011-2022 走看看