Java 合并、拆分PDF文档

处理PDF文档时,我们可以通过合并的方式,来任意组几个不同的PDF文件或者通过拆分将一个文件分解成多个子文件,这样的好处是对文档的存储、管理很方便。下面将通过Java程序代码介绍具体的PDF合并、拆分的方法。
工具Free Spire.PDF for Java 2.0.0 (免费版)
注:2.0.0版本的比之前的1.0.0版本在功能上做了很大提升,支持所有收费版的功能,只是在文档页数上有一定限制,要求不超过10页,但是对于常规的不是很大的文件,这个类库就非常实用。

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

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

【示例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();
    }
}

合并前:
合并后:

【示例2】拆分PDF文档
测试文档:

  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();
}

}

拆分结果:
![](http://i2.51cto.com/images/blog/201812/18/343091cab6e727033c85544fe64fe975.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
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");
}

}


拆分结果:
![](http://i2.51cto.com/images/blog/201812/18/27bcee7a5d859f713373b16d1f9e2410.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(本文完)

原文地址:http://blog.51cto.com/eiceblue/2331914

时间: 2024-12-11 08:18:01

Java 合并、拆分PDF文档的相关文章

利用Java动态生成 PDF 文档

利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那么目前最佳的解决方案,你可能会想到 iText ,对没错... iText+(Velocity / Freemarker)可以实现.不过据我熟悉,iText本身提供的HTML解析器还是不够强大,许多HTML标签和属性无法识别,更悲催的是简单的CSS它不认识,排版调整样式会让你头大的.不要失望,接下来

PDF办公技巧:怎么拆分PDF文档

怎么拆分PDF文档呢?我们想要将一个PDF文档拆分成多个PDF文档需要怎么操作呢?想要拆分PDF文档需要使用到专业的PDF编辑器来进行操作,下面小编就为大家操作一下拆分PDF文档的方法步骤.操作软件:迅捷PDF编辑器具体操作方法如下:1:首先将迅捷PDF编辑器安装到自己电脑中.双击打开PDF编辑器,将需要拆分的PDF文件添加到软件中.2:在软件的顶部找到文档,点击文档在下面可以找到拆分文档,点击拆分文档在软件中会出现一个选择框.3:在软件的选择框中可以设置拆分的方式,拆分方式可以是根据顶层书签拆

怎么拆分PDF格式电子文档,拆分PDF文档需要使用什么软件!

PDF格式虽说很受大众用户的喜爱,但是因为这种文件比较特殊的原因,所以我们在使用这种文件的时候需要借助到专业的编辑软件,今天我们就一起来学习一下怎么将PDF格式文件进行拆分吧! 1.打开百度,搜索软件关键词"迅捷PDF编辑器",在搜索结果中找到对应的软件后,下载并安装到电脑中准备使用. 2.打开软件,在左上角文件处点击"打开".我们将需要进行编辑拆分的pdf文件添加到软件中. 3.想要编辑pdf文件的话,可以点击"编辑内容",单击文本出现蓝色的编

PDF365新功能上线,PDF文档合并,拆分免费不用就亏了

还在为PDF文档合并而烦扰吗? 还在为PDF文档拆分而烦扰吗? 还在为PDF文档旋转而烦扰吗? PDF365来帮你,PDF365是PDF文档在线处理平台,支持PDF文档转换,PDF文档处理服务,无需安装,遇到文档转换格式问题,只要打开pdf365.cn这个网站即可解决. 近期PDF365推出了新功能:PDF合并,PDF拆分,PDF旋转,这3个功能均免费,让您工作效率和质量得到更好的提升与便捷! 文档处理步骤简单,极易上手,我们以PDF合并为例教大家如何使用 在浏览器直接输入:PDF365.cn,

懒人办公|30秒搞定PDF文档合并

在日常办公学习中,经常遇到多个PDF文件的情况,一个个点击查看非常麻烦,而且发邮件给客户也不方便,需要添加多个附件,那么问题如何解决呢?其实很简单,仅需将多个PDF合并成一个PDF文档即可,接下来和小编一起学习一下PDF合并技巧吧. 1. PDF365--在线PDF合并 在浏览器直接输入:PDF365.cn,或者百度搜索"PDF365"进入网站: 选择"PDF合并"功能,进入PDF合并页面. 直接拖拽需要合并的PDF文档,或者点击"选择文件"按钮

Java iText使用PDF模板生成PDF文档

我们系统需要生成一个可以打印的PDF文档,老板给了我一个Word文档,按照这个Word文档的格式生成PDF文档. 第一步:下载AdobeAcrobat DC,必须使用这个来制作from域. 第二步:使用AdobeAcrobat DC将Word导成PDF文档. 第三步:由于还要加水印的效果,所以还是使用AdobeAcrobat DC来添加水印,非常方便: 添加水印的方法:使用AdobeAcrobat DC打开PDF文档,"工具"->"编辑PDF"->&qu

PDF文档怎样在线合并?

我们可以将几个PDF文件进行在线合并,PDF文档怎样在线合并?我们是怎么进行在线合并PDF文件的呢?下面简单的给大家介绍一下.1. PDF在线合并的方法很简单,首先我们需要进入到迅捷PDF在线转换网站中:2. 之后可以进行点击文档处理,然后进入到PDF合并中:3. 进入之后就可以进行文件的选择,我们可以选择将文件拖拽上传也可以选择点击选择文件:4. 可以提前将文件准备好,准备好之后选中文件进行打开:5. 打开之后就可以看到按页面合并还是按文件合并的,选择好之后就可以点击开始合并:6. 合并是需要

Java 在PDF文档中绘制图形

本篇文档将介绍通过Java编程在PDF文档中绘制图形的方法.包括绘制矩形.椭圆形.不规则多边形.线条.弧线.曲线.扇形等等.针对方法中提供的思路,也可以自行变换图形设计思路,如菱形.梯形或者组合图形等. 使用工具:Free Spire.PDF for Java(免费版) Jar文件导入: 步骤1:将安装包中lib文件夹下的两个文件复制到程序中新建的文件夹中(这里在程序中可新建一个文件夹并命名为Lib) 步骤2:复制文件后,将两个添加引用到程序:选中这两个jar文件,点击鼠标右键,选择"Build

PDF文档的拆分方法,这个方法你了解吗?

PDF文档的拆分方法你知道吗?现在PDF文档使用的较多,但是对于怎么拆分PDF文档还是不清楚,其实想要拆分PDF文档就可以使用迅捷PDF编辑器来进行操作,下面小编就为大家操作一下PDF文档的拆分方法. 操作使用工具:迅捷PDF编辑器 具体操作方法如下: 1:首先我们将PDF编辑器安装到自己的电脑中,打开软件找到打开更多文件,将需要拆分的PDF文件添加到软件中. 2:在软件的顶部可以找到文档,点击文档就会在下面看到拆分文档,点击拆分文档,在软件的界面就会出现一个弹窗. 3:在弹窗中可以找到拆分方式