如何使用Java对pdf文档进行操作?

Apache PDFBox

Apache PDFBox是一个开源 Java 库,支持 PDF 文档的开发和转换。使用这个库,您可以开发创建、转换和操作 PDF 文档的 Java 程序。
Split & Merge :使用 PDFBox,您可以将单个 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("E:\\fsdownloadtempFile\\1.pdf"));
        files.add(new File("E:\\fsdownloadtempFile\\2.pdf"));
        files.add(new File("E:\\fsdownloadtempFile\\3.pdf"));
        //调用方法传入文件集合和目标文件地址
        File f = mulFileToOne(files, "E:\\fsdownload\\total.pdf");
    }
}

pdfbox里面还有各种对pdf文档的操作支持。如文字提取,文字修改等。有兴趣的可以去了解一下

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值