首页 > 其他分享 >PDF操作

PDF操作

时间:2024-09-13 09:14:23浏览次数:1  
标签:PdfWords text float width words new PDF 操作

//根据坐标位置写入操作

    public static void main(String[] args) throws Exception {
        String input = "pdf";//放入pdf文件
        PdfReader pr = new PdfReader(input);//创建pdf读取
        PdfDocument pd = new PdfDocument(pr, new PdfWriter("pdf"));//创建另存为pdf
        Document document = new Document(pd);
        List<PdfWords> words = new ArrayList<>();
        words.add(new PdfWords(40l, 450l, "123555555555555555555555555555555555"));
        words.add(new PdfWords(50l, 436l, "fffmmmmmmmmmmmmmmmmmmm"));
        words.add(new PdfWords(30l, 420l, "√"));
        addLocationWords(document, words, 1);
        document.close();
        pr.close();
        pd.close();
    }

    //在对应位置写入文字
    public static void addLocationWords(Document document, List<PdfWords> words, int pageNum) throws IOException {
        PdfFont font = PdfFontFactory.createFont("Font/simhei.ttf", PdfEncodings.IDENTITY_H);
        for (PdfWords word : words) {
            Text text = new Text(word.getText());
            document.add(new Paragraph(text).setFixedPosition(pageNum, word.getX(), word.getY(), word.getWidth()).setFont(font).setFontSize(word.getFontSize()));
        }
    }

//创建字实体类
package com.ruoyi.icfms.domain.vo;
import lombok.Data;
@Data
public class PdfWords {
    private String text;  // 文本
    private float x; //x 坐标
    private float y; //y 坐标
    private float width; //宽
    private float fontSize; //字号

    public PdfWords(float x, float y, String text) {
        this.text = text;
        this.x = x;
        this.y = y;
        this.width = 100;
        this.fontSize = 11;
    }
    public PdfWords(float x, float y, String text, float width) {
        this.text = text;
        this.x = x;
        this.y = y;
        this.width = width;
        this.fontSize = 11;
    }
    public PdfWords(float x, float y, String text, float width, float fontSize) {
        this.text = text;
        this.x = x;
        this.y = y;
        this.width = width;
        this.fontSize = fontSize;
    }
}

标签:PdfWords,text,float,width,words,new,PDF,操作
From: https://www.cnblogs.com/IxXi1120/p/18411565

相关文章

  • Python文件操作:上下文管理器(with语句)②
    文章目录1.上下文管理器概述1.1什么是上下文管理器?1.2为什么使用上下文管理器?1.3`with`语句的基本语法2.文件操作中的上下文管理器2.1使用`with`语句打开文件2.2读取文件2.2.1读取整个文件内容2.2.2逐行读取文件2.3写入文件2.3.1覆盖写入2.3.2追加写入3......
  • 【操作系统】进程的内存映像
    进程的内存映像,也就是说一个进程在运行的时候它在内存里边是什么样子,为了方便大家理解我们结合这个C语言程序来解释,                                                 ......
  • 操作系统实验——存储器的分配与回收算法实现
    1.实验内容:Exercise1:本实验是模拟操作系统的主存分配,运用可变分区的存储管理算法设计主存分配和回收程序,并不实际启动装入作业。Exercise2:采用最先适应法、最佳适应法、最坏适应法分配主存空间。Exercise3:当一个新作业要求装入主存时,必须查空闲区表,从中找出一个......
  • 详细步骤!分享6款AI论文写作助手自动生成器实例操作!
    在当今学术研究和写作领域,AI论文生成工具的出现极大地提高了写作效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿,还能进行内容优化、查重和排版等操作。以下是6款推荐的AI论文写作助手自动生成器实例操作,特别推荐千笔-AIPassPaper。千笔-AIPassPaper千笔-AIPassPa......
  • [操作系统]用户态内核态
    用户态内核态用户态线程和内核态线程有什么区别?这是一个组合型的问题,由很多小问题组装而成,比如:用户态和内核态是什么?用户级线程和内核级线程是一个怎样的对应关系?内核响应系统调用是一个怎样的过程?什么是用户态和内核态Kernel运行在超级权限模式(SupervisorMode)下,所以拥......
  • Mysql--操作
    目录数据类型数据类型的属性1、整型2、浮点型(float和double)3、定点数(numeric等价于decimal)4、字符串(char,varchar,_text)5.二进制数据(xxxBLOB和xxxBINARY了解就行)6.日期时间类型7.位类型(bit)8.枚举(enum)9.集合(set)10.特殊的NULL类型基本操作DDL数据库管理create创建数据库sh......
  • [NOIP 2024 模拟2]数组操作
    [NOIP2024模拟2]数组操作题意有\(n+2\)个整数\(a_0,a_1,...,a_n,a_{n+1}\),\(a_0=a_{n+1}=0\)。你需要做确切地\(n\)次操作,每次数组操作为以下形式:选择一个整数\(x\)满足\(a_x\ne0\),使得\(a_x=0\),令\(l=\max_{i<x,a_i=0}i,r=\min_{i>x,a_i=0}i\)......
  • pdf删除一页怎么删除?5种方法详细讲解,pdf删除页面实用技巧分享!
    pdf删除一页怎么删除?从pdf文档中删除某页是一项非常实用的技术,特别是在需要编辑pdf文件时。在某些情况下,您可能需要删除页面以保护机密信息、去除不必要的内容,或者为了压缩pdf文件的大小。因此,掌握有效且简单的删除页面的方法非常重要。本指南将为您提供五种实用的方式,并附上详......
  • Java将Word文档转换为PDF文件常用方法总结
    1.使用ApachePOI+iTextApachePOI是一个流行的Java库,用于处理MicrosoftOffice文档。可以使用它来读取Word文档,而iText可以用来生成PDF文件。组合这两个库可以实现Word到PDF的转换。示例代码importorg.apache.poi.xwpf.usermodel.XWPFDocument;importorg.apach......
  • MySQL——数据库的高级操作(二)用户管理(2)创建普通用户
            在创建新用户之前,可以通过SELECT语句查看mysql.user表中有哪些用户,查询结果如下:mysql>USEmysql;Databasechangedmysql>SELECTHost,User,authentication_stringFROMmysql.user;+-----------+------------------+-----------------------------......