java如何对pdf文档进行合并操作呢?

书欣 Java经验 发布时间:2023-01-03 09:20:26 阅读数:11035 1
下文笔者讲述pdf文档合并的方法分享,如下所示

pdf文档合并的方法

实现思路:
    使用Apache PDFBox的方式合并pdf

Apache PDFBox简介

Apache PDFBox
    是一个开源Java库
    支持PDF文档的开发和转换
使用这个库
    我们可以进行创建、转换和操作 PDF 文档
使用PDFBox可将单个PDF文件分成多个文件
    也可将多个pdf文件合并成一个pdf文件,然后输出
例:
多个pdf合并为一个pdf文件的示例分享
1.导入相应的依赖

<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
<dependency>
  <groupId>org.apache.pdfbox</groupId>
  <artifactId>pdfbox</artifactId>
  <version>2.0.17</version>
</dependency>

2.转换工具类
import java.io.IOException;
import java.io.File;
import java.util.Arraylist;
import java.util.List;

import org.apache.pdfbox.io.MemoryUsageSetting;
import org.apache.pdfbox.multipdf.PDFMergerUtility;

public class PdfFileUtil {

    /**
     * pdf合并拼接
     * @param files 文件列表
     * @param targetPath 合并到
     * @return
     */
    public static File mulFileToOne(List<File> files,String targetPath) throws IOException{
        // pdf合并工具类
        PDFMergerUtility mergePdf = new PDFMergerUtility();
        for (File f : files) {
            if(f.exists() && f.isFile()){
                // 循环添加要合并的pdf
                mergePdf.addSource(f);
            }
        }
        // 设置合并生成pdf文件名称
        mergePdf.setDestinationFileName(targetPath);
        // 合并pdf
        mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
        //清空files
        files.clear();
        return new File(targetPath);
    }


//测试main方法
public static void main(String[] args) throws IOException {
    //创建文件集合
	List<File> files = new ArrayList<File>();
	//将需要合并的文件添加到集合中
	files.add(new File("D:\\test\\1.pdf"));
	files.add(new File("D:\\test\\2.pdf"));
	files.add(new File("D:\\test\\3.pdf"));
	//调用方法传入文件集合和目标文件地址
	File f = mulFileToOne(files, "D:\\test\\total.pdf");
}
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202301/16727095485267.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者