返回顶部
首页 > 资讯 > 精选 >java中怎么用pdfbox+poi往pdf插入数据
  • 182
分享到

java中怎么用pdfbox+poi往pdf插入数据

2023-06-29 07:06:12 182人浏览 八月长安
摘要

今天小编给大家分享一下java中怎么用pdfbox+poi往pdf插入数据的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。指定

今天小编给大家分享一下java中怎么用pdfbox+poi往pdf插入数据的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    指定页码插入/替换

    pdfbox好像没有专门提供这个方法,但是现有的方法多重组合起来也能实现这个功能,

    需求:一个pdf文件A有10页,现在想在第6页插入一页新的pdf文件B,插入完成后整个pdf文件A变成11页。

    思路1(插入):

    先将这个10的pdf拆分成10个1页的pdf,按顺序放好,文件名分别是:1.pdf、2.pdf....10.pdf。再拆分到第6页的时候将文件B放进来,重命名问6.pdf,原本pdf文件A里面的第6页重命名为7.pdf,依次后推,最后的得到的1.pdf----->11.pdf一共11个文件

    然后使合并功能将这个11个pdf按顺序合并。

    思路2(替换):

    在插入的基础上,拆分的时候将pdf文件A里面的第6个页丢弃,使用新的页面来代替它命名6.pdf,然后合并就完事了。

    1.pom<!--pdfbox--><dependency>    <groupId>org.apache.pdfbox</groupId>    <artifactId>pdfbox-tools</artifactId>    <version>2.0.25</version></dependency><dependency>    <groupId>net.sf.CSSbox</groupId>    <artifactId>pdf2dom</artifactId>    <version>2.0.1</version></dependency><!--poi--><dependency>    <groupId>com.itextpdf</groupId>    <artifactId>itextpdf</artifactId>    <version>5.5.10</version></dependency><dependency>    <groupId>com.itextpdf.tool</groupId>    <artifactId>xmlworker</artifactId>    <version>5.5.10</version></dependency><dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi-ooxml</artifactId>    <version>3.15</version></dependency><dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi-scratchpad</artifactId>    <version>3.15</version></dependency>2.实现方法public void insertPage(String filename1,String filename2,int number,String newfilename,String tempPath) throws Exception {    PDDocument pdf1 = PDDocument.load(new File(filename1));    PDDocument pdf2 = PDDocument.load(new File(filename2));    //1、将第一个pdf按页码全部拆开    Splitter splitter = new Splitter();    List<PDDocument> Pages = splitter.split(pdf1);    Iterator<PDDocument> iterator = Pages.listIterator();    PDFMergerUtility PDFmerger = new PDFMergerUtility();    int i = 1;    while(iterator.hasNext()) {        if(i==number){            System.out.println("当前插入页码:"+number);            pdf2.save(tempPath+"/"+ i +".pdf");            i++;        }        PDDocument pd = iterator.next();        String tempFile = tempPath+"/"+ i +".pdf";        System.out.println("开始拆分:"+tempFile);        pd.save(tempFile);        i++;    }    //2、开始重组    PDFmerger.setDestinationFileName(newfilename);    //上面的i最后多加了一次,这里不取等    for(int j=1;j<i;j++){        String tempFile = tempPath+"/"+ j +".pdf";        System.out.println("开始合并:"+tempFile);        PDFmerger.addSource(tempFile);    }    //合并文档    PDFmerger.mergeDocuments();    System.out.println("文档合并完成");    pdf1.close();    pdf2.close();}3.测试//from fhadmin.cn@Testvoid insertPage() throws Exception {    PdfUtils pdfUtils = new PdfUtils();    String filename1 = "F:\\Users\\admin\\Desktop\\A.pdf";    String filename2 = "F:\\Users\\admin\\Desktop\\B.pdf";    String newfilename = "F:\\Users\\admin\\Desktop\\newA.pdf";    String tempPath = "F:\\Users\\admin\\Desktop\\temp";    int insertNum = 32;    pdfUtils.insertPage(filename1,filename2,insertNum,newfilename,tempPath);}

    以上就是“java中怎么用pdfbox+poi往pdf插入数据”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

    --结束END--

    本文标题: java中怎么用pdfbox+poi往pdf插入数据

    本文链接: https://lsjlt.com/news/323234.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • java中怎么用pdfbox+poi往pdf插入数据
      今天小编给大家分享一下java中怎么用pdfbox+poi往pdf插入数据的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。指定...
      99+
      2023-06-29
    • java利用pdfbox+poi往pdf插入数据
      目录指定页码插入/替换思路1(插入):思路2(替换):啰嗦几句总结指定页码插入/替换 pdfbox好像没有专门提供这个方法,但是现有的方法多重组合起来也能实现这个功能, 需求:一个p...
      99+
      2024-04-02
    • 如何使用Java代码往MongoDB里插入数据
      本篇文章给大家分享的是有关如何使用Java代码往MongoDB里插入数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前两篇教程我们介绍了如何...
      99+
      2024-04-02
    • Java 使用 itext 向PDF插入数据和图片
      Java 使用 itext 向PDF插入数据和图片 一、下载Adobe Acrobat DC 二、制作模板 1、准备一个word模板,并转换成PDF格式 2、使用Adobe Acrobat DC打...
      99+
      2023-09-03
      java pdf
    • 使用python怎么往Postgresql数据库中插入一个Null值
      使用python怎么往Postgresql数据库中插入一个Null值?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python是什么意思Python是一种跨平台...
      99+
      2023-06-07
    • java怎么往文件中追加写入数据
      在Java中,可以使用FileWriter类来往文件中追加写入数据。下面是一个示例:```javaimport java.io.Fi...
      99+
      2023-10-07
      java
    • 怎么往navicat表里插数据
      如何使用 navicat 向表中插入数据?连接到数据库并打开目标表;进入数据编辑模式;单击“插入”按钮添加新行;输入数据,确保必填字段完整;检查数据准确性;单击“保存”提交更改。 如何...
      99+
      2024-04-06
      navicat
    • 在python中使用pymysql往mysql数据库中插入(insert)数据实例
      咱还是直接看代码吧! from pymysql import * def main(): # 创建connection连接 conn = connect(host='', port=3306, dat...
      99+
      2022-05-16
      python pymysql mysql insert数据
    • python3实现往mysql中插入datetime类型的数据
      昨天在这个上面找了好久的错,嘤嘤嘤~ 很多时候我们在爬取数据存储的时候都需要将当前时间作为一个依据,在python里面没有时间类型可以直接拿来就用的。我们只需要在存储之前将时间类型稍作修饰就行。 datetime....
      99+
      2022-05-22
      python3 mysql datetime类型 数据
    • 怎么往navicat表里插数据代码
      navicat 通过以下代码方式插入表中数据:insert 语句:插入特定值(例:insert into customers (name, email, phone) values ('...
      99+
      2024-04-23
      navicat
    • java怎么往kafka写数据
      在Java中,你可以使用Kafka提供的Producer API来向Kafka写入数据。以下是一个简单的示例代码:```javaim...
      99+
      2023-09-14
      kafka java
    • 数据库中怎么插入数据
      这篇文章主要介绍“数据库中怎么插入数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“数据库中怎么插入数据”文章能帮助大家解决问题。插入数据插入数据使用 "INSERT INTO&...
      99+
      2023-06-08
    • InnoDB中怎么插入数据
      本篇文章给大家分享的是有关InnoDB中怎么插入数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。表空间/Tablespace假如,我想成为一...
      99+
      2024-04-02
    • MongoDB中怎么插入数据
      本篇文章为大家展示了MongoDB中怎么插入数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、db.collection.insertOne() :插入一个指定...
      99+
      2024-04-02
    • Linq中怎么插入数据
      本篇文章为大家展示了Linq中怎么插入数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。要插入数据的表结构是:create table RSSFeedRight &nb...
      99+
      2023-06-17
    • Java怎么实现pdf和Excel的生成及数据动态插入、导出
      本篇内容介绍了“Java怎么实现pdf和Excel的生成及数据动态插入、导出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读...
      99+
      2024-04-02
    • Java怎么实现pdf和Excel的生成及数据动态插入与导出
      这篇文章主要介绍“Java怎么实现pdf和Excel的生成及数据动态插入与导出”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java怎么实现pdf和Excel的生成及数据动态插入与导出”文章能帮助大...
      99+
      2023-06-27
    • 使用java怎么向mysql数据库批量插入数据
      今天就跟大家聊聊有关使用java怎么向mysql数据库批量插入数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. An...
      99+
      2023-06-14
    • java中pdfbox处理pdf常用方法(读取、写入、合并、拆分、写文字、写图片)
      本篇文档将介绍pdfbox处理pdf常用方法(读取、写入、合并、拆分、写文字、写图片)。 图中为pdfbox用到的包 1.读取pdf 方法代码: public static ...
      99+
      2023-10-24
      eclipse java Powered by 金山文档
    • 在MySQL中怎么插入数据
      要在MySQL中插入数据,可以使用INSERT INTO语句。以下是一个简单的示例: 假设有一个名为"users"...
      99+
      2024-04-09
      MySQL
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作