毕业材料整理的时候要合并pdf文档,把一些文档按页码拆分出来,我本来想用wps弄的,但是它要vip,就这?就vip?哼,身为一个计算机毕业的,这种小事与其再去网上找别的软件解决,不如自己代码解决。(其实也是用的人家写好的代码)

下载itextpdf.jar包

百度云链接:https://pan.baidu.com/s/1DJyi2HXEqTD2etqpHZFz_A
提取码:wrwx
其中包括两个jar包。

新建java项目

在eclipse中新建一个java项目,把包导入到项目中,具体步骤参考:Eclipse中导入jar包

详细代码

包括两部分,一部分是按照页码提取pdf,一部分是合并pdf。
splitPDF是抽取页面,包括四个参数:需要抽的原文件路径,抽取输出文件路径,抽取开始页码,抽取结束页码。
mergePdfFiles是合并页面,包括两个参数:需要合并的文件路径(可以有多个pdf文件),合并后输出文件的路径

package pdf;import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;import com.itextpdf.*;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfImportedPage;
import com.itextpdf.text.pdf.PdfReader;public class fenye {public static void main(String args[])  throws IOException, DocumentException{try {//抽取页面splitPDF("D:\\桌面\\翻译任务\\IEC-61158-2-2003.pdf", "D:\\桌面\\翻译任务\\output1.pdf", 231,243);splitPDF("D:\\桌面\\翻译任务\\IEC-61158-2-2003.pdf", "D:\\桌面\\翻译任务\\output2.pdf", 260,261);//合并页面String[] files = {"C:\\Users\\Administrator\\Desktop\\毕业设计.pdf", "C:\\Users\\Administrator\\Desktop\\毕业论文中期检查表.pdf"};String savepath = "C:\\Users\\Administrator\\Desktop\\K.pdf";mergePdfFiles(Arrays.asList(files), savepath);}catch(Exception e) {e.printStackTrace();}}/*** 合并原pdf为新文件** @param files   pdf绝对路径集* @param newfile 新pdf绝对路径* @return* @throws IOException* @throws DocumentException*/public static void mergePdfFiles(List<String> files, String newfile) throws IOException, DocumentException {Document document = new Document(new PdfReader(files.get(0)).getPageSize(1));PdfCopy copy = new PdfCopy(document, new FileOutputStream(newfile));document.open();for (int i = 0; i < files.size(); i++) {PdfReader reader = new PdfReader(files.get(i));int n = reader.getNumberOfPages();for (int j = 1; j <= n; j++) {document.newPage();PdfImportedPage page = copy.getImportedPage(reader, j);copy.addPage(page);}}document.close();}public static void splitPDF(String bytes, String newFile, int start, int end) {Document document = null;PdfCopy copy = null;try {PdfReader reader = new PdfReader(bytes);//获取pdf页数int n = reader.getNumberOfPages();if (end == 0) {end = n;}document = new Document(reader.getPageSize(1));copy = new PdfCopy(document, new FileOutputStream(newFile));document.open();for (int j = start; j <= end; j++) {document.newPage();PdfImportedPage page = copy.getImportedPage(reader, j);copy.addPage(page);}document.close();} catch (Exception e) {e.printStackTrace();System.err.println("split pdf file error:" + e.getMessage());}}}

参考:java端使用IText下载PDF

JAVA合并pdf,拆分pdf文档相关推荐

  1. C# 合并及拆分Word文档

    C# 合并及拆分Word文档 本文简要分析一下如何如何使用C#简单实现合并和拆分word文档.平时我们在处理多个word文档时,可能会想要将两个文档合并为一个,或者是将某个文档的一部分添加到另一个文档 ...

  2. 使用Java合并多个word文档

    此案例需要用到jacob   下载地址 https://download.csdn.net/download/panhaigang123/10599733 将解压好的jacob放入如下图中 impor ...

  3. java pdf合并_Java 合并、拆分PDF文档

    本文将介绍如何在Java程序中合并及拆分PDF文档,合并文档时,包括合并多个不同PDF文档为一个文档,以及合并PDF文档的不同页面为一页:拆分文档是,包括将PDF文档按每一页拆分,以及按指定页数范围来 ...

  4. [.NET开发] C# 合并、拆分PDF文档

    在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输.当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档.可以任意地对文档进行合并.拆分无疑为我们了提供极 ...

  5. json 文档拆分工具_如何把PDF多页文档拆为单页?快看高手私藏实用的技巧

    如何把PDF多页文档拆为单页?有时一份PDF文件页面过多,当我们只想提取部分页面内容时,就需要进行PDF拆分的操作.但很多小伙伴都不知道PDF如何拆分页面,想要拆分PDF文件,首先你得拥有一个PDF拆 ...

  6. java 将doc格式的文档转化为pdf格式(实现Word文件预览)

    doc格式的文档要实现预览功能,首先要将文档转化为pdf格式的文档 doc文档转pdf文档步骤 导入jar包 将aspose-words-jdk16-14.6.0.0.jar包导入项目中: 创建一个格 ...

  7. Java使用freemarker生成word文档并转pdf文档

    Java使用freemarker生成word文档后转pdf 先来看看效果图 进入正题 项目需求: 为订单后生成对应的pdf文档,文档内包含图片. 方案一:使用freemarker和itext把html ...

  8. Java使用jacob完成office文档pdf转换

    Java使用jacob完成office文档pdf转换 #简单介绍jacob jacob是java使用微软工具的一个工具 下载地址 http://sourceforge.net/projects/jac ...

  9. 纯java pdf转换成html,JAVA实现PDF转HTML文档的示例代码

    本文是基于PDF文档转PNG图片,然后进行图片拼接,拼接后的图片转为base64字符串,然后拼接html文档写入html文件实现PDF文档转HTML文档. 引入Maven依赖 org.apache.p ...

  10. pdf转换html java,使用JAVA怎么将PDF转换为HTML文档

    使用JAVA怎么将PDF转换为HTML文档 发布时间:2021-05-25 18:26:18 来源:亿速云 阅读:85 作者:Leah 使用JAVA怎么将PDF转换为HTML文档?针对这个问题,这篇文 ...

最新文章

  1. 企业×××远程接入的优劣分析
  2. linux学习总结之磁盘管理
  3. 【LINUX】Oracle数据库 linux磁盘头数据损坏修复
  4. 【图文详解】JAVA字面量和变量
  5. 论文学习18-Relation extraction and the influence of automatic named-entity recognition(联合实体关系抽取模型,2007)
  6. C++内存管理变革(3):另类内存管理
  7. VS2008无法识别的版本3.5
  8. JavaSE基础——异常、File文件类
  9. java 接口类型_Java-从接口类型而不是类声明
  10. java system.gc 作用_JVM源码分析之SystemGC完全解读
  11. 2020-04-09
  12. Mac SecureCRT 8.0.2破解版
  13. 【DDR3_Electrical Characteristics and AC Timing】_ Setup,Hold and Slew Rate Derating
  14. [生存志] 第21节 历代大事件概览 唐朝
  15. 人工智能和计算机程序有什么区别,人工智能和机器学习之间有什么区别?
  16. 两小时狂赚1000万!这一切怎么“成功”完成?
  17. [svn]log命令
  18. MindSpore Quantum 量子计算编程与实践:轻松上手量子卷积神经网络
  19. css属性选择器诸如Class^=,Class*= ,Class$=释义
  20. 高等数学(第七版)同济大学 习题8-6 个人解答

热门文章

  1. 由于应用程序配置不正确,未能启动该应用程序。请查看清单文件以查找可能的错误
  2. 狂神Javaweb笔记
  3. glutSwapBuffers()和glFlush()区别
  4. scale实现页面缩放自适应
  5. 对tensorflow.constant()的理解
  6. MVC 简介,MVC数据库
  7. 体系结构 | 五段流水线 | 流水线技术
  8. PHP登陆页面完整代码
  9. 店宝宝:是什么事情让各大巨头抢着做?
  10. spoj p104 Matrix-Tree定理