今天女朋友要我帮她把两个PDF合并成一个,当时太忙没来得及弄,却被打印店老板抢了风头,越想越气。想来我怎么也是个java小菜鸡,这么强大的Java生态肯定有操作PDF的。于是立马百度大法作此文章!

1.引入依赖

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.4.3</version>
</dependency>

2.书写工具类

package pdf;
import java.io.FileOutputStream;
import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfImportedPage;
import com.itextpdf.text.pdf.PdfReader;/*** @author 结构化思维wz*/public class PDF {public static void main(String[] args) {String[] files = {  "D:\\OneDrive\\桌面\\Java实习_王泽_22届.pdf", "D:\\OneDrive\\桌面\\Java后端_王泽_22届.pdf"};String savePath = "D:\\OneDrive\\桌面\\test.pdf";Boolean bool = mergePdfFiles(files, savePath);if (bool){System.out.println("合并成功,新pdf路径为:"+savePath);}else {System.out.println("合并失败,请检查路径");}}/** 合并pdf文件* @param files 要合并文件数组(绝对路径如{ "e:\\1.pdf", "e:\\2.pdf" ,* "e:\\3.pdf"}),合并的顺序按照数组中的先后顺序,如2.pdf合并在1.pdf后。* @param newfile 合并后新产生的文件绝对路径,如 e:\\temp\\tempNew.pdf,* @return boolean 合并成功返回true;否则,返回false**/public static boolean mergePdfFiles(String[] files, String newFile) {boolean retValue = false;Document document = null;try {document = new Document(new PdfReader(files[0]).getPageSize(1));PdfCopy copy = new PdfCopy(document, new FileOutputStream(newFile));document.open();for (String file : files) {PdfReader reader = new PdfReader(file);int n = reader.getNumberOfPages();for (int j = 1; j <= n; j++) {document.newPage();PdfImportedPage page = copy.getImportedPage(reader, j);copy.addPage(page);}}retValue = true;} catch (Exception e) {System.out.println(e);} finally {System.out.println("执行结束");document.close();}return retValue;}
}

3.测试


结束语:人民有信仰国家有力量,老子有对象!

速学 | 如何帮女朋友用Java合并两个PDF相关推荐

  1. java 合并两个列表_如何在Java中合并两个列表?

    java 合并两个列表 Merging two lists in Java is often a useful operation. These lists can be ArrayLists or ...

  2. java using用法_如何使用java合并两个PPT。(How to merge two PPTs using java.)

    如何使用java合并两个PPT.(How to merge two PPTs using java.) 问题描述 (Problem Description) 如何使用java合并两个PPT. 解决方案 ...

  3. Java 使用iText7生成带页码的PDF文件(同时生成目录,但是不会合并两个PDF)

    一.效果图 1.带页码效果 2.目录效果 前言:Java 使用iText7生成带页码的PDF文件,同时生成目录PDF,但限于水平,暂时还在摸索合并两个PDF.不过看了一下,iText好像有生成目录的代 ...

  4. java:合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。

    合并两个排序的整数数组A和B变成一个新的数组.新数组也要有序. 样例 1:输入: A=[1], B=[1]输出:[1,1]样例解释: 返回合并后的数组.样例 2:输入: A=[1,2,3,4], B= ...

  5. java 合并两个List并去掉重复项

    工作中很多时候需要用到合并两个List并去除其中的重复内容. java8之前 在java8之前比较常规的做法是将两个List添加到一个Set中,因为Set的内容不可重复,所以会自动去重,然后再由Set ...

  6. java合并两个set_Java中合并两个集合的方法

    要在JAVA中合并两个集合,代码如下所示的− 示例import java.util.stream.*; import java.util.*; import java.io.*; public cla ...

  7. java合并两个有序链表_JS实现的合并两个有序链表算法示例

    本文实例讲述了JS实现的合并两个有序链表算法.分享给大家供大家参考,具体如下: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1-> ...

  8. Java合并两个List并去掉重复项的几种做法

    一.前言 工作中很多时候需要用到合并两个List并去除其中的重复内容,这是一个很简单的操作,实现的方法也多种多样,请继续往下看 二.使用stream方式进行去重(需要jdk1.8及以上) String ...

  9. 合并两个xml文件 php_怎样合并两个pdf文件

    Pdf文件我们常常在办公中用到,有很多朋友在网上手机资料后不知道怎么把它加入到pdf文件中,有些朋友可能会想到复制粘贴,可是pdf文件是不能够直接进行编辑的,那么应该怎么才能把pdf文件合并在一起呢? ...

  10. java速学_5分钟快速入门Java,不看真的可惜了

    你好,世界! 源代码组织方式 Java程序由package+class组成,package对应目录的相对路径,class对应文件,如 关于class有如下几点规则: 文件的名字必须和class的名字一 ...

最新文章

  1. C# Lambda表达式
  2. ICLR 2020将采用远程会议,首次在非洲办会可能就这样泡汤了
  3. mahout demo——本质上是基于Hadoop的分步式算法实现,比如多节点的数据合并,数据排序,网路通信的效率,节点宕机重算,数据分步式存储...
  4. 【入门】WebRTC知识点概览 | 内有技术干货免费下载
  5. 测试连接oracle数据库耗时
  6. java应用程序利用Exe4j打包exe文件
  7. python 共享内存_37. Python 多进程锁 多进程共享内存
  8. 区别js中的3/2(结果1.5))与 java 中的 2/3(结果:0)
  9. matlab关于向量的基本操作
  10. 常微分方程的解析解(方法归纳)以及基于Python的二阶微分方程边值问题的数值算例实现
  11. erp系统服务器维护,ERP系统维护服务器维护管理文档模板.doc
  12. 圣经经文搜索定位功能的考虑
  13. 又见猛犸象:基因剪刀重新定制生命
  14. Hanselminutes Podcast 244-Benjamin van der Veen的Kayak,OWIN,开源Web服务器等
  15. 北斗垂莽苍 开闭天门路(上)
  16. 用计算机怎么打出箭头,怎么打出箭头
  17. 银行都是用什么技术做超级App
  18. Android 判断是否安装应用宝,并跳到应用中去
  19. ValueError:too many values to unpacked(expect2)
  20. 【成为架构师课程系列】消息队列:秒杀时如何处理每秒上万次的下单请求?

热门文章

  1. led伏安特性实验误差分析_为什么非线性电阻元件伏安特性曲线的误差分析?
  2. 计算机大作业的范本,计算机应用基础大作业.doc
  3. 联想服务器硬盘启动设置方法,教你联想台式机bios设定硬盘启动方法
  4. 浏览器h5拉起app 微信拉起app wx-launch-open-app
  5. 基于LSTM的沪深股票价格预测
  6. 关于AI的目标导向型行动计划
  7. machine learning measurements
  8. 更新WP Mango应用磁贴内容的3种方法
  9. hⅰgh怎么读音发音英语_英语读音
  10. PTA 发布关于巴基斯坦境内允许的频段和输出功率限制新规