速学 | 如何帮女朋友用Java合并两个PDF
今天女朋友要我帮她把两个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相关推荐
- java 合并两个列表_如何在Java中合并两个列表?
java 合并两个列表 Merging two lists in Java is often a useful operation. These lists can be ArrayLists or ...
- java using用法_如何使用java合并两个PPT。(How to merge two PPTs using java.)
如何使用java合并两个PPT.(How to merge two PPTs using java.) 问题描述 (Problem Description) 如何使用java合并两个PPT. 解决方案 ...
- Java 使用iText7生成带页码的PDF文件(同时生成目录,但是不会合并两个PDF)
一.效果图 1.带页码效果 2.目录效果 前言:Java 使用iText7生成带页码的PDF文件,同时生成目录PDF,但限于水平,暂时还在摸索合并两个PDF.不过看了一下,iText好像有生成目录的代 ...
- java:合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。
合并两个排序的整数数组A和B变成一个新的数组.新数组也要有序. 样例 1:输入: A=[1], B=[1]输出:[1,1]样例解释: 返回合并后的数组.样例 2:输入: A=[1,2,3,4], B= ...
- java 合并两个List并去掉重复项
工作中很多时候需要用到合并两个List并去除其中的重复内容. java8之前 在java8之前比较常规的做法是将两个List添加到一个Set中,因为Set的内容不可重复,所以会自动去重,然后再由Set ...
- java合并两个set_Java中合并两个集合的方法
要在JAVA中合并两个集合,代码如下所示的− 示例import java.util.stream.*; import java.util.*; import java.io.*; public cla ...
- java合并两个有序链表_JS实现的合并两个有序链表算法示例
本文实例讲述了JS实现的合并两个有序链表算法.分享给大家供大家参考,具体如下: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1-> ...
- Java合并两个List并去掉重复项的几种做法
一.前言 工作中很多时候需要用到合并两个List并去除其中的重复内容,这是一个很简单的操作,实现的方法也多种多样,请继续往下看 二.使用stream方式进行去重(需要jdk1.8及以上) String ...
- 合并两个xml文件 php_怎样合并两个pdf文件
Pdf文件我们常常在办公中用到,有很多朋友在网上手机资料后不知道怎么把它加入到pdf文件中,有些朋友可能会想到复制粘贴,可是pdf文件是不能够直接进行编辑的,那么应该怎么才能把pdf文件合并在一起呢? ...
- java速学_5分钟快速入门Java,不看真的可惜了
你好,世界! 源代码组织方式 Java程序由package+class组成,package对应目录的相对路径,class对应文件,如 关于class有如下几点规则: 文件的名字必须和class的名字一 ...
最新文章
- C# Lambda表达式
- ICLR 2020将采用远程会议,首次在非洲办会可能就这样泡汤了
- mahout demo——本质上是基于Hadoop的分步式算法实现,比如多节点的数据合并,数据排序,网路通信的效率,节点宕机重算,数据分步式存储...
- 【入门】WebRTC知识点概览 | 内有技术干货免费下载
- 测试连接oracle数据库耗时
- java应用程序利用Exe4j打包exe文件
- python 共享内存_37. Python 多进程锁 多进程共享内存
- 区别js中的3/2(结果1.5))与 java 中的 2/3(结果:0)
- matlab关于向量的基本操作
- 常微分方程的解析解(方法归纳)以及基于Python的二阶微分方程边值问题的数值算例实现
- erp系统服务器维护,ERP系统维护服务器维护管理文档模板.doc
- 圣经经文搜索定位功能的考虑
- 又见猛犸象:基因剪刀重新定制生命
- Hanselminutes Podcast 244-Benjamin van der Veen的Kayak,OWIN,开源Web服务器等
- 北斗垂莽苍 开闭天门路(上)
- 用计算机怎么打出箭头,怎么打出箭头
- 银行都是用什么技术做超级App
- Android 判断是否安装应用宝,并跳到应用中去
- ValueError:too many values to unpacked(expect2)
- 【成为架构师课程系列】消息队列:秒杀时如何处理每秒上万次的下单请求?