java对pdf文件分页拆分

文章目录

pdf文件拆分

  1. 导入依赖
xml 复制代码
<dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>2.0.32</version>
        </dependency>
java 复制代码
2. 大文件拆分
 public static boolean splitPdf() {
        try {
            long st = System.currentTimeMillis();
            log.info("文件拆分进度 start");
            File inputFile = new File("D:\\pdftest\\bigpdf.pdf"); // 输入的PDF文件路径
            PDDocument document = PDDocument.load(inputFile);
            int numberOfPages = document.getNumberOfPages();
            for (int i = 0; i < numberOfPages; i++) {
                log.info("文件拆分进度 " + (i + 1) + "/" + numberOfPages);
                PDDocument splitDocument = new PDDocument();
                PDPage page = document.getPage(i);
                splitDocument.addPage(page);
                String outputFilePath = "D:\\pdftest\\test\\output_" + (i + 1) + ".pdf"; // 输出文件的路径和名称
                splitDocument.save(outputFilePath);
                splitDocument.close();
            }
            document.close();
            log.info("文件拆分进度 end");
            long end = System.currentTimeMillis();
            log.info("拆分和检测总耗时:" + (end - st) + " ms");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }

指定分页大小

可以根据需要,决定将哪些分页放在一个文件里面。

相关推荐
蓝澈112124 分钟前
迪杰斯特拉算法之解决单源最短路径问题
java·数据结构
Kali_0732 分钟前
使用 Mathematical_Expression 从零开始实现数学题目的作答小游戏【可复制代码】
java·人工智能·免费
rzl0243 分钟前
java web5(黑马)
java·开发语言·前端
时序数据说1 小时前
为什么时序数据库IoTDB选择Java作为开发语言
java·大数据·开发语言·数据库·物联网·时序数据库·iotdb
jingling5551 小时前
面试版-前端开发核心知识
开发语言·前端·javascript·vue.js·面试·前端框架
guojl1 小时前
深度解读jdk8 HashMap设计与源码
java
guojl1 小时前
深度解读jdk8 ConcurrentHashMap设计与源码
java
m0_687399841 小时前
写一个Ununtu C++ 程序,调用ffmpeg API, 来判断一个数字电影的视频文件mxf 是不是Jpeg2000?
开发语言·c++·ffmpeg
爱上语文1 小时前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端
A~taoker2 小时前
taoker的项目维护(ng服务器)
java·开发语言