pdf多文件合并

【第三方工具】点我传送https://www.ilovepdf.com/

【java功能实现】

导入jar包

javascript 复制代码
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.13.4</version>
        </dependency>

代码

javascript 复制代码
package com.czh.pdf_spring;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfReader;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.*;

@SpringBootTest
class PdfSpringApplicationTests {
    /**
     * 指定文件夹
     * @throws FileNotFoundException
     */
    @Test
    void test() throws IOException, DocumentException {
        //pdf文件夹
        String path = "D:/pdf";
        //绝对路径
        String outputPdf = "D:/test_pdf.pdf";
        //获取文件夹下的所有文件
        File[] files = new File(path).listFiles();
        if(files != null){
            //创建文档
            Document document = new Document();
            //文档名称
            PdfCopy copy = new PdfCopy(document, new FileOutputStream(outputPdf));
            //打开文档
            document.open();
            //写入类容
            for (File file : files) {
                //创建输入流
                FileInputStream inputStream = new FileInputStream(file);
                PdfReader reader = new PdfReader(inputStream);
                    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
                        document.newPage();
                        copy.addPage(copy.getImportedPage(reader, i));
                    }
                reader.close();
                inputStream.close();
            }
            //关闭文档
            document.close();
        }
        System.out.println("pdf file successfully!");
    }
}

由于朋友工作需要,所以帮了下忙,链接作者是指定的文件名,朋友的pdf文件巨多,不方便,所以改成了指定文件夹的方式,

参考链接:https://blog.csdn.net/yuchenff/article/details/143170405

相关推荐
熊大如如2 小时前
Java 反射
java·开发语言
猿来入此小猿2 小时前
基于SSM实现的健身房系统功能实现十六
java·毕业设计·ssm·毕业源码·免费学习·猿来入此·健身平台
goTsHgo3 小时前
Spring Boot 自动装配原理详解
java·spring boot
卑微的Coder3 小时前
JMeter同步定时器 模拟多用户并发访问场景
java·jmeter·压力测试
pjx9873 小时前
微服务的“导航系统”:使用Spring Cloud Eureka实现服务注册与发现
java·spring cloud·微服务·eureka
多多*4 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
爱喝酸奶的桃酥4 小时前
MYSQL数据库集群高可用和数据监控平台
java·数据库·mysql
唐僧洗头爱飘柔95274 小时前
【SSM-SSM整合】将Spring、SpringMVC、Mybatis三者进行整合;本文阐述了几个核心原理知识点,附带对应的源码以及描述解析
java·spring·mybatis·springmvc·动态代理·ioc容器·视图控制器
骑牛小道士4 小时前
Java基础 集合框架 Collection接口和抽象类AbstractCollection
java
alden_ygq5 小时前
当java进程内存使用超过jvm设置大小会发生什么?
java·开发语言·jvm