Java 合并、拆分PDF文档

处理PDF文档时,我们可以通过合并的方式,来任意组几个不同的PDF文件或者通过拆分将一个文件分解成多个子文件,这样的好处是对文档的存储、管理很方便。下面将通过Java程序代码介绍具体的PDF合并、拆分的方法。

工具

  • Free Spire.PDF for Java(免费版)

:2.0.0版本的比之前的1.1.0版本在功能上做了很大提升,支持所有收费版的功能,对于通过Java编程来处理PDF文档非常实用。

jar文件导入:

步骤 1:在Java程序中新建一个文件夹可命名为Lib。下载安装包后,解压,将解压后的文件夹下的子文件夹lib中的Spire.Pdf.jar和Spire.Common.jar两个文件复制到新建的文件夹下,如下图:

[图片上传失败...(image-812ad3-1650451157568)]

步骤2:**建好文件夹后,引用两个文件:选中这两个jar文件,点击鼠标右键,选择“Build Path” – “Add to Build Path”。

[图片上传失败...(image-1f0087-1650451157568)]

【示例1】合并PDF文档

import com.spire.pdf.*; import java.io.*; public class Merge2 { public static void main(String[] args) throws Exception {

        String outputFile = "output/mergeFilesByStream.pdf";
        FileInputStream stream1 = new FileInputStream(new File("sample1.pdf"));
        FileInputStream stream2 = new FileInputStream(new File("sample2.pdf"));
        FileInputStream stream3 = new FileInputStream(new File("sample3.pdf")); //加载PDF示例文档
        InputStream[] streams = new FileInputStream[]{stream1, stream2, stream3}; //合并PDF文档
        PdfDocumentBase doc = PdfDocument.mergeFiles(streams); //保存文档
 doc.save(outputFile);
        doc.close();
    }
}

合并前:

**[图片上传失败...(image-7ee202-1650451157564)]**

合并后:

**[图片上传失败...(image-f4fa43-1650451157564)]**

【示例2】拆分PDF文档**

这里分2种情况来进行。

测试文档:

[图片上传失败...(image-9c589e-1650451157567)]

1. 按每一页单独拆分

import com.spire.pdf.*; public class SplitPDF1 { public static void main(String[] args)
    { //加载需要拆分的PDF文档
    PdfDocument doc = new PdfDocument();
    doc.loadFromFile("test.pdf"); //调用方法split()将PDF文档按每一页拆分为单独的文档
    doc.split("output/splitDocument-{0}.pdf", 0);
    doc.close();
    }
}

拆分结果:

**[图片上传失败...(image-de495d-1650451157564)]**

2. 按指定页数范围拆分

import com.spire.pdf.*; import com.spire.pdf.graphics.PdfMargins; import java.awt.geom.Point2D; public class SplitPDF2 { public static void main(String[] args)
    { //加载需要拆分的PDF文档
        PdfDocument doc = new PdfDocument();
        doc.loadFromFile("test.pdf"); //新建第1个PDF文档1
        PdfDocument newpdf1 = new PdfDocument();
        PdfPageBase page; //将原PDF文档的第1、2页拆分,并保存到newpdf1
        for(int i = 0;i<2;i++)
        {
            page = newpdf1.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));
            doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));
        }
        newpdf1.saveToFile("split/result1.pdf"); //新建第2个PDF文档
        PdfDocument newpdf2 = new PdfDocument(); //将原PDF文档的第3、4页拆分,并保存到newpdf2
        for(int i = 2;i<4;i++)
        {
            page = newpdf2.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));
            doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));
        }
        newpdf2.saveToFile("split/result2.pdf");
    }
}

拆分结果:

**[图片上传失败...(image-94da20-1650451157561)]**

在此我向大家推荐一个架构学习交流圈。交流学习微信:539413949(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java Spire.PDF 是一款功能强大的 Java PDF 操作工具包,它可以帮助开发者对 PDF 文档进行读取、创建、编辑、转换等操作。与其他一些 PDF 库不同的是,Java Spire.PDF 没有任何使用限制,无论是开发者个人使用还是商业使用都是完全免费的。 Java Spire.PDF 支持 PDF 文档的各种操作,包括添加文本、插入图片、合并拆分 PDF 文档等等。同时,它还可以进行 PDF 的安全设置,包括密码保护、数字签名等功能。此外,Java Spire.PDF 还支持多种输出格式的转换,如将 PDF 转换为 Word、Excel、HTML 等格式。 值得一提的是,Java Spire.PDF 还提供了非常详尽的文档和示例,这些资源可以帮助开发者更加深入地理解和使用 Java Spire.PDF。同时,Java Spire.PDF 的官方支持也非常及时有效,开发者在使用过程中遇到问题可以及时得到帮助和解决。 总之,Java Spire.PDF 是一款非常实用和优秀的 Java PDF 操作工具包,它的无限制使用让开发者可以更加灵活地对 PDF 进行操作,也许它正是你所需要的工具。 ### 回答2: Java Spire.PDF是一种功能强大的Java库,它支持PDF文档的创建、编辑和转换等操作。与其他PDF库相比,Java Spire.PDF不仅具有易用性和性能优势,而且可以免费使用,没有任何限制。 使用Java Spire.PDF,您可以轻松地创建PDF文档并设置各种元素,如文本、图像、表格和图表等。同时,您还可以对PDF文档进行编辑操作,如添加、删除、替换和重排页等。此外,Java Spire.PDF还支持将PDF文档转换为其他格式,如Word文档、图片和HTML等。 与一些商业PDF库相比,Java Spire.PDF的无限制使用使得它成为Java开发者的首选库之一。使用Java Spire.PDF,您可以在项目中轻松集成PDF的功能,使得您的应用程序更加完善和实用。无论是开发企业级文档管理系统,还是为客户定制高质量的报告或合同,Java Spire.PDF都可以帮助您轻松实现这些功能。 ### 回答3: Java Spire.PDF一个强大的Java PDF文档编程库,它可以帮助开发者轻松创建、阅读、修改、转换和打印PDF文档。相比其他PDF工具,Java Spire.PDF无限制地提供了许多功能和特性,使得开发者可以更加自由地使用和操作PDF文件。 Java Spire.PDF无限制是指它不仅支持处理常规的PDF文档,还可以识别和处理更加复杂的PDF文档,例如被密码保护、数字签名或加密的PDF文档。此外,Java Spire.PDF还可以添加和编辑PDF文档的书签、注释和水印等元素,方便用户对PDF文档进行分类和标记。 Java Spire.PDF还支持多种文档转换格式,比如将PDF文档转换为其他格式的文档,如Word、Excel等,以方便用户更好地编辑和使用。此外,Java Spire.PDF还提供了丰富的API文档和示例代码,使得开发者可以快速上手并轻松实现自己的需求。 总之,Java Spire.PDF是一款功能强大的PDF编程库,为开发者无限制地提供了许多功能和特性,使得开发者可以更加便捷地创建、阅读、修改、转换和打印PDF文档

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值