• 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();
        }
    }

    列表设置效果:

     

    (本文完)

  • 相关阅读:
    python常用函数年初大总结
    Linux系统巡检常用命令
    码率
    视频码率计算问题
    Python快速教程
    MFC消息机制
    MySQL多表查询
    VoIP的话音质量测量方法
    用Py2exe打包Python脚本简单介绍
    在Eclipse中执行Andorid test preject提示The connection to adb is down, and a severe error has occured.解决方法
  • 原文地址:https://www.cnblogs.com/Yesi/p/10509033.html
Copyright © 2020-2023  润新知