嗐,好久没有更新了,直接上代码吧!
以下是Java将多个PDF文件合并的示例代码,使用iText库实现:
package com.ssh;
import java.io.FileOutputStream;
import java.util.ArrayList;
import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfReader;
public class MergePDF {
public static void main(String[] args) {
String[] files = {
"F:\\开发文档\\2023项目汇总\\报销\\1.pdf",
"F:\\开发文档\\2023项目汇总\\报销\\2.pdf",
"F:\\开发文档\\2023项目汇总\\报销\\3.pdf",
"F:\\开发文档\\2023项目汇总\\报销\\4.pdf",
"F:\\开发文档\\2023项目汇总\\报销\\5.pdf"
}; // 待合并的PDF文件路径
String resultFileName = "F:\\开发文档\\2023项目汇总\\报销\\result.pdf"; // 合并后的PDF文件名及路径
try {
Document document = new Document();
FileOutputStream fos = new FileOutputStream(resultFileName);
PdfCopy copy = new PdfCopy(document, fos);
document.open();
ArrayList<PdfReader> readerList = new ArrayList<PdfReader>();
int totalPages = 0;
for (String file : files) {
PdfReader reader = new PdfReader(file);
readerList.add(reader);
totalPages += reader.getNumberOfPages();
}
for (PdfReader reader : readerList) {
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
copy.addPage(copy.getImportedPage(reader, i));
}
}
document.close();
System.out.println("成功合并" + files.length + "个PDF文件,共计" + totalPages + "页。");
} catch (Exception e) {
e.printStackTrace();
}
}
}
上述代码通过读取待合并的PDF文件,将它们的每一页内容逐一写入到新的PDF文件中,实现了多个PDF文件合并为一个文件的功能。需要注意的是,上述代码使用了iText库,在使用前需要将iText的jar包导入项目中。
itextpdf-5.1.2.jar https://www.aliyundrive.com/s/7dkgCSiZXc2 提取码: 4q5z 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
结果展示: